Disassembly: 
  L1: 6a 0c ?? push 12
   68 40 27 44 00 ?? push 0x00442740
   e8 61 40 00 00 ?? call function 0x00413ab0
  
  L2: be 68 dd 43 00 ?? mov esi, 0x0043dd68<"KERNEL32.DLL">
   56 ?? push esi
   ff 15 58 92 44 00 ?? call dword ds:[0x00449258]
  
  L3: 85 c0 ?? test eax, eax
   75 07 ?? jne basic block L6
  
  L4: 56 ?? push esi
   e8 c5 30 00 00 ?? call function 0x00412b2a
  
  L5: 59 ?? pop ecx
  
  L6: 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   c7 46 5c 78 e4 43 00 ?? mov dword ds:[esi + 0x5c<92>], 0x0043e478
   33 ff ?? xor edi, edi
   47 ?? inc edi
   89 7e 14 ?? mov dword ds:[esi + 0x14<20>], edi
   85 c0 ?? test eax, eax
   74 24 ?? je basic block L10
  
  L7: 68 58 dd 43 00 ?? push 0x0043dd58<"EncodePointer">
   50 ?? push eax
   8b 1d 5c 92 44 00 ?? mov ebx, dword ds:[0x0044925c]
   ff d3 ?? call ebx
  
  L8: 89 86 f8 01 00 00 ?? mov dword ds:[esi + 0x000001f8<504>], eax
   68 84 dd 43 00 ?? push 0x0043dd84<"DecodePointer">
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   ff d3 ?? call ebx
  
  L9: 89 86 fc 01 00 00 ?? mov dword ds:[esi + 0x000001fc<508>], eax
  
  L10: 89 7e 70 ?? mov dword ds:[esi + 0x70<112>], edi
   c6 86 c8 00 00 00 43 ?? mov byte ds:[esi + 0x000000c8<200>], 0x43<67>
   c6 86 4b 01 00 00 43 ?? mov byte ds:[esi + 0x0000014b<331>], 0x43<67>
   c7 46 68 80 4d 44 00 ?? mov dword ds:[esi + 0x68<104>], 0x00444d80
   6a 0d ?? push 13
   e8 36 44 00 00 ?? call function 0x00413ef6
  
  L11: 59 ?? pop ecx
   83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   ff 76 68 ?? push dword ds:[esi + 0x68<104>]
   ff 15 f8 91 44 00 ?? call dword ds:[0x004491f8]
  
  L12: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 3e 00 00 00 ?? call function 0x0040fb18
  
  L13: 6a 0c ?? push 12
   e8 15 44 00 00 ?? call function 0x00413ef6
  
  L14: 59 ?? pop ecx
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   89 46 6c ?? mov dword ds:[esi + 0x6c<108>], eax
   85 c0 ?? test eax, eax
   75 08 ?? jne basic block L16
  
  L15: a1 68 4a 44 00 ?? mov eax, dword ds:[0x00444a68]
   89 46 6c ?? mov dword ds:[esi + 0x6c<108>], eax
  
  L16: ff 76 6c ?? push dword ds:[esi + 0x6c<108>]
   e8 02 d4 ff ff ?? call function 0x0040cf01
  
  L17: 59 ?? pop ecx
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 15 00 00 00 ?? call function 0x0040fb21
  
  L18: e8 e4 3f 00 00 ?? call function 0x00413af5
  
  L19: c3 ?? ret
  
  