Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   ff 35 74 9a 42 00 ?? push dword ds:[0x00429a74]
   e8 a5 a1 ff ff ?? call function 0x004033f0
  
  L2: 8b f8 ?? mov edi, eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   33 f6 ?? xor esi, esi
   59 ?? pop ecx
   3b c6 ?? cmp eax, esi
   75 1e ?? jne basic block L6
  
  L3: e8 48 bc ff ff ?? call function 0x00404ea4
  
  L4: 6a 16 ?? push 0x16<22>
   5f ?? pop edi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   89 38 ?? mov dword ds:[eax], edi
   e8 0a f9 ff ff ?? call function 0x00408b75
  
  L5: 83 c4 14 ?? add esp, 0x14<20>
   8b c7 ?? mov eax, edi
   e9 c7 00 00 00 ?? jmp basic block L33
  
  L6: 53 ?? push ebx
   89 30 ?? mov dword ds:[eax], esi
   3b fe ?? cmp edi, esi
   0f 85 9a 00 00 00 ?? jne basic block L26
  
  L7: 68 28 43 42 00 ?? push 0x00424328<"ADVAPI32.DLL">
   ff 15 94 a2 42 00 ?? call dword ds:[0x0042a294]
  
  L8: 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   3b c6 ?? cmp eax, esi
   75 1e ?? jne basic block L12
  
  L9: e8 0d bc ff ff ?? call function 0x00404ea4
  
  L10: 6a 16 ?? push 0x16<22>
   5f ?? pop edi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   89 38 ?? mov dword ds:[eax], edi
   e8 cf f8 ff ff ?? call function 0x00408b75
  
  L11: 83 c4 14 ?? add esp, 0x14<20>
   8b c7 ?? mov eax, edi
   e9 8b 00 00 00 ?? jmp basic block L32
  
  L12: 68 14 43 42 00 ?? push 0x00424314<"SystemFunction036">
   50 ?? push eax
   ff 15 d0 a1 42 00 ?? call dword ds:[0x0042a1d0]
  
  L13: 8b f8 ?? mov edi, eax
   3b fe ?? cmp edi, esi
   75 2f ?? jne basic block L21
  
  L14: e8 dd bb ff ff ?? call function 0x00404ea4
  
  L15: 8b 3d bc a1 42 00 ?? mov edi, dword ds:[0x0042a1bc]
   8b d8 ?? mov ebx, eax
   ff d7 ?? call edi
  
  L16: 50 ?? push eax
   e8 8b bb ff ff ?? call function 0x00404e62
  
  L17: 56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   89 03 ?? mov dword ds:[ebx], eax
   e8 92 f8 ff ff ?? call function 0x00408b75
  
  L18: 83 c4 18 ?? add esp, 0x18<24>
   ff d7 ?? call edi
  
  L19: 50 ?? push eax
   e8 74 bb ff ff ?? call function 0x00404e62
  
  L20: 59 ?? pop ecx
   eb 4a ?? jmp basic block L32
  
  L21: 57 ?? push edi
   e8 7e a0 ff ff ?? call function 0x00403375
  
  L22: 59 ?? pop ecx
   8b f0 ?? mov esi, eax
   e8 e8 a0 ff ff ?? call function 0x004033e7
  
  L23: 56 ?? push esi
   68 74 9a 42 00 ?? push 0x00429a74
   8b d8 ?? mov ebx, eax
   ff 15 90 a2 42 00 ?? call dword ds:[0x0042a290]
  
  L24: 3b c3 ?? cmp eax, ebx
   74 09 ?? je basic block L26
  
  L25: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   ff 15 8c a2 42 00 ?? call dword ds:[0x0042a28c]
  
  L26: 6a 04 ?? push 4
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff d7 ?? call edi
  
  L27: 85 c0 ?? test eax, eax
   75 14 ?? jne basic block L31
  
  L28: e8 7a bb ff ff ?? call function 0x00404ea4
  
  L29: c7 00 0c 00 00 00 ?? mov dword ds:[eax], 12
   e8 6f bb ff ff ?? call function 0x00404ea4
  
  L30: 8b 00 ?? mov eax, dword ds:[eax]
   eb 02 ?? jmp basic block L32
  
  L31: 33 c0 ?? xor eax, eax
  
  L32: 5b ?? pop ebx
  
  L33: 5f ?? pop edi
   5e ?? pop esi
   c9 ?? leave
   c3 ?? ret
  
  