Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 10 ?? sub esp, 0x10<16>
   53 ?? push ebx
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   57 ?? push edi
   33 ff ?? xor edi, edi
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   89 75 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esi
   89 7d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], edi
   39 7e 18 ?? cmp dword ds:[esi + 0x18<24>], edi
   75 15 ?? jne basic block L4
  
  L2: 39 7e 1c ?? cmp dword ds:[esi + 0x1c<28>], edi
   75 10 ?? jne basic block L4
  
  L3: 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   89 7d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edi
   bb e8 8b 42 00 ?? mov ebx, 0x00428be8
   e9 36 02 00 00 ?? jmp basic block L53
  
  L4: 6a 30 ?? push 0x30<48>
   6a 01 ?? push 1
   e8 57 64 ff ff ?? call function 0x004066e8
  
  L5: 8b d8 ?? mov ebx, eax
   59 ?? pop ecx
   59 ?? pop ecx
   3b df ?? cmp ebx, edi
   75 08 ?? jne basic block L7
  
  L6: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   e9 75 02 00 00 ?? jmp basic block L62
  
  L7: 6a 04 ?? push 4
   e8 fb 63 ff ff ?? call function 0x004066a3
  
  L8: 59 ?? pop ecx
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   3b c7 ?? cmp eax, edi
   75 09 ?? jne basic block L11
  
  L9: 53 ?? push ebx
   e8 f1 16 ff ff ?? call function 0x004019a7
  
  L10: 59 ?? pop ecx
   eb e0 ?? jmp basic block L6
  
  L11: 89 38 ?? mov dword ds:[eax], edi
   39 7e 18 ?? cmp dword ds:[esi + 0x18<24>], edi
   0f 84 b9 01 00 00 ?? je basic block L50
  
  L12: 6a 04 ?? push 4
   e8 d8 63 ff ff ?? call function 0x004066a3
  
  L13: 59 ?? pop ecx
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   3b c7 ?? cmp eax, edi
   75 11 ?? jne basic block L17
  
  L14: 53 ?? push ebx
   e8 ce 16 ff ff ?? call function 0x004019a7
  
  L15: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   e8 c6 16 ff ff ?? call function 0x004019a7
  
  L16: 59 ?? pop ecx
   eb d2 ?? jmp basic block L10
  
  L17: 89 38 ?? mov dword ds:[eax], edi
   0f b7 76 38 ?? movzx esi, word ds:[esi + 0x38<56>]
   8d 43 0c ?? lea eax, ds:[ebx + 12]
   50 ?? push eax
   6a 15 ?? push 0x15<21>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 44 90 ff ff ?? call function 0x00409340
  
  L18: 8b f8 ?? mov edi, eax
   8d 43 10 ?? lea eax, ds:[ebx + 0x10<16>]
   50 ?? push eax
   6a 14 ?? push 0x14<20>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 30 90 ff ff ?? call function 0x00409340
  
  L19: 0b f8 ?? or edi, eax
   8d 43 14 ?? lea eax, ds:[ebx + 0x14<20>]
   50 ?? push eax
   6a 16 ?? push 0x16<22>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 1c 90 ff ff ?? call function 0x00409340
  
  L20: 0b f8 ?? or edi, eax
   8d 43 18 ?? lea eax, ds:[ebx + 0x18<24>]
   50 ?? push eax
   6a 17 ?? push 0x17<23>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 08 90 ff ff ?? call function 0x00409340
  
  L21: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 43 1c ?? lea eax, ds:[ebx + 0x1c<28>]
   50 ?? push eax
   6a 18 ?? push 0x18<24>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 f1 8f ff ff ?? call function 0x00409340
  
  L22: 0b f8 ?? or edi, eax
   8d 43 20 ?? lea eax, ds:[ebx + 0x20<32>]
   50 ?? push eax
   6a 50 ?? push 0x50<80>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 dd 8f ff ff ?? call function 0x00409340
  
  L23: 0b f8 ?? or edi, eax
   8d 43 24 ?? lea eax, ds:[ebx + 0x24<36>]
   50 ?? push eax
   6a 51 ?? push 0x51<81>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 c9 8f ff ff ?? call function 0x00409340
  
  L24: 0b f8 ?? or edi, eax
   8d 43 28 ?? lea eax, ds:[ebx + 0x28<40>]
   50 ?? push eax
   6a 1a ?? push 0x1a<26>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 b5 8f ff ff ?? call function 0x00409340
  
  L25: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 43 29 ?? lea eax, ds:[ebx + 0x29<41>]
   50 ?? push eax
   6a 19 ?? push 0x19<25>
   56 ?? push esi
   6a 00 ?? push 0
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   50 ?? push eax
   e8 9e 8f ff ff ?? call function 0x00409340
  
  L26: 0b f8 ?? or edi, eax
   8d 43 2a ?? lea eax, ds:[ebx + 0x2a<42>]
   50 ?? push eax
   6a 54 ?? push 0x54<84>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 8a 8f ff ff ?? call function 0x00409340
  
  L27: 0b f8 ?? or edi, eax
   8d 43 2b ?? lea eax, ds:[ebx + 0x2b<43>]
   50 ?? push eax
   6a 55 ?? push 0x55<85>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 76 8f ff ff ?? call function 0x00409340
  
  L28: 0b f8 ?? or edi, eax
   8d 43 2c ?? lea eax, ds:[ebx + 0x2c<44>]
   50 ?? push eax
   6a 56 ?? push 0x56<86>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 62 8f ff ff ?? call function 0x00409340
  
  L29: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 43 2d ?? lea eax, ds:[ebx + 0x2d<45>]
   50 ?? push eax
   6a 57 ?? push 0x57<87>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 4b 8f ff ff ?? call function 0x00409340
  
  L30: 0b f8 ?? or edi, eax
   8d 43 2e ?? lea eax, ds:[ebx + 0x2e<46>]
   50 ?? push eax
   6a 52 ?? push 0x52<82>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 37 8f ff ff ?? call function 0x00409340
  
  L31: 0b f8 ?? or edi, eax
   8d 43 2f ?? lea eax, ds:[ebx + 0x2f<47>]
   50 ?? push eax
   6a 53 ?? push 0x53<83>
   56 ?? push esi
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 23 8f ff ff ?? call function 0x00409340
  
  L32: 83 c4 3c ?? add esp, 0x3c<60>
   0b c7 ?? or eax, edi
   74 24 ?? je basic block L38
  
  L33: 53 ?? push ebx
   e8 9d fd ff ff ?? call function 0x004101c7
  
  L34: 53 ?? push ebx
   e8 77 15 ff ff ?? call function 0x004019a7
  
  L35: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   e8 6f 15 ff ff ?? call function 0x004019a7
  
  L36: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   e8 67 15 ff ff ?? call function 0x004019a7
  
  L37: 83 c4 10 ?? add esp, 0x10<16>
   e9 51 fe ff ff ?? jmp basic block L6
  
  L38: 8b 43 1c ?? mov eax, dword ds:[ebx + 0x1c<28>]
   eb 12 ?? jmp basic block L43
  
  L39: 8a 08 ?? mov cl, byte ds:[eax]
   80 f9 30 ?? cmp cl, 0x30<48>
   7c 12 ?? jl basic block L45
  
  L40: 80 f9 39 ?? cmp cl, 0x39<57>
   7f 0d ?? jg basic block L45
  
  L41: 80 e9 30 ?? sub cl, 0x30<48>
   88 08 ?? mov byte ds:[eax], cl
  
  L42: 40 ?? inc eax
  
  L43: 80 38 00 ?? cmp byte ds:[eax], 0
   75 e9 ?? jne basic block L39
  
  L44: eb 23 ?? jmp basic block L51
  
  L45: 80 f9 3b ?? cmp cl, 0x3b<59>
   75 f3 ?? jne basic block L42
  
  L46: 8b f0 ?? mov esi, eax
  
  L47: 8d 7e 01 ?? lea edi, ds:[esi + 1]
   8a 0f ?? mov cl, byte ds:[edi]
   88 0e ?? mov byte ds:[esi], cl
   8b f7 ?? mov esi, edi
   80 3e 00 ?? cmp byte ds:[esi], 0
  
  L48: 75 f2 ?? jne basic block L47
  
  L49: eb e2 ?? jmp basic block L43
  
  L50: 6a 0c ?? push 12
   59 ?? pop ecx
   be e8 8b 42 00 ?? mov esi, 0x00428be8
   8b fb ?? mov edi, ebx
   f3 a5 ?? rep_movsd
  
  L51: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   05 bc 00 00 00 ?? add eax, 0x000000bc<188>
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 09 ?? mov ecx, dword ds:[ecx]
   89 0b ?? mov dword ds:[ebx], ecx
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 49 04 ?? mov ecx, dword ds:[ecx + 4]
   89 4b 04 ?? mov dword ds:[ebx + 4], ecx
   8b 00 ?? mov eax, dword ds:[eax]
   8b 40 08 ?? mov eax, dword ds:[eax + 8]
   8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   89 43 08 ?? mov dword ds:[ebx + 8], eax
   33 c0 ?? xor eax, eax
   40 ?? inc eax
   33 ff ?? xor edi, edi
   89 01 ?? mov dword ds:[ecx], eax
   39 7d fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], edi
   74 05 ?? je basic block L53
  
  L52: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   89 01 ?? mov dword ds:[ecx], eax
  
  L53: 8b 86 b8 00 00 00 ?? mov eax, dword ds:[esi + 0x000000b8<184>]
   3b c7 ?? cmp eax, edi
   74 07 ?? je basic block L55
  
  L54: 50 ?? push eax
   ff 15 f0 a1 42 00 ?? call dword ds:[0x0042a1f0]
  
  L55: 8b 86 b0 00 00 00 ?? mov eax, dword ds:[esi + 0x000000b0<176>]
   3b c7 ?? cmp eax, edi
   74 23 ?? je basic block L61
  
  L56: 50 ?? push eax
   ff 15 f0 a1 42 00 ?? call dword ds:[0x0042a1f0]
  
  L57: 85 c0 ?? test eax, eax
   75 18 ?? jne basic block L61
  
  L58: ff b6 bc 00 00 00 ?? push dword ds:[esi + 0x000000bc<188>]
   e8 b8 14 ff ff ?? call function 0x004019a7
  
  L59: ff b6 b0 00 00 00 ?? push dword ds:[esi + 0x000000b0<176>]
   e8 ad 14 ff ff ?? call function 0x004019a7
  
  L60: 59 ?? pop ecx
   59 ?? pop ecx
  
  L61: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   89 86 b8 00 00 00 ?? mov dword ds:[esi + 0x000000b8<184>], eax
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   89 86 b0 00 00 00 ?? mov dword ds:[esi + 0x000000b0<176>], eax
   89 9e bc 00 00 00 ?? mov dword ds:[esi + 0x000000bc<188>], ebx
   33 c0 ?? xor eax, eax
  
  L62: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  