Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   0f be c0 ?? movsx eax, al
   83 f8 59 ?? cmp eax, 0x59<89>
   56 ?? push esi
   57 ?? push edi
   8b d9 ?? mov ebx, ecx
   8b f2 ?? mov esi, edx
   0f 8f bd 01 00 00 ?? jg basic block L54
  
  L2: 0f 84 85 01 00 00 ?? je basic block L49
  
  L3: 83 f8 49 ?? cmp eax, 0x49<73>
   0f 8f cb 00 00 00 ?? jg basic block L26
  
  L4: 0f 84 98 00 00 00 ?? je basic block L22
  
  L5: 83 e8 04 ?? sub eax, 4
   0f 84 a9 03 00 00 ?? je basic block L119
  
  L6: 83 e8 09 ?? sub eax, 9
   0f 84 a0 03 00 00 ?? je basic block L119
  
  L7: 83 e8 18 ?? sub eax, 0x18<24>
   74 70 ?? je basic block L21
  
  L8: 83 e8 1c ?? sub eax, 0x1c<28>
   74 49 ?? je basic block L18
  
  L9: 48 ?? dec eax
   74 24 ?? je basic block L15
  
  L10: 83 e8 06 ?? sub eax, 6
   0f 85 9a 02 00 00 ?? jne basic block L92
  
  L11: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 75 02 00 00 ?? jl basic block L89
  
  L12: 83 f8 17 ?? cmp eax, 0x17<23>
  
  L13: 0f 8f 6c 02 00 00 ?? jg basic block L89
  
  L14: e9 d6 01 00 00 ?? jmp basic block L68
  
  L15: 8b 76 10 ?? mov esi, dword ds:[esi + 0x10<16>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   0f 8c 5a 02 00 00 ?? jl basic block L89
  
  L16: 83 fe 0b ?? cmp esi, 11
   0f 8f 51 02 00 00 ?? jg basic block L89
  
  L17: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   8b 54 b2 68 ?? mov edx, dword ds:[edx + esi * 4 + 0x68<104>]
   e9 45 03 00 00 ?? jmp basic block L118
  
  L18: 8b 76 18 ?? mov esi, dword ds:[esi + 0x18<24>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   0f 8c 38 02 00 00 ?? jl basic block L89
  
  L19: 83 fe 06 ?? cmp esi, 6
   0f 8f 2f 02 00 00 ?? jg basic block L89
  
  L20: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   8b 54 b2 1c ?? mov edx, dword ds:[edx + esi * 4 + 0x1c<28>]
   e9 23 03 00 00 ?? jmp basic block L118
  
  L21: 8b 03 ?? mov eax, dword ds:[ebx]
   c6 00 25 ?? mov byte ds:[eax], 0x25<37>
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   ff 03 ?? inc dword ds:[ebx]
   ff 08 ?? dec dword ds:[eax]
   e9 1a 03 00 00 ?? jmp basic block L119
  
  L22: 8b 46 08 ?? mov eax, dword ds:[esi + 8]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 05 02 00 00 ?? jl basic block L89
  
  L23: 83 f8 17 ?? cmp eax, 0x17<23>
   0f 8f fc 01 00 00 ?? jg basic block L89
  
  L24: 99 ?? cdq
   6a 0c ?? push 12
   59 ?? pop ecx
   f7 f9 ?? idiv ecx
   8b c2 ?? mov eax, edx
   3b c7 ?? cmp eax, edi
   0f 85 5b 01 00 00 ?? jne basic block L68
  
  L25: 51 ?? push ecx
   58 ?? pop eax
   e9 54 01 00 00 ?? jmp basic block L68
  
  L26: 83 e8 4d ?? sub eax, 0x4d<77>
   0f 84 a3 00 00 00 ?? je basic block L48
  
  L27: 6a 06 ?? push 6
   59 ?? pop ecx
   2b c1 ?? sub eax, ecx
   0f 84 84 00 00 00 ?? je basic block L45
  
  L28: 48 ?? dec eax
   48 ?? dec eax
   74 34 ?? je basic block L36
  
  L29: 48 ?? dec eax
   48 ?? dec eax
   74 12 ?? je basic block L32
  
  L30: 48 ?? dec eax
   0f 85 da 01 00 00 ?? jne basic block L92
  
  L31: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   e9 73 01 00 00 ?? jmp basic block L79
  
  L32: 8b 46 18 ?? mov eax, dword ds:[esi + 0x18<24>]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c aa 01 00 00 ?? jl basic block L89
  
  L33: 3b c1 ?? cmp eax, ecx
   0f 8f a2 01 00 00 ?? jg basic block L89
  
  L34: 3b c7 ?? cmp eax, edi
   74 1c ?? je basic block L39
  
  L35: 8d 48 ff ?? lea ecx, ds:[eax + 0xff<255,-1>]
   eb 17 ?? jmp basic block L39
  
  L36: 8b 46 18 ?? mov eax, dword ds:[esi + 0x18<24>]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 8c 01 00 00 ?? jl basic block L89
  
  L37: 3b c1 ?? cmp eax, ecx
   0f 8f 84 01 00 00 ?? jg basic block L89
  
  L38: 8b c8 ?? mov ecx, eax
  
  L39: 8b 46 1c ?? mov eax, dword ds:[esi + 0x1c<28>]
   3b c7 ?? cmp eax, edi
   0f 8c 77 01 00 00 ?? jl basic block L89
  
  L40: 3d 6d 01 00 00 ?? cmp eax, 0x0000016d<365>
   0f 8f 6c 01 00 00 ?? jg basic block L89
  
  L41: 3b c1 ?? cmp eax, ecx
   7d 07 ?? jge basic block L43
  
  L42: 33 c0 ?? xor eax, eax
   e9 d0 00 00 00 ?? jmp basic block L68
  
  L43: 6a 07 ?? push 7
   99 ?? cdq
   5e ?? pop esi
   f7 fe ?? idiv esi
   3b d1 ?? cmp edx, ecx
   0f 8c c2 00 00 00 ?? jl basic block L68
  
  L44: 40 ?? inc eax
   e9 bc 00 00 00 ?? jmp basic block L68
  
  L45: 8b 06 ?? mov eax, dword ds:[esi]
  
  L46: 33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 41 01 00 00 ?? jl basic block L89
  
  L47: 83 f8 3b ?? cmp eax, 0x3b<59>
   e9 c7 fe ff ff ?? jmp basic block L13
  
  L48: 8b 46 04 ?? mov eax, dword ds:[esi + 4]
   eb e9 ?? jmp basic block L46
  
  L49: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
   3d 94 f8 ff ff ?? cmp eax, 0xfffff894<4294965396,-1900>
   7c 07 ?? jl basic block L51
  
  L50: 3d a3 1f 00 00 ?? cmp eax, 0x00001fa3<8099>
   7e 0c ?? jle basic block L53
  
  L51: e8 38 3b ff ff ?? call function 0x004055d4
  
  L52: 33 ff ?? xor edi, edi
   e9 1c 01 00 00 ?? jmp basic block L90
  
  L53: 99 ?? cdq
   6a 64 ?? push 0x64<100>
   59 ?? pop ecx
   f7 f9 ?? idiv ecx
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   6a 04 ?? push 4
   83 c0 13 ?? add eax, 0x13<19>
   6b c0 64 ?? imul eax, eax, 0x64<100>
   03 c2 ?? add eax, edx
   eb 76 ?? jmp basic block L70
  
  L54: 83 f8 6d ?? cmp eax, 0x6d<109>
   0f 8f 39 01 00 00 ?? jg basic block L97
  
  L55: 0f 84 1d 01 00 00 ?? je basic block L94
  
  L56: 83 e8 5a ?? sub eax, 0x5a<90>
   0f 84 41 01 00 00 ?? je basic block L102
  
  L57: 83 e8 07 ?? sub eax, 7
   0f 84 d3 00 00 00 ?? je basic block L87
  
  L58: 48 ?? dec eax
   0f 84 b2 00 00 00 ?? je basic block L84
  
  L59: 48 ?? dec eax
   74 5c ?? je basic block L73
  
  L60: 48 ?? dec eax
   74 2c ?? je basic block L65
  
  L61: 83 e8 06 ?? sub eax, 6
   0f 85 e3 00 00 00 ?? jne basic block L92
  
  L62: 8b 76 1c ?? mov esi, dword ds:[esi + 0x1c<28>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   0f 8c be 00 00 00 ?? jl basic block L89
  
  L63: 81 fe 6d 01 00 00 ?? cmp esi, 0x0000016d<365>
   0f 8f b2 00 00 00 ?? jg basic block L89
  
  L64: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   8d 46 01 ?? lea eax, ds:[esi + 1]
   6a 03 ?? push 3
   eb 1c ?? jmp basic block L70
  
  L65: 8b 76 0c ?? mov esi, dword ds:[esi + 12]
   83 fe 01 ?? cmp esi, 1
   0f 8c 79 ff ff ff ?? jl basic block L51
  
  L66: 83 fe 1f ?? cmp esi, 0x1f<31>
   0f 8f 70 ff ff ff ?? jg basic block L51
  
  L67: 8b c6 ?? mov eax, esi
  
  L68: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
  
  L69: 6a 02 ?? push 2
  
  L70: 5a ?? pop edx
  
  L71: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   8b fb ?? mov edi, ebx
   e8 2e fd ff ff ?? call function 0x00411867
  
  L72: 59 ?? pop ecx
   e9 83 01 00 00 ?? jmp basic block L119
  
  L73: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   33 ff ?? xor edi, edi
   ff 75 0c ?? push dword ss:[ebp + 12]
   53 ?? push ebx
   56 ?? push esi
   39 7d 14 ?? cmp dword ss:[ebp + 0x14<20>], edi
   74 41 ?? je basic block L83
  
  L74: 6a 01 ?? push 1
  
  L75: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 72 01 00 00 ?? call function 0x00411cca
  
  L76: 83 c4 18 ?? add esp, 0x18<24>
   85 c0 ?? test eax, eax
   74 73 ?? je basic block L92
  
  L77: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   39 38 ?? cmp dword ds:[eax], edi
   74 6c ?? je basic block L92
  
  L78: 8b 03 ?? mov eax, dword ds:[ebx]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   c6 00 20 ?? mov byte ds:[eax], 0x20<32>
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   ff 03 ?? inc dword ds:[ebx]
   ff 08 ?? dec dword ds:[eax]
   50 ?? push eax
  
  L79: 53 ?? push ebx
   56 ?? push esi
   6a 02 ?? push 2
  
  L80: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 48 01 00 00 ?? call function 0x00411cca
  
  L81: 83 c4 18 ?? add esp, 0x18<24>
   85 c0 ?? test eax, eax
   0f 85 35 01 00 00 ?? jne basic block L119
  
  L82: eb 43 ?? jmp basic block L92
  
  L83: 57 ?? push edi
   eb be ?? jmp basic block L75
  
  L84: 8b 76 10 ?? mov esi, dword ds:[esi + 0x10<16>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   7c 1f ?? jl basic block L89
  
  L85: 83 fe 0b ?? cmp esi, 11
   7f 1a ?? jg basic block L89
  
  L86: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   8b 54 b2 38 ?? mov edx, dword ds:[edx + esi * 4 + 0x38<56>]
   e9 0e 01 00 00 ?? jmp basic block L118
  
  L87: 8b 76 18 ?? mov esi, dword ds:[esi + 0x18<24>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   7c 05 ?? jl basic block L89
  
  L88: 83 fe 06 ?? cmp esi, 6
   7e 1f ?? jle basic block L93
  
  L89: e8 15 3a ff ff ?? call function 0x004055d4
  
  L90: 57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   e8 9e 71 ff ff ?? call function 0x00408d6d
  
  L91: 83 c4 14 ?? add esp, 0x14<20>
  
  L92: 33 c0 ?? xor eax, eax
   e9 ec 00 00 00 ?? jmp basic block L120
  
  L93: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   8b 14 b2 ?? mov edx, dword ds:[edx + esi * 4]
   e9 d6 00 00 00 ?? jmp basic block L118
  
  L94: 8b 76 10 ?? mov esi, dword ds:[esi + 0x10<16>]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   7c cd ?? jl basic block L89
  
  L95: 83 fe 0b ?? cmp esi, 11
   7f c8 ?? jg basic block L89
  
  L96: 8d 46 01 ?? lea eax, ds:[esi + 1]
   e9 2f ff ff ff ?? jmp basic block L68
  
  L97: 83 e8 70 ?? sub eax, 0x70<112>
   0f 84 8b 00 00 00 ?? je basic block L113
  
  L98: 83 e8 07 ?? sub eax, 7
   74 65 ?? je basic block L110
  
  L99: 48 ?? dec eax
   74 46 ?? je basic block L107
  
  L100: 48 ?? dec eax
   74 26 ?? je basic block L105
  
  L101: 48 ?? dec eax
   75 c1 ?? jne basic block L92
  
  L102: e8 8e 4e 00 00 ?? call function 0x00416aa4
  
  L103: e8 3b 47 00 00 ?? call function 0x00416356
  
  L104: 8b d0 ?? mov edx, eax
   33 c0 ?? xor eax, eax
   39 46 20 ?? cmp dword ds:[esi + 0x20<32>], eax
   8b cb ?? mov ecx, ebx
   0f 95 c0 ?? setne al
   8b d8 ?? mov ebx, eax
   8b 14 9a ?? mov edx, dword ds:[edx + ebx * 4]
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   e9 86 00 00 00 ?? jmp basic block L118
  
  L105: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 79 ff ff ff ?? jl basic block L89
  
  L106: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   99 ?? cdq
   6a 64 ?? push 0x64<100>
   59 ?? pop ecx
   f7 f9 ?? idiv ecx
   8b c2 ?? mov eax, edx
   e9 db fe ff ff ?? jmp basic block L69
  
  L107: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   33 ff ?? xor edi, edi
   ff 75 0c ?? push dword ss:[ebp + 12]
   53 ?? push ebx
   56 ?? push esi
   39 7d 14 ?? cmp dword ss:[ebp + 0x14<20>], edi
   74 07 ?? je basic block L109
  
  L108: 6a 01 ?? push 1
   e9 13 ff ff ff ?? jmp basic block L80
  
  L109: 57 ?? push edi
   e9 0d ff ff ff ?? jmp basic block L80
  
  L110: 8b 46 18 ?? mov eax, dword ds:[esi + 0x18<24>]
   33 ff ?? xor edi, edi
   3b c7 ?? cmp eax, edi
   0f 8c 40 ff ff ff ?? jl basic block L89
  
  L111: 83 f8 06 ?? cmp eax, 6
   0f 8f 37 ff ff ff ?? jg basic block L89
  
  L112: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   33 d2 ?? xor edx, edx
   42 ?? inc edx
   e9 a1 fe ff ff ?? jmp basic block L71
  
  L113: 8b 76 08 ?? mov esi, dword ds:[esi + 8]
   33 ff ?? xor edi, edi
   3b f7 ?? cmp esi, edi
   0f 8c 1f ff ff ff ?? jl basic block L89
  
  L114: 83 fe 17 ?? cmp esi, 0x17<23>
   0f 8f 16 ff ff ff ?? jg basic block L89
  
  L115: 83 fe 0b ?? cmp esi, 11
   8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   7f 08 ?? jg basic block L117
  
  L116: 8b 92 98 00 00 00 ?? mov edx, dword ds:[edx + 0x00000098<152>]
   eb 06 ?? jmp basic block L118
  
  L117: 8b 92 9c 00 00 00 ?? mov edx, dword ds:[edx + 0x0000009c<156>]
  
  L118: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   e8 4f fb ff ff ?? call function 0x00411811
  
  L119: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L120: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  