Disassembly: 
  L1: 8b ff ?? mov edi, edi
   56 ?? push esi
   57 ?? push edi
   be 00 ec 42 00 ?? mov esi, 0x0042ec00<"KERNEL32.DLL">
   56 ?? push esi
   ff 15 50 82 43 00 ?? call dword ds:[0x00438250]
  
  L2: 85 c0 ?? test eax, eax
   75 07 ?? jne basic block L5
  
  L3: 56 ?? push esi
   e8 9e 0c 00 00 ?? call function 0x0040c9c5
  
  L4: 59 ?? pop ecx
  
  L5: 8b f8 ?? mov edi, eax
   85 ff ?? test edi, edi
   0f 84 5e 01 00 00 ?? je basic block L37
  
  L6: 8b 35 54 82 43 00 ?? mov esi, dword ds:[0x00438254]
   68 4c ec 42 00 ?? push 0x0042ec4c<"FlsAlloc">
   57 ?? push edi
   ff d6 ?? call esi
  
  L7: 68 40 ec 42 00 ?? push 0x0042ec40<"FlsGetValue">
   57 ?? push edi
   a3 58 5b 43 00 ?? mov dword ds:[0x00435b58], eax
   ff d6 ?? call esi
  
  L8: 68 34 ec 42 00 ?? push 0x0042ec34<"FlsSetValue">
   57 ?? push edi
   a3 5c 5b 43 00 ?? mov dword ds:[0x00435b5c], eax
   ff d6 ?? call esi
  
  L9: 68 2c ec 42 00 ?? push 0x0042ec2c<"FlsFree">
   57 ?? push edi
   a3 60 5b 43 00 ?? mov dword ds:[0x00435b60], eax
   ff d6 ?? call esi
  
  L10: 83 3d 58 5b 43 00 00 ?? cmp dword ds:[0x00435b58], 0
   8b 35 60 82 43 00 ?? mov esi, dword ds:[0x00438260]
   a3 64 5b 43 00 ?? mov dword ds:[0x00435b64], eax
   74 16 ?? je basic block L14
  
  L11: 83 3d 5c 5b 43 00 00 ?? cmp dword ds:[0x00435b5c], 0
   74 0d ?? je basic block L14
  
  L12: 83 3d 60 5b 43 00 00 ?? cmp dword ds:[0x00435b60], 0
   74 04 ?? je basic block L14
  
  L13: 85 c0 ?? test eax, eax
   75 24 ?? jne basic block L15
  
  L14: a1 58 82 43 00 ?? mov eax, dword ds:[0x00438258]
   a3 5c 5b 43 00 ?? mov dword ds:[0x00435b5c], eax
   a1 64 82 43 00 ?? mov eax, dword ds:[0x00438264]
   c7 05 58 5b 43 00 33 b9 ?? mov dword ds:[0x00435b58], function 0x0040b933
   40 00
   89 35 60 5b 43 00 ?? mov dword ds:[0x00435b60], esi
   a3 64 5b 43 00 ?? mov dword ds:[0x00435b64], eax
  
  L15: ff 15 5c 82 43 00 ?? call dword ds:[0x0043825c]
  
  L16: a3 2c 47 43 00 ?? mov dword ds:[0x0043472c], eax
   83 f8 ff ?? cmp eax, 0xff<255,-1>
   0f 84 cc 00 00 00 ?? je basic block L38
  
  L17: ff 35 5c 5b 43 00 ?? push dword ds:[0x00435b5c]
   50 ?? push eax
   ff d6 ?? call esi
  
  L18: 85 c0 ?? test eax, eax
   0f 84 bb 00 00 00 ?? je basic block L38
  
  L19: e8 48 0f 00 00 ?? call function 0x0040cd27
  
  L20: ff 35 58 5b 43 00 ?? push dword ds:[0x00435b58]
   e8 5c fa ff ff ?? call function 0x0040b846
  
  L21: ff 35 5c 5b 43 00 ?? push dword ds:[0x00435b5c]
   a3 58 5b 43 00 ?? mov dword ds:[0x00435b58], eax
   e8 4c fa ff ff ?? call function 0x0040b846
  
  L22: ff 35 60 5b 43 00 ?? push dword ds:[0x00435b60]
   a3 5c 5b 43 00 ?? mov dword ds:[0x00435b5c], eax
   e8 3c fa ff ff ?? call function 0x0040b846
  
  L23: ff 35 64 5b 43 00 ?? push dword ds:[0x00435b64]
   a3 60 5b 43 00 ?? mov dword ds:[0x00435b60], eax
   e8 2c fa ff ff ?? call function 0x0040b846
  
  L24: 83 c4 10 ?? add esp, 0x10<16>
   a3 64 5b 43 00 ?? mov dword ds:[0x00435b64], eax
   e8 88 1f 00 00 ?? call function 0x0040ddaf
  
  L25: 85 c0 ?? test eax, eax
   74 65 ?? je basic block L37
  
  L26: 68 64 bb 40 00 ?? push function 0x0040bb64
   ff 35 58 5b 43 00 ?? push dword ds:[0x00435b58]
   e8 86 fa ff ff ?? call function 0x0040b8c1
  
  L27: 59 ?? pop ecx
   ff d0 ?? call eax
  
  L28: a3 28 47 43 00 ?? mov dword ds:[0x00434728], eax
   83 f8 ff ?? cmp eax, 0xff<255,-1>
   74 48 ?? je basic block L37
  
  L29: 68 14 02 00 00 ?? push 0x00000214<532>
   6a 01 ?? push 1
   e8 d1 e2 ff ff ?? call function 0x0040a125
  
  L30: 8b f0 ?? mov esi, eax
   59 ?? pop ecx
   59 ?? pop ecx
   85 f6 ?? test esi, esi
   74 34 ?? je basic block L37
  
  L31: 56 ?? push esi
   ff 35 28 47 43 00 ?? push dword ds:[0x00434728]
   ff 35 60 5b 43 00 ?? push dword ds:[0x00435b60]
   e8 53 fa ff ff ?? call function 0x0040b8c1
  
  L32: 59 ?? pop ecx
   ff d0 ?? call eax
  
  L33: 85 c0 ?? test eax, eax
   74 1b ?? je basic block L37
  
  L34: 6a 00 ?? push 0
   56 ?? push esi
   e8 6d fb ff ff ?? call function 0x0040b9ea
  
  L35: 59 ?? pop ecx
   59 ?? pop ecx
   ff 15 6c 82 43 00 ?? call dword ds:[0x0043826c]
  
  L36: 83 4e 04 ff ?? or dword ds:[esi + 4], 0xff<255,-1>
   89 06 ?? mov dword ds:[esi], eax
   33 c0 ?? xor eax, eax
   40 ?? inc eax
   eb 07 ?? jmp basic block L39
  
  L37: e8 18 fb ff ff ?? call function 0x0040b9ad
  
  L38: 33 c0 ?? xor eax, eax
  
  L39: 5f ?? pop edi
   5e ?? pop esi
   c3 ?? ret
  
  