Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   57 ?? push edi
   56 ?? push esi
   e8 e5 da 00 00 ?? call function 0x0041de92
  
  L2: 59 ?? pop ecx
   83 f8 ff ?? cmp eax, 0xff<255,-1>
   74 50 ?? je basic block L15
  
  L3: a1 a0 66 43 00 ?? mov eax, dword ds:[0x004366a0]
   83 fe 01 ?? cmp esi, 1
   75 09 ?? jne basic block L5
  
  L4: f6 80 84 00 00 00 01 ?? test byte ds:[eax + 0x00000084<132>], 1
   75 0b ?? jne basic block L7
  
  L5: 83 fe 02 ?? cmp esi, 2
   75 1c ?? jne basic block L10
  
  L6: f6 40 44 01 ?? test byte ds:[eax + 0x44<68>], 1
   74 16 ?? je basic block L10
  
  L7: 6a 02 ?? push 2
   e8 ba da 00 00 ?? call function 0x0041de92
  
  L8: 6a 01 ?? push 1
   8b f8 ?? mov edi, eax
   e8 b1 da 00 00 ?? call function 0x0041de92
  
  L9: 59 ?? pop ecx
   59 ?? pop ecx
   3b c7 ?? cmp eax, edi
   74 1c ?? je basic block L15
  
  L10: 56 ?? push esi
   e8 a5 da 00 00 ?? call function 0x0041de92
  
  L11: 59 ?? pop ecx
   50 ?? push eax
   ff 15 dc 82 43 00 ?? call dword ds:[0x004382dc]
  
  L12: 85 c0 ?? test eax, eax
   75 0a ?? jne basic block L15
  
  L13: ff 15 30 82 43 00 ?? call dword ds:[0x00438230]
  
  L14: 8b f8 ?? mov edi, eax
   eb 02 ?? jmp basic block L16
  
  L15: 33 ff ?? xor edi, edi
  
  L16: 56 ?? push esi
   e8 01 da 00 00 ?? call function 0x0041de0c
  
  L17: 8b c6 ?? mov eax, esi
   c1 f8 05 ?? sar eax, 5
   8b 04 85 a0 66 43 00 ?? mov eax, dword ds:[0x004366a0 + eax * 4]
   83 e6 1f ?? and esi, 0x1f<31>
   c1 e6 06 ?? shl esi, 6
   59 ?? pop ecx
   c6 44 30 04 00 ?? mov byte ds:[eax + esi + 4], 0
   85 ff ?? test edi, edi
   74 0c ?? je basic block L20
  
  L18: 57 ?? push edi
   e8 1b c1 ff ff ?? call function 0x0040c548
  
  L19: 59 ?? pop ecx
   83 c8 ff ?? or eax, 0xff<255,-1>
   eb 02 ?? jmp basic block L21
  
  L20: 33 c0 ?? xor eax, eax
  
  L21: 5f ?? pop edi
   5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  