Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 18 ?? sub esp, 0x18<24>
   53 ?? push ebx
   8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   56 ?? push esi
   33 f6 ?? xor esi, esi
   57 ?? push edi
   89 5d e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], ebx
   89 75 ec ?? mov dword ss:[ebp + 0xec<236,-20>], esi
   39 73 1c ?? cmp dword ds:[ebx + 0x1c<28>], esi
   75 17 ?? jne basic block L4
  
  L2: 39 73 18 ?? cmp dword ds:[ebx + 0x18<24>], esi
   75 12 ?? jne basic block L4
  
  L3: 89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
   89 75 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], esi
   c7 45 08 e8 8b 42 00 ?? mov dword ss:[ebp + 8], 0x00428be8
   e9 3a 01 00 00 ?? jmp basic block L39
  
  L4: 6a 30 ?? push 0x30<48>
   6a 01 ?? push 1
   e8 e3 66 ff ff ?? call function 0x004066e8
  
  L5: 8b f8 ?? mov edi, eax
   59 ?? pop ecx
   59 ?? pop ecx
   89 7d 08 ?? mov dword ss:[ebp + 8], edi
   3b fe ?? cmp edi, esi
   75 08 ?? jne basic block L7
  
  L6: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   e9 77 01 00 00 ?? jmp basic block L48
  
  L7: 8b b3 bc 00 00 00 ?? mov esi, dword ds:[ebx + 0x000000bc<188>]
   6a 0c ?? push 12
   59 ?? pop ecx
   6a 04 ?? push 4
   f3 a5 ?? rep_movsd
   e8 79 66 ff ff ?? call function 0x004066a3
  
  L8: 33 f6 ?? xor esi, esi
   59 ?? pop ecx
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   3b c6 ?? cmp eax, esi
   75 0b ?? jne basic block L11
  
  L9: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 6b 19 ff ff ?? call function 0x004019a7
  
  L10: 59 ?? pop ecx
   eb d1 ?? jmp basic block L6
  
  L11: 89 30 ?? mov dword ds:[eax], esi
   39 73 1c ?? cmp dword ds:[ebx + 0x1c<28>], esi
   0f 84 bb 00 00 00 ?? je basic block L36
  
  L12: 6a 04 ?? push 4
   e8 52 66 ff ff ?? call function 0x004066a3
  
  L13: 59 ?? pop ecx
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   3b c6 ?? cmp eax, esi
   75 1c ?? jne basic block L18
  
  L14: 33 f6 ?? xor esi, esi
   46 ?? inc esi
  
  L15: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 43 19 ff ff ?? call function 0x004019a7
  
  L16: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   e8 3b 19 ff ff ?? call function 0x004019a7
  
  L17: 59 ?? pop ecx
   59 ?? pop ecx
   8b c6 ?? mov eax, esi
   e9 1a 01 00 00 ?? jmp basic block L48
  
  L18: 89 30 ?? mov dword ds:[eax], esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   0f b7 7b 3e ?? movzx edi, word ds:[ebx + 0x3e<62>]
   56 ?? push esi
   6a 0e ?? push 14
   57 ?? push edi
   8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 b3 92 ff ff ?? call function 0x00409340
  
  L19: 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8d 46 04 ?? lea eax, ds:[esi + 4]
   50 ?? push eax
   6a 0f ?? push 15
   57 ?? push edi
   8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 9e 92 ff ff ?? call function 0x00409340
  
  L20: 09 45 f4 ?? or dword ss:[ebp + 0xf4<244,-12>], eax
   8d 46 08 ?? lea eax, ds:[esi + 8]
   50 ?? push eax
   6a 10 ?? push 0x10<16>
   57 ?? push edi
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 86 92 ff ff ?? call function 0x00409340
  
  L21: 83 c4 3c ?? add esp, 0x3c<60>
   0b 45 f4 ?? or eax, dword ss:[ebp + 0xf4<244,-12>]
   74 0c ?? je basic block L24
  
  L22: 56 ?? push esi
   e8 bd fe ff ff ?? call function 0x0040ff85
  
  L23: 59 ?? pop ecx
   83 ce ff ?? or esi, 0xff<255,-1>
   eb 8e ?? jmp basic block L15
  
  L24: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   8b 00 ?? mov eax, dword ds:[eax]
   eb 12 ?? jmp basic block L29
  
  L25: 8a 08 ?? mov cl, byte ds:[eax]
   80 f9 30 ?? cmp cl, 0x30<48>
   7c 12 ?? jl basic block L31
  
  L26: 80 f9 39 ?? cmp cl, 0x39<57>
   7f 0d ?? jg basic block L31
  
  L27: 80 e9 30 ?? sub cl, 0x30<48>
   88 08 ?? mov byte ds:[eax], cl
  
  L28: 40 ?? inc eax
  
  L29: 80 38 00 ?? cmp byte ds:[eax], 0
   75 e9 ?? jne basic block L25
  
  L30: eb 37 ?? jmp basic block L37
  
  L31: 80 f9 3b ?? cmp cl, 0x3b<59>
   75 f3 ?? jne basic block L28
  
  L32: 8b f0 ?? mov esi, eax
  
  L33: 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
  
  L34: 75 f2 ?? jne basic block L33
  
  L35: eb e2 ?? jmp basic block L29
  
  L36: 8b 0d e8 8b 42 00 ?? mov ecx, dword ds:[0x00428be8]
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   89 08 ?? mov dword ds:[eax], ecx
   8b 0d ec 8b 42 00 ?? mov ecx, dword ds:[0x00428bec]
   89 48 04 ?? mov dword ds:[eax + 4], ecx
   8b 0d f0 8b 42 00 ?? mov ecx, dword ds:[0x00428bf0]
   89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
   89 48 08 ?? mov dword ds:[eax + 8], ecx
  
  L37: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   33 c9 ?? xor ecx, ecx
   41 ?? inc ecx
   89 08 ?? mov dword ds:[eax], ecx
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   85 c0 ?? test eax, eax
   74 02 ?? je basic block L39
  
  L38: 89 08 ?? mov dword ds:[eax], ecx
  
  L39: 8b 83 b4 00 00 00 ?? mov eax, dword ds:[ebx + 0x000000b4<180>]
   8b 35 f0 a1 42 00 ?? mov esi, dword ds:[0x0042a1f0]
   85 c0 ?? test eax, eax
   74 03 ?? je basic block L41
  
  L40: 50 ?? push eax
   ff d6 ?? call esi
  
  L41: 8b 83 b0 00 00 00 ?? mov eax, dword ds:[ebx + 0x000000b0<176>]
   85 c0 ?? test eax, eax
   74 1f ?? je basic block L47
  
  L42: 50 ?? push eax
   ff d6 ?? call esi
  
  L43: 85 c0 ?? test eax, eax
   75 18 ?? jne basic block L47
  
  L44: ff b3 b0 00 00 00 ?? push dword ds:[ebx + 0x000000b0<176>]
   e8 42 18 ff ff ?? call function 0x004019a7
  
  L45: ff b3 bc 00 00 00 ?? push dword ds:[ebx + 0x000000bc<188>]
   e8 37 18 ff ff ?? call function 0x004019a7
  
  L46: 59 ?? pop ecx
   59 ?? pop ecx
  
  L47: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   89 83 b4 00 00 00 ?? mov dword ds:[ebx + 0x000000b4<180>], eax
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   89 83 b0 00 00 00 ?? mov dword ds:[ebx + 0x000000b0<176>], eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   89 83 bc 00 00 00 ?? mov dword ds:[ebx + 0x000000bc<188>], eax
   33 c0 ?? xor eax, eax
  
  L48: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  