Code: Select all
L_2112F6B5: push ebp
L_2112F6B6: mov ebp, esp
L_2112F6B8: push ebx
L_2112F6B9: mov ebx, [ebp+0x8]
L_2112F6BC: push esi
L_2112F6BD: mov esi, [ebp+0xc]
L_2112F6C0: push edi
L_2112F6C1: mov edi, [ebp+0x10]
L_2112F6C4: test esi, esi
L_2112F6C6: jnz 0x2112f6d1
L_2112F6C8: cmp dword [0x21154e50], 0x0
L_2112F6CF: jmp 0x2112f6f7
L_2112F6D1: cmp esi, 0x1
L_2112F6D4: jz 0x2112f6db
L_2112F6D6: cmp esi, 0x2
L_2112F6D9: jnz 0x2112f6fd
L_2112F6DB: mov eax, [0x21156500]
L_2112F6E0: test eax, eax
L_2112F6E2: jz 0x2112f6ed
L_2112F6E4: push edi
L_2112F6E5: push esi
L_2112F6E6: push ebx
L_2112F6E7: call eax
L_2112F6E9: test eax, eax
L_2112F6EB: jz 0x2112f6f9
L_2112F6ED: push edi
L_2112F6EE: push esi
L_2112F6EF: push ebx
L_2112F6F0: call 0x2112f5fd
L_2112F6F5: test eax, eax
L_2112F6F7: jnz 0x2112f6fd
L_2112F6F9: xor eax, eax
L_2112F6FB: jmp 0x2112f74b
L_2112F6FD: push edi
L_2112F6FE: push esi
L_2112F6FF: push ebx
L_2112F700: call 0x21101e80
L_2112F705: cmp esi, 0x1
L_2112F708: mov [ebp+0xc], eax
L_2112F70B: jnz 0x2112f719
L_2112F70D: test eax, eax
L_2112F70F: jnz 0x2112f748
L_2112F711: push edi
L_2112F712: push eax
L_2112F713: push ebx
L_2112F714: call 0x2112f5fd
L_2112F719: test esi, esi
L_2112F71B: jz 0x2112f722
L_2112F71D: cmp esi, 0x3
L_2112F720: jnz 0x2112f748
L_2112F722: push edi
L_2112F723: push esi
L_2112F724: push ebx
L_2112F725: call 0x2112f5fd
L_2112F72A: test eax, eax
L_2112F72C: jnz 0x2112f731
L_2112F72E: and [ebp+0xc], eax
L_2112F731: cmp dword [ebp+0xc], 0x0
L_2112F735: jz 0x2112f748
L_2112F737: mov eax, [0x21156500]
L_2112F73C: test eax, eax
L_2112F73E: jz 0x2112f748
L_2112F740: push edi
L_2112F741: push esi
L_2112F742: push ebx
L_2112F743: call eax
L_2112F745: mov [ebp+0xc], eax
L_2112F748: mov eax, [ebp+0xc]
L_2112F74B: pop edi
L_2112F74C: pop esi
L_2112F74D: pop ebx
L_2112F74E: pop ebp
L_2112F74F: ret 0xc
L_2112F752: mov eax, [0x21154e5c]
L_2112F757: cmp eax, 0x1
L_2112F75A: jz 0x2112f769
L_2112F75C: test eax, eax
L_2112F75E: jnz 0x2112f76e
L_2112F760: cmp dword [0x21154e60], 0x1
L_2112F767: jnz 0x2112f76e
L_2112F769: call 0x21132626
L_2112F76E: push dword [esp+0x4]
L_2112F772: call 0x2113265f
L_2112F777: push 0xff
L_2112F77C: call [0x2114d650]
L_2112F782: pop ecx
L_2112F783: pop ecx
L_2112F784: ret
L_2112F785: push esi
L_2112F786: mov esi, [esp+0x8]
L_2112F78A: push dword [esi+0x10]
L_2112F78D: call 0x2113291d
L_2112F792: test eax, eax
L_2112F794: pop ecx
L_2112F795: jz 0x2112f80e
L_2112F797: cmp esi, 0x2114daa0
L_2112F79D: jnz 0x2112f7a3
L_2112F79F: xor eax, eax
L_2112F7A1: jmp 0x2112f7ae
L_2112F7A3: cmp esi, 0x2114dac0
L_2112F7A9: jnz 0x2112f80e
L_2112F7AB: push 0x1
L_2112F7AD: pop eax
L_2112F7AE: inc dword [0x211550e0]
L_2112F7B4: test word [esi+0xc], 0x10c
L_2112F7BA: jnz 0x2112f80e
L_2112F7BC: cmp dword [eax*4+0x21154e64], 0x0
L_2112F7C4: push ebx
L_2112F7C5: push edi
L_2112F7C6: lea edi, [eax*4+0x21154e64]
L_2112F7CD: mov ebx, 0x1000
L_2112F7D2: jnz 0x2112f7f4
L_2112F7D4: push ebx
L_2112F7D5: call 0x211327b2
L_2112F7DA: test eax, eax
L_2112F7DC: pop ecx
L_2112F7DD: mov [edi], eax
L_2112F7DF: jnz 0x2112f7f4
L_2112F7E1: lea eax, [esi+0x14]
L_2112F7E4: push 0x2
L_2112F7E6: mov [esi+0x8], eax
L_2112F7E9: mov [esi], eax
L_2112F7EB: pop eax
L_2112F7EC: mov [esi+0x18], eax
L_2112F7EF: mov [esi+0x4], eax
L_2112F7F2: jmp 0x2112f801
L_2112F7F4: mov edi, [edi]
L_2112F7F6: mov [esi+0x18], ebx
L_2112F7F9: mov [esi+0x8], edi
L_2112F7FC: mov [esi], edi
L_2112F7FE: mov [esi+0x4], ebx
L_2112F801: or word [esi+0xc], 0x1102
L_2112F807: push 0x1
L_2112F809: pop eax
L_2112F80A: pop edi
L_2112F80B: pop ebx
L_2112F80C: pop esi
L_2112F80D: ret
L_2112F80E: xor eax, eax
L_2112F810: pop esi
L_2112F811: ret
L_2112F812: cmp dword [esp+0x4], 0x0
L_2112F817: push esi
L_2112F818: jz 0x2112f83c
L_2112F81A: mov esi, [esp+0xc]
L_2112F81E: test byte [esi+0xd], 0x10
L_2112F822: jz 0x2112f84d
L_2112F824: push esi
L_2112F825: call 0x21130bf2
L_2112F82A: and byte [esi+0xd], 0xee
L_2112F82E: and dword [esi+0x18], 0x0
L_2112F832: and dword [esi], 0x0
L_2112F835: and dword [esi+0x8], 0x0
L_2112F839: pop ecx
L_2112F83A: pop esi
L_2112F83B: ret
L_2112F83C: mov eax, [esp+0xc]
L_2112F840: test byte [eax+0xd], 0x10
L_2112F844: jz 0x2112f84d
L_2112F846: push eax
L_2112F847: call 0x21130bf2
L_2112F84C: pop ecx
L_2112F84D: pop esi
L_2112F84E: ret
L_2112F84F: push ebp
L_2112F850: mov ebp, esp
L_2112F852: sub esp, 0x248
L_2112F858: push ebx
L_2112F859: push esi
L_2112F85A: push edi
L_2112F85B: mov edi, [ebp+0xc]
L_2112F85E: xor esi, esi
L_2112F860: mov bl, [edi]
L_2112F862: inc edi
L_2112F863: test bl, bl
L_2112F865: mov [ebp-0xc], esi
L_2112F868: mov [ebp-0x14], esi
L_2112F86B: mov [ebp+0xc], edi
L_2112F86E: jz 0x2112ff68
L_2112F874: mov ecx, [ebp-0x10]
L_2112F877: xor edx, edx
L_2112F879: jmp 0x2112f883
L_2112F87B: mov ecx, [ebp-0x10]
L_2112F87E: mov esi, [ebp-0x30]
L_2112F881: xor edx, edx
L_2112F883: cmp [ebp-0x14], edx
L_2112F886: jl 0x2112ff68
L_2112F88C: cmp bl, 0x20
L_2112F88F: jl 0x2112f8a4
L_2112F891: cmp bl, 0x78
L_2112F894: jg 0x2112f8a4
L_2112F896: movsx eax, bl
L_2112F899: mov al, [eax+0x21147dd8]
L_2112F89F: and eax, 0xf
L_2112F8A2: jmp 0x2112f8a6
L_2112F8A4: xor eax, eax
L_2112F8A6: movsx eax, byte [esi+eax*8+0x21147df8]
L_2112F8AE: sar eax, 0x4
L_2112F8B1: cmp eax, 0x7
L_2112F8B4: mov [ebp-0x30], eax
L_2112F8B7: ja 0x2112ff57
L_2112F8BD: jmp [eax*4+0x2112ff70]
L_2112F8C4: or dword [ebp-0x10], -0x1
L_2112F8C8: mov [ebp-0x34], edx
L_2112F8CB: mov [ebp-0x28], edx
L_2112F8CE: mov [ebp-0x20], edx
L_2112F8D1: mov [ebp-0x1c], edx
L_2112F8D4: mov [ebp-0x4], edx
L_2112F8D7: mov [ebp-0x24], edx
L_2112F8DA: jmp 0x2112ff57
L_2112F8DF: movsx eax, bl
L_2112F8E2: sub eax, 0x20
L_2112F8E5: jz 0x2112f922
L_2112F8E7: sub eax, 0x3
L_2112F8EA: jz 0x2112f919
L_2112F8EC: sub eax, 0x8
L_2112F8EF: jz 0x2112f910
L_2112F8F1: dec eax
L_2112F8F2: dec eax
L_2112F8F3: jz 0x2112f907
L_2112F8F5: sub eax, 0x3
L_2112F8F8: jnz 0x2112ff57
L_2112F8FE: or dword [ebp-0x4], 0x8
L_2112F902: jmp 0x2112ff57
L_2112F907: or dword [ebp-0x4], 0x4
L_2112F90B: jmp 0x2112ff57
L_2112F910: or dword [ebp-0x4], 0x1
L_2112F914: jmp 0x2112ff57
L_2112F919: or byte [ebp-0x4], 0x80
L_2112F91D: jmp 0x2112ff57
L_2112F922: or dword [ebp-0x4], 0x2
L_2112F926: jmp 0x2112ff57
L_2112F92B: cmp bl, 0x2a
L_2112F92E: jnz 0x2112f953
L_2112F930: lea eax, [ebp+0x10]
L_2112F933: push eax
L_2112F934: call 0x2113002e
L_2112F939: test eax, eax
L_2112F93B: pop ecx
L_2112F93C: mov [ebp-0x20], eax
L_2112F93F: jge 0x2112ff57
L_2112F945: or dword [ebp-0x4], 0x4
L_2112F949: neg eax
L_2112F94B: mov [ebp-0x20], eax
L_2112F94E: jmp 0x2112ff57
L_2112F953: mov eax, [ebp-0x20]
L_2112F956: movsx ecx, bl
L_2112F959: lea eax, [eax+eax*4]
L_2112F95C: lea eax, [ecx+eax*2-0x30]
L_2112F960: jmp 0x2112f94b
L_2112F962: mov [ebp-0x10], edx
L_2112F965: jmp 0x2112ff57
L_2112F96A: cmp bl, 0x2a
L_2112F96D: jnz 0x2112f98d
L_2112F96F: lea eax, [ebp+0x10]
L_2112F972: push eax
L_2112F973: call 0x2113002e
L_2112F978: test eax, eax
L_2112F97A: pop ecx
L_2112F97B: mov [ebp-0x10], eax
L_2112F97E: jge 0x2112ff57
L_2112F984: or dword [ebp-0x10], -0x1
L_2112F988: jmp 0x2112ff57
L_2112F98D: lea eax, [ecx+ecx*4]
L_2112F990: movsx ecx, bl
L_2112F993: lea eax, [ecx+eax*2-0x30]
L_2112F997: mov [ebp-0x10], eax
L_2112F99A: jmp 0x2112ff57
L_2112F99F: cmp bl, 0x49
L_2112F9A2: jz 0x2112f9d2
L_2112F9A4: cmp bl, 0x68
L_2112F9A7: jz 0x2112f9c9
L_2112F9A9: cmp bl, 0x6c
L_2112F9AC: jz 0x2112f9c0
L_2112F9AE: cmp bl, 0x77
L_2112F9B1: jnz 0x2112ff57
L_2112F9B7: or byte [ebp-0x3], 0x8
L_2112F9BB: jmp 0x2112ff57
L_2112F9C0: or dword [ebp-0x4], 0x10
L_2112F9C4: jmp 0x2112ff57
L_2112F9C9: or dword [ebp-0x4], 0x20
L_2112F9CD: jmp 0x2112ff57
L_2112F9D2: cmp byte [edi], 0x36
L_2112F9D5: jnz 0x2112f9eb
L_2112F9D7: cmp byte [edi+0x1], 0x34
L_2112F9DB: jnz 0x2112f9eb
L_2112F9DD: inc edi
L_2112F9DE: inc edi
L_2112F9DF: or byte [ebp-0x3], 0x80
L_2112F9E3: mov [ebp+0xc], edi
L_2112F9E6: jmp 0x2112ff57
L_2112F9EB: mov [ebp-0x30], edx
L_2112F9EE: mov ecx, [0x2114d724]
L_2112F9F4: mov [ebp-0x24], edx
L_2112F9F7: movzx eax, bl
L_2112F9FA: test byte [ecx+eax*2+0x1], 0x80
L_2112F9FF: jz 0x2112fa1a
L_2112FA01: lea eax, [ebp-0x14]
L_2112FA04: push eax
L_2112FA05: push dword [ebp+0x8]
L_2112FA08: movsx eax, bl
L_2112FA0B: push eax
L_2112FA0C: call 0x2112ff90
L_2112FA11: mov bl, [edi]
L_2112FA13: add esp, 0xc
L_2112FA16: inc edi
L_2112FA17: mov [ebp+0xc], edi
L_2112FA1A: lea eax, [ebp-0x14]
L_2112FA1D: push eax
L_2112FA1E: push dword [ebp+0x8]
L_2112FA21: movsx eax, bl
L_2112FA24: push eax
L_2112FA25: call 0x2112ff90
L_2112FA2A: add esp, 0xc
L_2112FA2D: jmp 0x2112ff57
L_2112FA32: movsx eax, bl
L_2112FA35: cmp eax, 0x67
L_2112FA38: jg 0x2112fc5a
L_2112FA3E: cmp eax, 0x65
L_2112FA41: jge 0x2112fadd
L_2112FA47: cmp eax, 0x58
L_2112FA4A: jg 0x2112fb3b
L_2112FA50: jz 0x2112fcce
L_2112FA56: sub eax, 0x43
L_2112FA59: jz 0x2112fafe
L_2112FA5F: dec eax
L_2112FA60: dec eax
L_2112FA61: jz 0x2112fad3
L_2112FA63: dec eax
L_2112FA64: dec eax
L_2112FA65: jz 0x2112fad3
L_2112FA67: sub eax, 0xc
L_2112FA6A: jnz 0x2112fe59
L_2112FA70: test word [ebp-0x4], 0x830
L_2112FA76: jnz 0x2112fa7c
L_2112FA78: or byte [ebp-0x3], 0x8
L_2112FA7C: mov esi, [ebp-0x10]
L_2112FA7F: cmp esi, -0x1
L_2112FA82: jnz 0x2112fa89
L_2112FA84: mov esi, 0x7fffffff
L_2112FA89: lea eax, [ebp+0x10]
L_2112FA8C: push eax
L_2112FA8D: call 0x2113002e
L_2112FA92: test word [ebp-0x4], 0x810
L_2112FA98: pop ecx
L_2112FA99: mov ecx, eax
L_2112FA9B: mov [ebp-0x8], ecx
L_2112FA9E: jz 0x2112fca2
L_2112FAA4: test ecx, ecx
L_2112FAA6: jnz 0x2112fab1
L_2112FAA8: mov ecx, [0x2114d658]
L_2112FAAE: mov [ebp-0x8], ecx
L_2112FAB1: mov dword [ebp-0x24], 0x1
L_2112FAB8: mov eax, ecx
L_2112FABA: mov edx, esi
L_2112FABC: dec esi
L_2112FABD: test edx, edx
L_2112FABF: jz 0x2112fc99
L_2112FAC5: cmp word [eax], 0x0
L_2112FAC9: jz 0x2112fc99
L_2112FACF: inc eax
L_2112FAD0: inc eax
L_2112FAD1: jmp 0x2112faba
L_2112FAD3: mov dword [ebp-0x34], 0x1
L_2112FADA: add bl, 0x20
L_2112FADD: or dword [ebp-0x4], 0x40
L_2112FAE1: lea edi, [ebp-0x248]
L_2112FAE7: cmp ecx, edx
L_2112FAE9: mov [ebp-0x8], edi
L_2112FAEC: jge 0x2112fbc1
L_2112FAF2: mov dword [ebp-0x10], 0x6
L_2112FAF9: jmp 0x2112fbcf
L_2112FAFE: test word [ebp-0x4], 0x830
L_2112FB04: jnz 0x2112fb0a
L_2112FB06: or byte [ebp-0x3], 0x8
L_2112FB0A: test word [ebp-0x4], 0x810
L_2112FB10: lea eax, [ebp+0x10]
L_2112FB13: push eax
L_2112FB14: jz 0x2112fb51
L_2112FB16: call 0x2113004b
L_2112FB1B: push eax
L_2112FB1C: lea eax, [ebp-0x248]
L_2112FB22: push eax
L_2112FB23: call 0x211329cb
L_2112FB28: add esp, 0xc
L_2112FB2B: mov [ebp-0xc], eax
L_2112FB2E: test eax, eax
L_2112FB30: jge 0x2112fb64
L_2112FB32: mov dword [ebp-0x28], 0x1
L_2112FB39: jmp 0x2112fb64
L_2112FB3B: sub eax, 0x5a
L_2112FB3E: jz 0x2112fb72
L_2112FB40: sub eax, 0x9
L_2112FB43: jz 0x2112fb0a
L_2112FB45: dec eax
L_2112FB46: jz 0x2112fd34
L_2112FB4C: jmp 0x2112fe59
L_2112FB51: call 0x2113002e
L_2112FB56: pop ecx
L_2112FB57: mov [ebp-0x248], al
L_2112FB5D: mov dword [ebp-0xc], 0x1
L_2112FB64: lea eax, [ebp-0x248]
L_2112FB6A: mov [ebp-0x8], eax
L_2112FB6D: jmp 0x2112fe59
L_2112FB72: lea eax, [ebp+0x10]
L_2112FB75: push eax
L_2112FB76: call 0x2113002e
L_2112FB7B: test eax, eax
L_2112FB7D: pop ecx
L_2112FB7E: jz 0x2112fbb3
L_2112FB80: mov ecx, [eax+0x4]
L_2112FB83: test ecx, ecx
L_2112FB85: jz 0x2112fbb3
L_2112FB87: test byte [ebp-0x3], 0x8
L_2112FB8B: jz 0x2112fba4
L_2112FB8D: movsx eax, [eax]
L_2112FB90: shr eax, 0x1
L_2112FB92: mov [ebp-0x8], ecx
L_2112FB95: mov [ebp-0xc], eax
L_2112FB98: mov dword [ebp-0x24], 0x1
L_2112FB9F: jmp 0x2112fe59
L_2112FBA4: and dword [ebp-0x24], 0x0
L_2112FBA8: mov [ebp-0x8], ecx
L_2112FBAB: movsx eax, [eax]
L_2112FBAE: jmp 0x2112fe56
L_2112FBB3: mov eax, [0x2114d654]
L_2112FBB8: mov [ebp-0x8], eax
L_2112FBBB: push eax
L_2112FBBC: jmp 0x2112fc4f
L_2112FBC1: jnz 0x2112fbcf
L_2112FBC3: cmp bl, 0x67
L_2112FBC6: jnz 0x2112fbcf
L_2112FBC8: mov dword [ebp-0x10], 0x1
L_2112FBCF: mov eax, [ebp+0x10]
L_2112FBD2: push dword [ebp-0x34]
L_2112FBD5: add eax, 0x8
L_2112FBD8: mov [ebp+0x10], eax
L_2112FBDB: push dword [ebp-0x10]
L_2112FBDE: mov ecx, [eax-0x8]
L_2112FBE1: mov [ebp-0x48], ecx
L_2112FBE4: mov eax, [eax-0x4]
L_2112FBE7: mov [ebp-0x44], eax
L_2112FBEA: movsx eax, bl
L_2112FBED: push eax
L_2112FBEE: lea eax, [ebp-0x248]
L_2112FBF4: push eax
L_2112FBF5: lea eax, [ebp-0x48]
L_2112FBF8: push eax
L_2112FBF9: call [0x2114d70c]
L_2112FBFF: mov esi, [ebp-0x4]
L_2112FC02: add esp, 0x14
L_2112FC05: and esi, 0x80
L_2112FC0B: jz 0x2112fc21
L_2112FC0D: cmp dword [ebp-0x10], 0x0
L_2112FC11: jnz 0x2112fc21
L_2112FC13: lea eax, [ebp-0x248]
L_2112FC19: push eax
L_2112FC1A: call [0x2114d718]
L_2112FC20: pop ecx
L_2112FC21: cmp bl, 0x67
L_2112FC24: jnz 0x2112fc38
L_2112FC26: test esi, esi
L_2112FC28: jnz 0x2112fc38
L_2112FC2A: lea eax, [ebp-0x248]
L_2112FC30: push eax
L_2112FC31: call [0x2114d710]
L_2112FC37: pop ecx
L_2112FC38: cmp byte [ebp-0x248], 0x2d
L_2112FC3F: jnz 0x2112fc4e
L_2112FC41: or byte [ebp-0x3], 0x1
L_2112FC45: lea edi, [ebp-0x247]
L_2112FC4B: mov [ebp-0x8], edi
L_2112FC4E: push edi
L_2112FC4F: call 0x21132950
L_2112FC54: pop ecx
L_2112FC55: jmp 0x2112fe56
L_2112FC5A: sub eax, 0x69
L_2112FC5D: jz 0x2112fd34
L_2112FC63: sub eax, 0x5
L_2112FC66: jz 0x2112fd0a
L_2112FC6C: dec eax
L_2112FC6D: jz 0x2112fcf7
L_2112FC73: dec eax
L_2112FC74: jz 0x2112fcc7
L_2112FC76: sub eax, 0x3
L_2112FC79: jz 0x2112fa7c
L_2112FC7F: dec eax
L_2112FC80: dec eax
L_2112FC81: jz 0x2112fd38
L_2112FC87: sub eax, 0x3
L_2112FC8A: jnz 0x2112fe59
L_2112FC90: mov dword [ebp-0x2c], 0x27
L_2112FC97: jmp 0x2112fcd5
L_2112FC99: sub eax, ecx
L_2112FC9B: sar eax, 0x1
L_2112FC9D: jmp 0x2112fe56
L_2112FCA2: test ecx, ecx
L_2112FCA4: jnz 0x2112fcaf
L_2112FCA6: mov ecx, [0x2114d654]
L_2112FCAC: mov [ebp-0x8], ecx
L_2112FCAF: mov eax, ecx
L_2112FCB1: mov edx, esi
L_2112FCB3: dec esi
L_2112FCB4: test edx, edx
L_2112FCB6: jz 0x2112fcc0
L_2112FCB8: cmp byte [eax], 0x0
L_2112FCBB: jz 0x2112fcc0
L_2112FCBD: inc eax
L_2112FCBE: jmp 0x2112fcb1
L_2112FCC0: sub eax, ecx
L_2112FCC2: jmp 0x2112fe56
L_2112FCC7: mov dword [ebp-0x10], 0x8
L_2112FCCE: mov dword [ebp-0x2c], 0x7
L_2112FCD5: test byte [ebp-0x4], 0x80
L_2112FCD9: mov dword [ebp-0xc], 0x10
L_2112FCE0: jz 0x2112fd3f
L_2112FCE2: mov al, [ebp-0x2c]
L_2112FCE5: mov byte [ebp-0x16], 0x30
L_2112FCE9: add al, 0x51
L_2112FCEB: mov dword [ebp-0x1c], 0x2
L_2112FCF2: mov [ebp-0x15], al
L_2112FCF5: jmp 0x2112fd3f
L_2112FCF7: test byte [ebp-0x4], 0x80
L_2112FCFB: mov dword [ebp-0xc], 0x8
L_2112FD02: jz 0x2112fd3f
L_2112FD04: or byte [ebp-0x3], 0x2
L_2112FD08: jmp 0x2112fd3f
L_2112FD0A: lea eax, [ebp+0x10]
L_2112FD0D: push eax
L_2112FD0E: call 0x2113002e
L_2112FD13: test byte [ebp-0x4], 0x20
L_2112FD17: pop ecx
L_2112FD18: jz 0x2112fd23
L_2112FD1A: mov cx, [ebp-0x14]
L_2112FD1E: mov [eax], cx
L_2112FD21: jmp 0x2112fd28
L_2112FD23: mov ecx, [ebp-0x14]
L_2112FD26: mov [eax], ecx
L_2112FD28: mov dword [ebp-0x28], 0x1
L_2112FD2F: jmp 0x2112ff57
L_2112FD34: or dword [ebp-0x4], 0x40
L_2112FD38: mov dword [ebp-0xc], 0xa
L_2112FD3F: test byte [ebp-0x3], 0x80
L_2112FD43: jz 0x2112fd51
L_2112FD45: lea eax, [ebp+0x10]
L_2112FD48: push eax
L_2112FD49: call 0x2113003b
L_2112FD4E: pop ecx
L_2112FD4F: jmp 0x2112fd92
L_2112FD51: test byte [ebp-0x4], 0x20
L_2112FD55: jz 0x2112fd78
L_2112FD57: test byte [ebp-0x4], 0x40
L_2112FD5B: lea eax, [ebp+0x10]
L_2112FD5E: push eax
L_2112FD5F: jz 0x2112fd6d
L_2112FD61: call 0x2113002e
L_2112FD66: pop ecx
L_2112FD67: movsx eax, ax
L_2112FD6A: cdq
L_2112FD6B: jmp 0x2112fd92
L_2112FD6D: call 0x2113002e
L_2112FD72: pop ecx
L_2112FD73: movzx eax, ax
L_2112FD76: jmp 0x2112fd6a
L_2112FD78: test byte [ebp-0x4], 0x40
L_2112FD7C: lea eax, [ebp+0x10]
L_2112FD7F: push eax
L_2112FD80: jz 0x2112fd8a
L_2112FD82: call 0x2113002e
L_2112FD87: pop ecx
L_2112FD88: jmp 0x2112fd6a
L_2112FD8A: call 0x2113002e
L_2112FD8F: pop ecx
L_2112FD90: xor edx, edx
L_2112FD92: test byte [ebp-0x4], 0x40
L_2112FD96: jz 0x2112fdb3
L_2112FD98: test edx, edx
L_2112FD9A: jg 0x2112fdb3
L_2112FD9C: jl 0x2112fda2
L_2112FD9E: test eax, eax
L_2112FDA0: jae 0x2112fdb3
L_2112FDA2: neg eax
L_2112FDA4: adc edx, 0x0
L_2112FDA7: mov esi, eax
L_2112FDA9: neg edx
L_2112FDAB: or byte [ebp-0x3], 0x1
L_2112FDAF: mov edi, edx
L_2112FDB1: jmp 0x2112fdb7
L_2112FDB3: mov esi, eax
L_2112FDB5: mov edi, edx
L_2112FDB7: test byte [ebp-0x3], 0x80
L_2112FDBB: jnz 0x2112fdc0
L_2112FDBD: and edi, 0x0
L_2112FDC0: cmp dword [ebp-0x10], 0x0
L_2112FDC4: jge 0x2112fdcf
L_2112FDC6: mov dword [ebp-0x10], 0x1
L_2112FDCD: jmp 0x2112fdd3
L_2112FDCF: and dword [ebp-0x4], -0x9
L_2112FDD3: mov eax, esi
L_2112FDD5: or eax, edi
L_2112FDD7: jnz 0x2112fddd
L_2112FDD9: and dword [ebp-0x1c], 0x0
L_2112FDDD: lea eax, [ebp-0x49]
L_2112FDE0: mov [ebp-0x8], eax
L_2112FDE3: mov eax, [ebp-0x10]
L_2112FDE6: dec dword [ebp-0x10]
L_2112FDE9: test eax, eax
L_2112FDEB: jg 0x2112fdf3
L_2112FDED: mov eax, esi
L_2112FDEF: or eax, edi
L_2112FDF1: jz 0x2112fe2e
L_2112FDF3: mov eax, [ebp-0xc]
L_2112FDF6: cdq
L_2112FDF7: push edx
L_2112FDF8: push eax
L_2112FDF9: push edi
L_2112FDFA: push esi
L_2112FDFB: mov [ebp-0x40], eax
L_2112FDFE: mov [ebp-0x3c], edx
L_2112FE01: call 0x21132ab0
L_2112FE06: push dword [ebp-0x3c]
L_2112FE09: mov ebx, eax
L_2112FE0B: add ebx, 0x30
L_2112FE0E: push dword [ebp-0x40]
L_2112FE11: push edi
L_2112FE12: push esi
L_2112FE13: call 0x21132a40
L_2112FE18: cmp ebx, 0x39
L_2112FE1B: mov esi, eax
L_2112FE1D: mov edi, edx
L_2112FE1F: jle 0x2112fe24
L_2112FE21: add ebx, [ebp-0x2c]
L_2112FE24: mov eax, [ebp-0x8]
L_2112FE27: dec dword [ebp-0x8]
L_2112FE2A: mov [eax], bl
L_2112FE2C: jmp 0x2112fde3
L_2112FE2E: lea eax, [ebp-0x49]
L_2112FE31: sub eax, [ebp-0x8]
L_2112FE34: inc dword [ebp-0x8]
L_2112FE37: test byte [ebp-0x3], 0x2
L_2112FE3B: mov [ebp-0xc], eax
L_2112FE3E: jz 0x2112fe59
L_2112FE40: mov ecx, [ebp-0x8]
L_2112FE43: cmp byte [ecx], 0x30
L_2112FE46: jnz 0x2112fe4c
L_2112FE48: test eax, eax
L_2112FE4A: jnz 0x2112fe59
L_2112FE4C: dec dword [ebp-0x8]
L_2112FE4F: inc eax
L_2112FE50: mov ecx, [ebp-0x8]
L_2112FE53: mov byte [ecx], 0x30
L_2112FE56: mov [ebp-0xc], eax
L_2112FE59: cmp dword [ebp-0x28], 0x0
L_2112FE5D: jnz 0x2112ff57
L_2112FE63: mov ebx, [ebp-0x4]
L_2112FE66: test bl, 0x40
L_2112FE69: jz 0x2112fe91
L_2112FE6B: test bh, 0x1
L_2112FE6E: jz 0x2112fe76
L_2112FE70: mov byte [ebp-0x16], 0x2d
L_2112FE74: jmp 0x2112fe8a
L_2112FE76: test bl, 0x1
L_2112FE79: jz 0x2112fe81
L_2112FE7B: mov byte [ebp-0x16], 0x2b
L_2112FE7F: jmp 0x2112fe8a
L_2112FE81: test bl, 0x2
L_2112FE84: jz 0x2112fe91
L_2112FE86: mov byte [ebp-0x16], 0x20
L_2112FE8A: mov dword [ebp-0x1c], 0x1
L_2112FE91: mov esi, [ebp-0x20]
L_2112FE94: sub esi, [ebp-0x1c]
L_2112FE97: sub esi, [ebp-0xc]
L_2112FE9A: test bl, 0xc
L_2112FE9D: jnz 0x2112feb1
L_2112FE9F: lea eax, [ebp-0x14]
L_2112FEA2: push eax
L_2112FEA3: push dword [ebp+0x8]
L_2112FEA6: push esi
L_2112FEA7: push 0x20
L_2112FEA9: call 0x2112ffc5
L_2112FEAE: add esp, 0x10
L_2112FEB1: lea eax, [ebp-0x14]
L_2112FEB4: push eax
L_2112FEB5: lea eax, [ebp-0x16]
L_2112FEB8: push dword [ebp+0x8]
L_2112FEBB: push dword [ebp-0x1c]
L_2112FEBE: push eax
L_2112FEBF: call 0x2112fff6
L_2112FEC4: add esp, 0x10
L_2112FEC7: test bl, 0x8
L_2112FECA: jz 0x2112fee3
L_2112FECC: test bl, 0x4
L_2112FECF: jnz 0x2112fee3
L_2112FED1: lea eax, [ebp-0x14]
L_2112FED4: push eax
L_2112FED5: push dword [ebp+0x8]
L_2112FED8: push esi
L_2112FED9: push 0x30
L_2112FEDB: call 0x2112ffc5
L_2112FEE0: add esp, 0x10
L_2112FEE3: cmp dword [ebp-0x24], 0x0
L_2112FEE7: jz 0x2112ff2a
L_2112FEE9: cmp dword [ebp-0xc], 0x0
L_2112FEED: jle 0x2112ff2a
L_2112FEEF: mov eax, [ebp-0xc]
L_2112FEF2: mov ebx, [ebp-0x8]
L_2112FEF5: lea edi, [eax-0x1]
L_2112FEF8: mov ax, [ebx]
L_2112FEFB: inc ebx
L_2112FEFC: push eax
L_2112FEFD: lea eax, [ebp-0x38]
L_2112FF00: push eax
L_2112FF01: inc ebx
L_2112FF02: call 0x211329cb
L_2112FF07: pop ecx
L_2112FF08: test eax, eax
L_2112FF0A: pop ecx
L_2112FF0B: jle 0x2112ff3f
L_2112FF0D: lea ecx, [ebp-0x14]
L_2112FF10: push ecx
L_2112FF11: push dword [ebp+0x8]
L_2112FF14: push eax
L_2112FF15: lea eax, [ebp-0x38]
L_2112FF18: push eax
L_2112FF19: call 0x2112fff6
L_2112FF1E: add esp, 0x10
L_2112FF21: mov eax, edi
L_2112FF23: dec edi
L_2112FF24: test eax, eax
L_2112FF26: jnz 0x2112fef8
L_2112FF28: jmp 0x2112ff3f
L_2112FF2A: lea eax, [ebp-0x14]
L_2112FF2D: push eax
L_2112FF2E: push dword [ebp+0x8]
L_2112FF31: push dword [ebp-0xc]
L_2112FF34: push dword [ebp-0x8]
L_2112FF37: call 0x2112fff6
L_2112FF3C: add esp, 0x10
L_2112FF3F: test byte [ebp-0x4], 0x4
L_2112FF43: jz 0x2112ff57
L_2112FF45: lea eax, [ebp-0x14]
L_2112FF48: push eax
L_2112FF49: push dword [ebp+0x8]
L_2112FF4C: push esi
L_2112FF4D: push 0x20
L_2112FF4F: call 0x2112ffc5
L_2112FF54: add esp, 0x10
L_2112FF57: mov edi, [ebp+0xc]
L_2112FF5A: mov bl, [edi]
L_2112FF5C: inc edi
L_2112FF5D: test bl, bl
L_2112FF5F: mov [ebp+0xc], edi
L_2112FF62: jnz 0x2112f87b
L_2112FF68: mov eax, [ebp-0x14]
L_2112FF6B: pop edi
L_2112FF6C: pop esi
L_2112FF6D: pop ebx
L_2112FF6E: leave
L_2112FF6F: ret
L_2112FF70: out dx, al
L_2112FF71: stc
L_2112FF72: adc ah, [ecx]
L_2112FF74: db 0xc4
L_2112FF75: clc
L_2112FF76: adc ah, [ecx]
L_2112FF78: db 0xdf
L_2112FF79: clc
L_2112FF7A: adc ah, [ecx]
L_2112FF7C: sub edi, ecx
L_2112FF7E: adc ah, [ecx]
L_2112FF80: db 0x62
L_2112FF81: stc
L_2112FF82: adc ah, [ecx]
L_2112FF84: push -0x7
L_2112FF86: adc ah, [ecx]
L_2112FF88: lahf
L_2112FF89: stc
L_2112FF8A: adc ah, [ecx]
L_2112FF8C: xor bh, dl
L_2112FF8E: adc ah, [ecx]
L_2112FF90: push ebp
L_2112FF91: mov ebp, esp
L_2112FF93: mov ecx, [ebp+0xc]
L_2112FF96: dec dword [ecx+0x4]
L_2112FF99: js 0x2112ffa9
L_2112FF9B: mov edx, [ecx]
L_2112FF9D: mov al, [ebp+0x8]
L_2112FFA0: mov [edx], al
L_2112FFA2: inc dword [ecx]
L_2112FFA4: movzx eax, al
L_2112FFA7: jmp 0x2112ffb4
L_2112FFA9: push ecx
L_2112FFAA: push dword [ebp+0x8]
L_2112FFAD: call 0x21130059
L_2112FFB2: pop ecx
L_2112FFB3: pop ecx
L_2112FFB4: cmp eax, -0x1
L_2112FFB7: mov eax, [ebp+0x10]
L_2112FFBA: jnz 0x2112ffc1
L_2112FFBC: or dword [eax], -0x1
L_2112FFBF: pop ebp
L_2112FFC0: ret
L_2112FFC1: inc dword [eax]
L_2112FFC3: pop ebp
L_2112FFC4: ret
L_2112FFC5: push esi
L_2112FFC6: push edi
L_2112FFC7: mov edi, [esp+0x10]
L_2112FFCB: mov eax, edi
L_2112FFCD: dec edi
L_2112FFCE: test eax, eax
L_2112FFD0: jle 0x2112fff3
L_2112FFD2: mov esi, [esp+0x18]
L_2112FFD6: push esi
L_2112FFD7: push dword [esp+0x18]
L_2112FFDB: push dword [esp+0x14]
L_2112FFDF: call 0x2112ff90
L_2112FFE4: add esp, 0xc
L_2112FFE7: cmp dword [esi], -0x1
L_2112FFEA: jz 0x2112fff3
L_2112FFEC: mov eax, edi
L_2112FFEE: dec edi
L_2112FFEF: test eax, eax
L_2112FFF1: jg 0x2112ffd6
L_2112FFF3: pop edi
L_2112FFF4: pop esi
L_2112FFF5: ret
L_2112FFF6: push ebx
L_2112FFF7: mov ebx, [esp+0xc]
L_2112FFFB: mov eax, ebx
L_2112FFFD: dec ebx
L_2112FFFE: push esi
L_2112FFFF: push edi
L_21130000: test eax, eax
L_21130002: jle 0x2113002a
L_21130004: mov edi, [esp+0x1c]
L_21130008: mov esi, [esp+0x10]
L_2113000C: movsx eax, byte [esi]
L_2113000F: push edi
L_21130010: inc esi
L_21130011: push dword [esp+0x1c]
L_21130015: push eax
L_21130016: call 0x2112ff90
L_2113001B: add esp, 0xc
L_2113001E: cmp dword [edi], -0x1
L_21130021: jz 0x2113002a
L_21130023: mov eax, ebx
L_21130025: dec ebx
L_21130026: test eax, eax
L_21130028: jg 0x2113000c
L_2113002A: pop edi
L_2113002B: pop esi
L_2113002C: pop ebx
L_2113002D: ret
L_2113002E: mov eax, [esp+0x4]
L_21130032: add dword [eax], 0x4
L_21130035: mov eax, [eax]
L_21130037: mov eax, [eax-0x4]
L_2113003A: ret
L_2113003B: mov eax, [esp+0x4]
L_2113003F: add dword [eax], 0x8
L_21130042: mov ecx, [eax]
L_21130044: mov eax, [ecx-0x8]
L_21130047: mov edx, [ecx-0x4]
L_2113004A: ret
L_2113004B: mov eax, [esp+0x4]
L_2113004F: add dword [eax], 0x4
L_21130052: mov eax, [eax]
L_21130054: mov ax, [eax-0x4]
L_21130058: ret
L_21130059: push ebp
L_2113005A: mov ebp, esp
L_2113005C: push ebx
L_2113005D: push esi
L_2113005E: mov esi, [ebp+0xc]
L_21130061: mov eax, [esi+0xc]
L_21130064: mov ebx, [esi+0x10]
L_21130067: test al, 0x82
L_21130069: jz 0x21130162
L_2113006F: test al, 0x40
L_21130071: jnz 0x21130162
L_21130077: test al, 0x1
L_21130079: jz 0x21130091
L_2113007B: and dword [esi+0x4], 0x0
L_2113007F: test al, 0x10
L_21130081: jz 0x21130162
L_21130087: mov ecx, [esi+0x8]
L_2113008A: and al, 0xfe
L_2113008C: mov [esi], ecx
L_2113008E: mov [esi+0xc], eax
L_21130091: mov eax, [esi+0xc]
L_21130094: and dword [esi+0x4], 0x0
L_21130098: and dword [ebp+0xc], 0x0
L_2113009C: and al, 0xef
L_2113009E: or al, 0x2
L_211300A0: test ax, 0x10c
L_211300A4: mov [esi+0xc], eax
L_211300A7: jnz 0x211300cb
L_211300A9: cmp esi, 0x2114daa0
L_211300AF: jz 0x211300b9
L_211300B1: cmp esi, 0x2114dac0
L_211300B7: jnz 0x211300c4
L_211300B9: push ebx
L_211300BA: call 0x2113291d
L_211300BF: test eax, eax
L_211300C1: pop ecx
L_211300C2: jnz 0x211300cb
L_211300C4: push esi
L_211300C5: call 0x21132d6c
L_211300CA: pop ecx
L_211300CB: test word [esi+0xc], 0x108
L_211300D1: push edi
L_211300D2: jz 0x21130138
L_211300D4: mov eax, [esi+0x8]
L_211300D7: mov edi, [esi]
L_211300D9: sub edi, eax
L_211300DB: lea ecx, [eax+0x1]
L_211300DE: mov [esi], ecx
L_211300E0: mov ecx, [esi+0x18]
L_211300E3: dec ecx
L_211300E4: test edi, edi
L_211300E6: mov [esi+0x4], ecx
L_211300E9: jle 0x211300fb
L_211300EB: push edi
L_211300EC: push eax
L_211300ED: push ebx
L_211300EE: call 0x21132bbf
L_211300F3: add esp, 0xc
L_211300F6: mov [ebp+0xc], eax
L_211300F9: jmp 0x2113012e
L_211300FB: cmp ebx, -0x1
L_211300FE: jz 0x21130116
L_21130100: mov eax, ebx
L_21130102: mov ecx, ebx
L_21130104: sar eax, 0x5
L_21130107: and ecx, 0x1f
L_2113010A: mov eax, [eax*4+0x211563e0]
L_21130111: lea eax, [eax+ecx*8]
L_21130114: jmp 0x2113011b
L_21130116: mov eax, 0x2114d9e8
L_2113011B: test byte [eax+0x4], 0x20
L_2113011F: jz 0x2113012e
L_21130121: push 0x2
L_21130123: push 0x0
L_21130125: push ebx
L_21130126: call 0x21132b25
L_2113012B: add esp, 0xc
L_2113012E: mov eax, [esi+0x8]
L_21130131: mov cl, [ebp+0x8]
L_21130134: mov [eax], cl
L_21130136: jmp 0x2113014c
L_21130138: push 0x1
L_2113013A: lea eax, [ebp+0x8]
L_2113013D: pop edi
L_2113013E: push edi
L_2113013F: push eax
L_21130140: push ebx
L_21130141: call 0x21132bbf
L_21130146: add esp, 0xc
L_21130149: mov [ebp+0xc], eax
L_2113014C: cmp [ebp+0xc], edi
L_2113014F: pop edi
L_21130150: jz 0x21130158
L_21130152: or dword [esi+0xc], 0x20
L_21130156: jmp 0x21130167
L_21130158: mov eax, [ebp+0x8]
L_2113015B: and eax, 0xff
L_21130160: jmp 0x2113016a
L_21130162: or al, 0x20
L_21130164: mov [esi+0xc], eax
L_21130167: or eax, -0x1
L_2113016A: pop esi
L_2113016B: pop ebx
L_2113016C: pop ebp
L_2113016D: ret
L_2113016E: cmp dword [0x21154f28], 0x0
L_21130175: jnz 0x21130182
L_21130177: call 0x21130183
L_2113017C: inc dword [0x21154f28]
L_21130182: ret
L_21130183: push ecx
L_21130184: push ebx
L_21130185: push ebp
L_21130186: push esi
L_21130187: push edi
L_21130188: xor ebp, ebp
L_2113018A: or ebx, -0x1
L_2113018D: push 0x21147eac
L_21130192: xor edi, edi
L_21130194: mov [0x21154e70], ebp
L_2113019A: mov [0x2114d700], ebx
L_211301A0: mov [0x2114d6f0], ebx
L_211301A6: call 0x211330b4
L_211301AB: mov esi, eax
L_211301AD: pop ecx
L_211301AE: cmp esi, ebp
L_211301B0: jnz 0x211302ac
L_211301B6: push 0x21154e78
L_211301BB: call [0x2113e0bc]
L_211301C1: cmp eax, ebx
L_211301C3: jz 0x211303db
L_211301C9: mov eax, [0x21154e78]
L_211301CE: mov ecx, [0x21154ecc]
L_211301D4: imul eax, eax, 0x3c
L_211301D7: cmp [0x21154ebe], bp
L_211301DE: push 0x1
L_211301E0: pop edx
L_211301E1: mov [0x2114d65c], eax
L_211301E6: mov [0x21154e70], edx
L_211301EC: jz 0x211301fa
L_211301EE: mov esi, ecx
L_211301F0: imul esi, esi, 0x3c
L_211301F3: add eax, esi
L_211301F5: mov [0x2114d65c], eax
L_211301FA: cmp [0x21154f12], bp
L_21130201: jz 0x2113021e
L_21130203: mov eax, [0x21154f20]
L_21130208: cmp eax, ebp
L_2113020A: jz 0x2113021e
L_2113020C: sub eax, ecx
L_2113020E: mov [0x2114d660], edx
L_21130214: imul eax, eax, 0x3c
L_21130217: mov [0x2114d664], eax
L_2113021C: jmp 0x2113022a
L_2113021E: mov [0x2114d660], ebp
L_21130224: mov [0x2114d664], ebp
L_2113022A: lea eax, [esp+0x10]
L_2113022E: mov esi, [0x2113e0d0]
L_21130234: push eax
L_21130235: push ebp
L_21130236: push 0x3f
L_21130238: mov edi, 0x220
L_2113023D: push dword [0x2114d6e8]
L_21130243: push ebx
L_21130244: push 0x21154e7c
L_21130249: push edi
L_2113024A: push dword [0x21154f7c]
L_21130250: call esi
L_21130252: test eax, eax
L_21130254: jz 0x21130267
L_21130256: cmp [esp+0x10], ebp
L_2113025A: jnz 0x21130267
L_2113025C: mov eax, [0x2114d6e8]
L_21130261: and byte [eax+0x3f], 0x0
L_21130265: jmp 0x2113026f
L_21130267: mov eax, [0x2114d6e8]
L_2113026C: and byte [eax], 0x0
L_2113026F: lea eax, [esp+0x10]
L_21130273: push eax
L_21130274: push ebp
L_21130275: push 0x3f
L_21130277: push dword [0x2114d6ec]
L_2113027D: push ebx
L_2113027E: push 0x21154ed0
L_21130283: push edi
L_21130284: push dword [0x21154f7c]
L_2113028A: call esi
L_2113028C: test eax, eax
L_2113028E: jz 0x211303d3
L_21130294: cmp [esp+0x10], ebp
L_21130298: jnz 0x211303d3
L_2113029E: mov eax, [0x2114d6ec]
L_211302A3: and byte [eax+0x3f], 0x0
L_211302A7: jmp 0x211303db
L_211302AC: cmp byte [esi], 0x0
L_211302AF: jz 0x211303db
L_211302B5: mov eax, [0x21154f24]
L_211302BA: cmp eax, ebp
L_211302BC: jz 0x211302cf
L_211302BE: push eax
L_211302BF: push esi
L_211302C0: call 0x21133030
L_211302C5: pop ecx
L_211302C6: test eax, eax
L_211302C8: pop ecx
L_211302C9: jz 0x211303db
L_211302CF: push dword [0x21154f24]
L_211302D5: call 0x21130a70
L_211302DA: push esi
L_211302DB: call 0x21132950
L_211302E0: inc eax
L_211302E1: push eax
L_211302E2: call 0x211327b2
L_211302E7: add esp, 0xc
L_211302EA: cmp eax, ebp
L_211302EC: mov [0x21154f24], eax
L_211302F1: jz 0x211303db
L_211302F7: push esi
L_211302F8: push eax
L_211302F9: call 0x21132f40
L_211302FE: push 0x3
L_21130300: push esi
L_21130301: push dword [0x2114d6e8]
L_21130307: call 0x21132e40
L_2113030C: mov eax, [0x2114d6e8]
L_21130311: add esi, 0x3
L_21130314: add esp, 0x14
L_21130317: and byte [eax+0x3], 0x0
L_2113031B: cmp byte [esi], 0x2d
L_2113031E: jnz 0x21130324
L_21130320: push 0x1
L_21130322: inc esi
L_21130323: pop edi
L_21130324: push esi
L_21130325: call 0x21132db0
L_2113032A: pop ecx
L_2113032B: mov bl, 0x30
L_2113032D: mov ecx, eax
L_2113032F: imul ecx, ecx, 0xe10
L_21130335: mov [0x2114d65c], ecx
L_2113033B: mov al, [esi]
L_2113033D: cmp al, 0x2b
L_2113033F: jz 0x21130349
L_21130341: cmp al, bl
L_21130343: jl 0x2113034c
L_21130345: cmp al, 0x39
L_21130347: jg 0x2113034c
L_21130349: inc esi
L_2113034A: jmp 0x2113033b
L_2113034C: cmp byte [esi], 0x3a
L_2113034F: jnz 0x2113039f
L_21130351: inc esi
L_21130352: push esi
L_21130353: call 0x21132db0
L_21130358: imul eax, eax, 0x3c
L_2113035B: pop ecx
L_2113035C: mov ecx, [0x2114d65c]
L_21130362: add ecx, eax
L_21130364: mov [0x2114d65c], ecx
L_2113036A: mov al, [esi]
L_2113036C: cmp al, bl
L_2113036E: jl 0x21130377
L_21130370: cmp al, 0x39
L_21130372: jg 0x21130377
L_21130374: inc esi
L_21130375: jmp 0x2113036a
L_21130377: cmp byte [esi], 0x3a
L_2113037A: jnz 0x2113039f
L_2113037C: inc esi
L_2113037D: push esi
L_2113037E: call 0x21132db0
L_21130383: pop ecx
L_21130384: mov ecx, [0x2114d65c]
L_2113038A: add ecx, eax
L_2113038C: mov [0x2114d65c], ecx
L_21130392: mov al, [esi]
L_21130394: cmp al, bl
L_21130396: jl 0x2113039f
L_21130398: cmp al, 0x39
L_2113039A: jg 0x2113039f
L_2113039C: inc esi
L_2113039D: jmp 0x21130392
L_2113039F: cmp edi, ebp
L_211303A1: jz 0x211303ab
L_211303A3: neg ecx
L_211303A5: mov [0x2114d65c], ecx
L_211303AB: movsx eax, byte [esi]
L_211303AE: cmp eax, ebp
L_211303B0: mov [0x2114d660], eax
L_211303B5: jz 0x211303d3
L_211303B7: push 0x3
L_211303B9: push esi
L_211303BA: push dword [0x2114d6ec]
L_211303C0: call 0x21132e40
L_211303C5: mov eax, [0x2114d6ec]
L_211303CA: add esp, 0xc
L_211303CD: and byte [eax+0x3], 0x0
L_211303D1: jmp 0x211303db
L_211303D3: mov eax, [0x2114d6ec]
L_211303D8: and byte [eax], 0x0
L_211303DB: pop edi
L_211303DC: pop esi
L_211303DD: pop ebp
L_211303DE: pop ebx
L_211303DF: pop ecx
L_211303E0: ret
L_211303E1: push ebx
L_211303E2: push esi
L_211303E3: push edi
L_211303E4: xor edi, edi
L_211303E6: cmp [0x2114d660], edi
L_211303EC: jnz 0x211303f5
L_211303EE: xor eax, eax
L_211303F0: jmp 0x21130541
L_211303F5: mov esi, [esp+0x10]
L_211303F9: push 0x1
L_211303FB: pop ebx
L_211303FC: mov eax, [esi+0x14]
L_211303FF: cmp eax, [0x2114d6f0]
L_21130405: jnz 0x21130413
L_21130407: cmp eax, [0x2114d700]
L_2113040D: jz 0x21130515
L_21130413: cmp [0x21154e70], edi
L_21130419: jz 0x211304eb
L_2113041F: movzx ecx, [0x21154f1e]
L_21130426: push ecx
L_21130427: cmp [0x21154f10], di
L_2113042E: movzx ecx, [0x21154f1c]
L_21130435: push ecx
L_21130436: movzx ecx, [0x21154f1a]
L_2113043D: push ecx
L_2113043E: movzx ecx, [0x21154f18]
L_21130445: push ecx
L_21130446: jnz 0x21130465
L_21130448: movzx ecx, [0x21154f14]
L_2113044F: push edi
L_21130450: push ecx
L_21130451: movzx ecx, [0x21154f16]
L_21130458: push ecx
L_21130459: movzx ecx, [0x21154f12]
L_21130460: push ecx
L_21130461: push eax
L_21130462: push ebx
L_21130463: jmp 0x21130479
L_21130465: movzx ecx, [0x21154f16]
L_2113046C: push ecx
L_2113046D: push edi
L_2113046E: movzx ecx, [0x21154f12]
L_21130475: push edi
L_21130476: push ecx
L_21130477: push eax
L_21130478: push edi
L_21130479: push ebx
L_2113047A: call 0x2113058d
L_2113047F: movzx eax, [0x21154eca]
L_21130486: add esp, 0x2c
L_21130489: cmp [0x21154ebc], di
L_21130490: push eax
L_21130491: movzx eax, [0x21154ec8]
L_21130498: push eax
L_21130499: movzx eax, [0x21154ec6]
L_211304A0: push eax
L_211304A1: movzx eax, [0x21154ec4]
L_211304A8: push eax
L_211304A9: jnz 0x211304d3
L_211304AB: movzx eax, [0x21154ec0]
L_211304B2: push edi
L_211304B3: push eax
L_211304B4: movzx eax, [0x21154ec2]
L_211304BB: push eax
L_211304BC: movzx eax, [0x21154ebe]
L_211304C3: push eax
L_211304C4: push dword [esi+0x14]
L_211304C7: push ebx
L_211304C8: push edi
L_211304C9: call 0x2113058d
L_211304CE: add esp, 0x2c
L_211304D1: jmp 0x21130515
L_211304D3: movzx eax, [0x21154ec2]
L_211304DA: push eax
L_211304DB: push edi
L_211304DC: movzx eax, [0x21154ebe]
L_211304E3: push edi
L_211304E4: push eax
L_211304E5: push dword [esi+0x14]
L_211304E8: push edi
L_211304E9: jmp 0x211304c8
L_211304EB: push edi
L_211304EC: push edi
L_211304ED: push edi
L_211304EE: push 0x2
L_211304F0: push edi
L_211304F1: push edi
L_211304F2: push ebx
L_211304F3: push 0x4
L_211304F5: push eax
L_211304F6: push ebx
L_211304F7: push ebx
L_211304F8: call 0x2113058d
L_211304FD: push edi
L_211304FE: push edi
L_211304FF: push edi
L_21130500: push 0x2
L_21130502: push edi
L_21130503: push edi
L_21130504: push 0x5
L_21130506: push 0xa
L_21130508: push dword [esi+0x14]
L_2113050B: push ebx
L_2113050C: push edi
L_2113050D: call 0x2113058d
L_21130512: add esp, 0x58
L_21130515: mov edx, [0x2114d6f4]
L_2113051B: mov eax, [0x2114d704]
L_21130520: mov ecx, [esi+0x1c]
L_21130523: cmp edx, eax
L_21130525: jge 0x21130545
L_21130527: cmp ecx, edx
L_21130529: jl 0x211303ee
L_2113052F: cmp ecx, eax
L_21130531: jg 0x211303ee
L_21130537: cmp ecx, edx
L_21130539: jle 0x21130559
L_2113053B: cmp ecx, eax
L_2113053D: jge 0x21130559
L_2113053F: mov eax, ebx
L_21130541: pop edi
L_21130542: pop esi
L_21130543: pop ebx
L_21130544: ret
L_21130545: cmp ecx, eax
L_21130547: jl 0x2113053f
L_21130549: cmp ecx, edx
L_2113054B: jg 0x2113053f
L_2113054D: cmp ecx, eax
L_2113054F: jle 0x21130559
L_21130551: cmp ecx, edx
L_21130553: jl 0x211303ee
L_21130559: mov eax, [esi+0x8]
L_2113055C: imul eax, eax, 0x3c
L_2113055F: add eax, [esi+0x4]
L_21130562: imul eax, eax, 0x3c
L_21130565: add eax, [esi]
L_21130567: imul eax, eax, 0x3e8
L_2113056D: cmp ecx, edx
L_2113056F: jnz 0x21130580
L_21130571: xor ecx, ecx
L_21130573: cmp eax, [0x2114d6f8]
L_21130579: setge cl
L_2113057C: mov eax, ecx
L_2113057E: jmp 0x21130541
L_21130580: xor ecx, ecx
L_21130582: cmp eax, [0x2114d708]
L_21130588: setl cl
L_2113058B: jmp 0x2113057c
L_2113058D: push ebp
L_2113058E: mov ebp, esp
L_21130590: cmp dword [ebp+0xc], 0x1
L_21130594: push ebx
L_21130595: mov ebx, [ebp+0x10]
L_21130598: push esi
L_21130599: jnz 0x21130628
L_2113059F: mov eax, [ebp+0x14]
L_211305A2: mov [ebp+0x10], ebx
L_211305A5: and dword [ebp+0x10], 0x3
L_211305A9: mov esi, eax
L_211305AB: jnz 0x211305b8
L_211305AD: shl esi, 0x2
L_211305B0: mov eax, [esi+0x2114dcfc]
L_211305B6: jmp 0x211305c1
L_211305B8: shl esi, 0x2
L_211305BB: mov eax, [esi+0x2114dd30]
L_211305C1: mov edx, ebx
L_211305C3: lea ecx, [eax+0x1]
L_211305C6: imul edx, edx, 0x16d
L_211305CC: lea eax, [ebx-0x1]
L_211305CF: push edi
L_211305D0: sar eax, 0x2
L_211305D3: mov edi, ecx
L_211305D5: push 0x7
L_211305D7: add edi, eax
L_211305D9: lea eax, [edx+edi-0x63db]
L_211305E0: pop edi
L_211305E1: cdq
L_211305E2: idiv edi
L_211305E4: mov eax, [ebp+0x18]
L_211305E7: pop edi
L_211305E8: cmp edx, [ebp+0x1c]
L_211305EB: jg 0x211305fb
L_211305ED: imul eax, eax, 0x7
L_211305F0: sub eax, edx
L_211305F2: add eax, [ebp+0x1c]
L_211305F5: lea ecx, [ecx+eax-0x7]
L_211305F9: jmp 0x21130605
L_211305FB: imul eax, eax, 0x7
L_211305FE: sub eax, edx
L_21130600: add eax, [ebp+0x1c]
L_21130603: add ecx, eax
L_21130605: cmp dword [ebp+0x18], 0x5
L_21130609: jnz 0x21130643
L_2113060B: cmp dword [ebp+0x10], 0x0
L_2113060F: jnz 0x21130619
L_21130611: mov esi, [esi+0x2114dd00]
L_21130617: jmp 0x2113061f
L_21130619: mov esi, [esi+0x2114dd34]
L_2113061F: cmp ecx, esi
L_21130621: jle 0x21130643
L_21130623: sub ecx, 0x7
L_21130626: jmp 0x21130643
L_21130628: mov eax, [ebp+0x14]
L_2113062B: test bl, 0x3
L_2113062E: jnz 0x21130639
L_21130630: mov ecx, [eax*4+0x2114dcfc]
L_21130637: jmp 0x21130640
L_21130639: mov ecx, [eax*4+0x2114dd30]
L_21130640: add ecx, [ebp+0x20]
L_21130643: cmp dword [ebp+0x8], 0x1
L_21130647: jnz 0x21130674
L_21130649: mov eax, [ebp+0x24]
L_2113064C: mov [0x2114d6f4], ecx
L_21130652: imul eax, eax, 0x3c
L_21130655: add eax, [ebp+0x28]
L_21130658: mov [0x2114d6f0], ebx
L_2113065E: imul eax, eax, 0x3c
L_21130661: add eax, [ebp+0x2c]
L_21130664: imul eax, eax, 0x3e8
L_2113066A: add eax, [ebp+0x30]
L_2113066D: mov [0x2114d6f8], eax
L_21130672: jmp 0x211306c9
L_21130674: mov eax, [ebp+0x24]
L_21130677: mov [0x2114d704], ecx
L_2113067D: imul eax, eax, 0x3c
L_21130680: add eax, [ebp+0x28]
L_21130683: imul eax, eax, 0x3c
L_21130686: add eax, [0x2114d664]
L_2113068C: add eax, [ebp+0x2c]
L_2113068F: imul eax, eax, 0x3e8
L_21130695: add eax, [ebp+0x30]
L_21130698: mov [0x2114d708], eax
L_2113069D: jns 0x211306ac
L_2113069F: add eax, 0x5265c00
L_211306A4: dec ecx
L_211306A5: mov [0x2114d708], eax
L_211306AA: jmp 0x211306bd
L_211306AC: mov edx, 0x5265c00
L_211306B1: cmp eax, edx
L_211306B3: jl 0x211306c3