Disassembly: 
  L1: 8b ff ?? mov edi, edi
   56 ?? push esi
   57 ?? push edi
   be 30 fd 42 00 ?? mov esi, 0x0042fd30<"KERNEL32.DLL">
   56 ?? push esi
   ff 15 50 92 43 00 ?? call dword ds:[0x00439250]
  
  L2: 85 c0 ?? test eax, eax
   75 07 ?? jne basic block L5
  
  L3: 56 ?? push esi
   e8 9e 0c 00 00 ?? call function 0x0040cdc5
  
  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 92 43 00 ?? mov esi, dword ds:[0x00439254]
   68 7c fd 42 00 ?? push 0x0042fd7c<"FlsAlloc">
   57 ?? push edi
   ff d6 ?? call esi
  
  L7: 68 70 fd 42 00 ?? push 0x0042fd70<"FlsGetValue">
   57 ?? push edi
   a3 98 6b 43 00 ?? mov dword ds:[0x00436b98], eax
   ff d6 ?? call esi
  
  L8: 68 64 fd 42 00 ?? push 0x0042fd64<"FlsSetValue">
   57 ?? push edi
   a3 9c 6b 43 00 ?? mov dword ds:[0x00436b9c], eax
   ff d6 ?? call esi
  
  L9: 68 5c fd 42 00 ?? push 0x0042fd5c<"FlsFree">
   57 ?? push edi
   a3 a0 6b 43 00 ?? mov dword ds:[0x00436ba0], eax
   ff d6 ?? call esi
  
  L10: 83 3d 98 6b 43 00 00 ?? cmp dword ds:[0x00436b98], 0
   8b 35 60 92 43 00 ?? mov esi, dword ds:[0x00439260]
   a3 a4 6b 43 00 ?? mov dword ds:[0x00436ba4], eax
   74 16 ?? je basic block L14
  
  L11: 83 3d 9c 6b 43 00 00 ?? cmp dword ds:[0x00436b9c], 0
   74 0d ?? je basic block L14
  
  L12: 83 3d a0 6b 43 00 00 ?? cmp dword ds:[0x00436ba0], 0
   74 04 ?? je basic block L14
  
  L13: 85 c0 ?? test eax, eax
   75 24 ?? jne basic block L15
  
  L14: a1 58 92 43 00 ?? mov eax, dword ds:[0x00439258]
   a3 9c 6b 43 00 ?? mov dword ds:[0x00436b9c], eax
   a1 64 92 43 00 ?? mov eax, dword ds:[0x00439264]
   c7 05 98 6b 43 00 33 bd ?? mov dword ds:[0x00436b98], function 0x0040bd33
   40 00
   89 35 a0 6b 43 00 ?? mov dword ds:[0x00436ba0], esi
   a3 a4 6b 43 00 ?? mov dword ds:[0x00436ba4], eax
  
  L15: ff 15 5c 92 43 00 ?? call dword ds:[0x0043925c]
  
  L16: a3 6c 57 43 00 ?? mov dword ds:[0x0043576c], eax
   83 f8 ff ?? cmp eax, 0xff<255,-1>
   0f 84 cc 00 00 00 ?? je basic block L38
  
  L17: ff 35 9c 6b 43 00 ?? push dword ds:[0x00436b9c]
   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 0x0040d127
  
  L20: ff 35 98 6b 43 00 ?? push dword ds:[0x00436b98]
   e8 5c fa ff ff ?? call function 0x0040bc46
  
  L21: ff 35 9c 6b 43 00 ?? push dword ds:[0x00436b9c]
   a3 98 6b 43 00 ?? mov dword ds:[0x00436b98], eax
   e8 4c fa ff ff ?? call function 0x0040bc46
  
  L22: ff 35 a0 6b 43 00 ?? push dword ds:[0x00436ba0]
   a3 9c 6b 43 00 ?? mov dword ds:[0x00436b9c], eax
   e8 3c fa ff ff ?? call function 0x0040bc46
  
  L23: ff 35 a4 6b 43 00 ?? push dword ds:[0x00436ba4]
   a3 a0 6b 43 00 ?? mov dword ds:[0x00436ba0], eax
   e8 2c fa ff ff ?? call function 0x0040bc46
  
  L24: 83 c4 10 ?? add esp, 0x10<16>
   a3 a4 6b 43 00 ?? mov dword ds:[0x00436ba4], eax
   e8 88 1f 00 00 ?? call function 0x0040e1af
  
  L25: 85 c0 ?? test eax, eax
   74 65 ?? je basic block L37
  
  L26: 68 64 bf 40 00 ?? push function 0x0040bf64
   ff 35 98 6b 43 00 ?? push dword ds:[0x00436b98]
   e8 86 fa ff ff ?? call function 0x0040bcc1
  
  L27: 59 ?? pop ecx
   ff d0 ?? call eax
  
  L28: a3 68 57 43 00 ?? mov dword ds:[0x00435768], 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 0x0040a525
  
  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 68 57 43 00 ?? push dword ds:[0x00435768]
   ff 35 a0 6b 43 00 ?? push dword ds:[0x00436ba0]
   e8 53 fa ff ff ?? call function 0x0040bcc1
  
  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 0x0040bdea
  
  L35: 59 ?? pop ecx
   59 ?? pop ecx
   ff 15 6c 92 43 00 ?? call dword ds:[0x0043926c]
  
  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 0x0040bdad
  
  L38: 33 c0 ?? xor eax, eax
  
  L39: 5f ?? pop edi
   5e ?? pop esi
   c3 ?? ret
  
  