Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   51 ?? push ecx
   a1 44 44 44 00 ?? mov eax, dword ds:[0x00444444]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   a1 38 6b 44 00 ?? mov eax, dword ds:[0x00446b38]
   53 ?? push ebx
   8b 1d 44 93 44 00 ?? mov ebx, dword ds:[0x00449344]
   56 ?? push esi
   57 ?? push edi
   33 ff ?? xor edi, edi
   33 f6 ?? xor esi, esi
   47 ?? inc edi
   3b c6 ?? cmp eax, esi
   75 2c ?? jne basic block L9
  
  L2: 56 ?? push esi
   56 ?? push esi
   57 ?? push edi
   56 ?? push esi
   ff d3 ?? call ebx
  
  L3: 85 c0 ?? test eax, eax
   74 08 ?? je basic block L5
  
  L4: 89 3d 38 6b 44 00 ?? mov dword ds:[0x00446b38], edi
   eb 2f ?? jmp basic block L12
  
  L5: ff 15 44 92 44 00 ?? call dword ds:[0x00449244]
  
  L6: 83 f8 78 ?? cmp eax, 0x78<120>
   75 0a ?? jne basic block L8
  
  L7: 6a 02 ?? push 2
   58 ?? pop eax
   a3 38 6b 44 00 ?? mov dword ds:[0x00446b38], eax
   eb 05 ?? jmp basic block L9
  
  L8: a1 38 6b 44 00 ?? mov eax, dword ds:[0x00446b38]
  
  L9: 83 f8 02 ?? cmp eax, 2
   0f 84 be 00 00 00 ?? je basic block L38
  
  L10: 3b c6 ?? cmp eax, esi
   0f 84 b6 00 00 00 ?? je basic block L38
  
  L11: 3b c7 ?? cmp eax, edi
   75 23 ?? jne basic block L16
  
  L12: 39 75 1c ?? cmp dword ss:[ebp + 0x1c<28>], esi
   75 0b ?? jne basic block L14
  
  L13: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 00 ?? mov eax, dword ds:[eax]
   8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 45 1c ?? mov dword ss:[ebp + 0x1c<28>], eax
  
  L14: 56 ?? push esi
   56 ?? push esi
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff d3 ?? call ebx
  
  L15: 8b c8 ?? mov ecx, eax
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   3b ce ?? cmp ecx, esi
   75 07 ?? jne basic block L17
  
  L16: 33 c0 ?? xor eax, eax
   e9 9a 00 00 00 ?? jmp basic block L39
  
  L17: 7e 45 ?? jle basic block L27
  
  L18: 6a e0 ?? push 0xe0<224,-32>
   33 d2 ?? xor edx, edx
   58 ?? pop eax
   f7 f1 ?? div ecx
   83 f8 02 ?? cmp eax, 2
   72 39 ?? jb basic block L27
  
  L19: 8d 44 09 08 ?? lea eax, ds:[ecx + ecx + 8]
   3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   77 16 ?? ja basic block L23
  
  L20: e8 57 4e ff ff ?? call function 0x0041c910
  
  L21: 8b fc ?? mov edi, esp
   3b fe ?? cmp edi, esi
   74 d5 ?? je basic block L16
  
  L22: c7 07 cc cc 00 00 ?? mov dword ds:[edi], 0x0000cccc<52428>
   83 c7 08 ?? add edi, 8
   eb 1a ?? jmp basic block L28
  
  L23: 50 ?? push eax
   e8 39 8b fe ff ?? call function 0x00410609
  
  L24: 59 ?? pop ecx
   3b c6 ?? cmp eax, esi
   74 09 ?? je basic block L26
  
  L25: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>
   83 c0 08 ?? add eax, 8
  
  L26: 8b f8 ?? mov edi, eax
   eb 02 ?? jmp basic block L28
  
  L27: 33 ff ?? xor edi, edi
  
  L28: 3b fe ?? cmp edi, esi
   74 ac ?? je basic block L16
  
  L29: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   57 ?? push edi
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff d3 ?? call ebx
  
  L30: 85 c0 ?? test eax, eax
   74 20 ?? je basic block L36
  
  L31: 56 ?? push esi
   56 ?? push esi
   39 75 18 ?? cmp dword ss:[ebp + 0x18<24>], esi
   75 04 ?? jne basic block L33
  
  L32: 56 ?? push esi
   56 ?? push esi
   eb 06 ?? jmp basic block L34
  
  L33: ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
  
  L34: 6a ff ?? push 0xff<255,-1>
   57 ?? push edi
   56 ?? push esi
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   ff 15 00 92 44 00 ?? call dword ds:[0x00449200]
  
  L35: 8b f0 ?? mov esi, eax
  
  L36: 57 ?? push edi
   e8 d1 6a fe ff ?? call function 0x0040e5ef
  
  L37: 59 ?? pop ecx
   8b c6 ?? mov eax, esi
   eb 12 ?? jmp basic block L39
  
  L38: ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff 15 10 93 44 00 ?? call dword ds:[0x00449310]
  
  L39: 8d 65 ec ?? lea esp, ss:[ebp + 0xec<236,-20>]
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   33 cd ?? xor ecx, ebp
   e8 07 20 fe ff ?? call function 0x00409b4c
  
  L40: c9 ?? leave
   c3 ?? ret
  
  