Function at 0x1058736
Capabilities:
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x518
push ebx
push esi
mov dword [ebp - 0x14], ecx
push edi
lea ecx, [ebp - 0x1cc]
call fcn.01029cc5
lea ecx, [ebp - 0x224]
call fcn.01023f24
lea ecx, [ebp - 0xbc]
call fcn.01023f24
lea ecx, [ebp - 0x27c]
call fcn.01023f24
lea ecx, [ebp - 0x3b8]
call fcn.0102664d
lea ecx, [ebp - 0x310]
call fcn.010274df
xor ebx, ebx
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], ebx
call fcn.010118d2
lea ecx, [ebp - 0x518]
call fcn.01034294
or dword [ebp - 0x68], 0xffffffff
cmp byte [ebp + 0x24], bl
mov esi, dword [ebp + 8]
jne 0x1058d66
cmp word [ebp + 0x20], bx
je 0x1058d6c
push ebx
push 0x2c
lea eax, [ebp - 0x2a8]
push eax
push ebx
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
jl 0x105b734
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x28c]
xor edx, edx
div dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
xor ecx, ecx
cmp ebx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], eax
ja 0x1058819
jb 0x105880f
cmp edx, eax
jae 0x1058819
mov eax, edx
mov ecx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
cmp ebx, ecx
mov edx, dword [esi + 0x640]
ja 0x105882f
jb 0x1058829
cmp edx, eax
jae 0x105882f
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ebx
cmp word [ebp + 0x20], 0xffff
je 0x1058868
movzx eax, word [ebp + 0x20]
cmp eax, dword [esi + 0x30]
jbe 0x1058868
push eax
push 0x10014a0
push 0x6659
push dword [ebp + 0x30]
call fcn.0100debb
mov ax, word [esi + 0x30]
xor ecx, ecx
inc ecx
add esp, 0x10
cmp ax, cx
mov dword [ebp + 0x20], ecx
jb 0x1058868
mov dword [ebp + 0x20], eax
push ecx
push ecx
mov ecx, dword [ebp - 0x2a0]
mov eax, esp
push ebx
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov edi, dword [ebp - 0x2a0]
push 8
push ecx
push eax
dec edi
mov dword [ebp - 0x4c], ebx
call sub.ntdll.dll__allmul
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x60], eax
mov eax, edx
shl ecx, 4
xor edx, edx
add ecx, dword [ebp - 0x60]
adc edx, eax
add edi, ecx
mov eax, ebx
adc eax, edx
push eax
push edi
lea eax, [ebp - 0x58]
push eax
call fcn.0100e803
cmp byte [ebp + 0x28], bl
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], ecx
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x4c], eax
mov dword [ebp + 8], 0x164
je 0x10588d5
mov dword [ebp + 8], 0x44
mov edx, dword [ebp - 0x2a0]
push ecx
push ecx
mov eax, esp
shl edx, 3
mov dword [eax], edx
mov dword [eax + 4], ebx
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov edi, dword [ebp - 0x2a0]
lea edi, [edi*8 - 1]
mov dword [ebp - 0x5c], ebx
je 0x1058904
mov eax, dword [eax + 0x10]
jmp 0x1058906
xor eax, eax
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push dword [ebp + 8]
mov dword [ebp - 0x54], eax
xor eax, eax
push eax
push ecx
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0x58], edx
call fcn.0100e7b8
mov ecx, dword [eax]
add ecx, dword [ebp - 0x58]
mov eax, dword [eax + 4]
adc eax, dword [ebp - 0x54]
add edi, ecx
mov ecx, dword [ebp - 0x5c]
adc ecx, eax
push ecx
push edi
lea eax, [ebp - 0x22c]
push eax
call fcn.0100e803
mov edi, dword [eax]
mov eax, dword [eax + 4]
push ecx
mov dword [ebp - 0x20], edi
add edi, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
adc eax, dword [ebp - 0x4c]
push ecx
mov dword [ebp - 0x54], eax
mov eax, esp
push ebx
push 9
push dword [ebp - 0x44]
mov dword [eax], 0xa
push dword [ebp - 0x48]
mov dword [eax + 4], ebx
call sub.ntdll.dll__allmul
push edx
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0100e803
cmp word [ebp + 0x20], 0xffff
mov ecx, dword [eax]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
jne 0x1058ac5
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.0100e878
test al, al
je 0x1058b6b
push ecx
push ecx
mov ecx, dword [ebp - 0x34]
mov eax, esp
push dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
push edi
mov dword [ebp + 0x20], ebx
mov dword [eax + 4], ecx
call fcn.0100e878
cmp al, bl
je 0x10589e5
push 0x665a
mov ecx, dword [ebp + 0x30]
call fcn.0100bd8b
jmp 0x1058d79
sub edi, dword [ebp - 0x48]
push ecx
push ecx
mov eax, esp
mov ecx, 0x400
push ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
push dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x44]
push eax
mov dword [ebp - 0x30], eax
push edi
lea eax, [ebp - 0x22c]
push eax
call fcn.0100e7b8
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
call fcn.0100e878
cmp al, bl
je 0x1058a5a
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x1058aa9
push ecx
push ecx
mov eax, esp
mov ecx, 0x400
push ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
push dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x30]
push eax
push edi
lea eax, [ebp - 0x20]
push eax
call fcn.0100e7b8
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0xc]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x348]
push eax
call fcn.0100e803
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x10014a0
push 0x6656
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
jmp 0x1058d79
cmp word [ebp + 0x20], 1
je 0x1058d55
or dword [ebp - 0x48], 0xffffffff
or dword [ebp - 0x44], 0xffffffff
cmp word [ebp + 0x20], bx
je 0x1058d79
movzx eax, word [ebp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [ebp + 8], eax
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
push dword [ebp - 0x2a0]
mov edi, eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0x3c]
push dword [ebp - 0x50]
mov dword [ebp - 0x5c], edx
push eax
call fcn.0100e7b8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add edi, ecx
mov ecx, dword [ebp - 0x5c]
adc ecx, eax
push ecx
push edi
lea eax, [ebp - 0x1d4]
push eax
call fcn.0100e803
mov edi, dword [eax]
mov eax, dword [eax + 4]
push ecx
push ecx
mov dword [ebp - 0x5c], eax
mov eax, esp
push dword [ebp - 0x44]
or dword [eax], 0xffffffff
push dword [ebp - 0x48]
or dword [eax + 4], 0xffffffff
call fcn.0101213e
push dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
push 0x10014a0
push 0x6657
push dword [ebp + 0x30]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], eax
call fcn.0100debb
add esp, 0x10
jmp 0x1058d79
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x54]
push edi
call fcn.0100e852
test al, al
jne 0x1058d55
push ecx
push ecx
mov ecx, dword [ebp - 0x34]
mov eax, esp
push dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
push edi
mov dword [eax + 4], ecx
call fcn.0100e878
cmp al, bl
je 0x1058bb2
mov ecx, dword [ebp + 0x30]
push 0x665a
call fcn.0100bd8b
jmp 0x1058c90
sub edi, dword [ebp - 0x48]
push ecx
push ecx
mov eax, esp
mov ecx, 0x400
push ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
push dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x44]
push eax
mov dword [ebp - 0x30], eax
push edi
lea eax, [ebp - 0x348]
push eax
call fcn.0100e7b8
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x22c]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
call fcn.0100e878
cmp al, bl
je 0x1058c2a
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x1058c79
push ecx
push ecx
mov eax, esp
mov ecx, 0x400
push ecx
mov dword [eax], ecx
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
push dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x30]
push eax
push edi
lea eax, [ebp - 0xc]
push eax
call fcn.0100e7b8
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1d4]
push eax
call fcn.0100e803
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x3c]
push eax
call fcn.0100e803
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x10014a0
push 0x6656
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x20]
push dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x44]
sbb ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ebx
push ecx
push eax
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x30], ebx
call fcn.0100e7b8
cmp dword [esi + 0x2c], ebx
mov edi, eax
mov eax, dword [edi]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x20], 1
mov dword [ebp - 8], ebx
jbe 0x1058ae2
mov eax, dword [esi + 0x40]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ax, word [eax]
cmp ax, bx
je 0x1058d22
push dword [edi + 4]
movzx eax, ax
push dword [edi]
lea eax, [eax*8 + 0x10]
xor ecx, ecx
add dword [ebp - 0x34], eax
mov dword [ebp - 0x54], eax
adc dword [ebp - 0x30], ecx
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.0100e878
test al, al
je 0x1058d22
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
xor eax, eax
inc dword [ebp + 0x20]
cmp word [ebp + 0x20], 0xa
mov dword [ebp - 0x30], eax
ja 0x1058d36
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp + 8], 2
cmp eax, dword [esi + 0x2c]
jb 0x1058cd9
jmp 0x1058ad8
push 0xa
push 0x10014a0
push 0x665b
push dword [ebp + 0x30]
mov dword [ebp + 0x20], ebx
call fcn.0100debb
add esp, 0x10
jmp 0x1058ad8
or dword [ebp - 0x48], 0xffffffff
or dword [ebp - 0x44], 0xffffffff
mov dword [ebp + 0x20], 1
jmp 0x1058d79
cmp word [ebp + 0x20], bx
jne 0x1058d76
push 0x6658
jmp 0x10589d8
mov dword [ebp + 0x20], ebx
push dword [esi + 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.0103ae3f
test al, al
je 0x1058fdf
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 0x88]
push eax
push 2
push 0x1001928
push 3
push 2
push 0x65dc
push dword [ebp + 0x30]
call fcn.0100df1c
add esp, 0x1c
cmp word [ebp + 0x20], bx
jne 0x1059dc2
xor edi, edi
inc edi
cmp byte [ebp + 0x24], bl
je 0x1058dec
mov ecx, dword [esi + 0x2c]
push ebx
push ebx
push edi
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xa8]
mov dword [eax + 4], ebx
call fcn.01025e61
cmp al, bl
je 0x1058fdf
mov byte [esi + 0x100], bl
mov eax, dword [esi + 0x2c]
shr eax, 4
inc eax
add dword [esi + 0x38], eax
mov dword [ebp - 8], ebx
adc dword [esi + 0x3c], ebx
cmp dword [esi + 0x2c], ebx
jbe 0x1059cbe
test byte [ebp - 8], 0xf
jne 0x1058e11
add dword [ebp - 0x28], edi
adc dword [ebp - 0x24], ebx
push dword [ebp + 0x30]
push dword [esi + 0x3c]
push dword [esi + 0x38]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push 5
push esi
call fcn.01049bac
mov edx, dword [ebp - 8]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
mov dword [eax], edx
call fcn.01025f81
cmp al, bl
jne 0x1059caf
push dword [ebp + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1cc]
call fcn.01029d37
cmp al, bl
je 0x1058fdf
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
jne 0x1058ec9
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x278]
call fcn.01018548
cmp al, bl
jne 0x1059caf
push dword [ebp - 8]
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x1059caf
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1c], ebx
push ebx
jmp 0x105903c
push ebx
lea eax, [ebp - 0x268]
push eax
push 0x90
lea ecx, [ebp - 0x1cc]
call fcn.0102a323
test al, al
jne 0x1059036
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
mov dword [ebp - 0x40], edi
call fcn.01013c19
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push 0x100ba1c
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x268]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1058f79
mov eax, dword [eax + 0x10]
jmp 0x1058f7b
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x27c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
dec dword [ebp - 0x1c]
lea eax, [ebp - 0x268]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
jne 0x1058ff1
cmp byte [ebp - 1], bl
je 0x1059036
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100bd8b
jmp 0x105b734
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1058ffe
mov eax, dword [eax + 0x10]
jmp 0x1059000
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x27c]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.0102b702
test al, al
jne 0x1058ed5
cmp byte [ebp - 1], bl
jne 0x1058fdf
push ebx
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 0x1c], ebx
call fcn.0102b702
jmp 0x1059c69
lea eax, [ebp - 0xa8]
push eax
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
cmp al, bl
mov byte [ebp - 3], al
jne 0x10590be
cmp byte [ebp - 1], bl
jne 0x1058fdf
lea eax, [ebp - 0xd]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x68]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x29]
push eax
push dword [ebp + 0x14]
mov al, byte [ebp - 3]
push dword [ebp + 0x10]
neg al
push dword [ebp + 0x1c]
mov byte [ebp - 0xd], bl
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
sbb eax, eax
and eax, ecx
push eax
mov al, byte [ebp - 3]
neg al
lea ecx, [ebp - 0x27c]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xbc]
push eax
push esi
call fcn.010574bc
test al, al
je 0x105b734
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x1059130
cmp byte [ebp - 0xd], bl
jne 0x1059130
xor al, al
jmp 0x1059132
mov al, 1
cmp byte [ebp - 0x29], bl
mov byte [ecx], al
je 0x1059315
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65ba
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edi
mov byte [ebp + 0xb], 1
call fcn.0100debb
mov eax, dword [ebp + 0x10]
add esp, 0x14
cmp byte [eax + 0x20], bl
je 0x105917d
mov eax, dword [eax + 0x10]
jmp 0x105917f
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0xbc]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xac]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
dec dword [ebp - 0x1c]
cmp byte [ebp - 3], bl
je 0x1059294
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x10591d6
mov eax, dword [eax + 0x10]
jmp 0x10591d8
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x27c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
je 0x105928b
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1059249
mov eax, dword [eax + 0x10]
jmp 0x105924b
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
jmp 0x1059294
cmp byte [ebp - 1], bl
jne 0x1058fdf
push 0xffffffffffffffff
push 0x10015ec
lea ecx, [ebp - 0x340]
call fcn.01011222
test al, al
je 0x1058fdf
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x340]
call fcn.010213bd
test eax, eax
jne 0x10592f0
mov eax, dword [ebp - 0x1c4]
and byte [eax + 0x16], 0xfd
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x330]
call fcn.01013c8a
dec dword [esi + 0xa0]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
jmp 0x105985b
cmp byte [ebp - 0x73], bl
je 0x1059370
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105932b
mov eax, dword [eax + 0x10]
jmp 0x105932d
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0xbc]
call fcn.01023f79
test al, al
jne 0x1059370
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x1059590
cmp byte [ebp - 0x233], bl
je 0x10593d7
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1059392
mov eax, dword [eax + 0x10]
jmp 0x1059394
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x27c]
call fcn.01023f79
test al, al
jne 0x10593d7
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0x15], bl
call fcn.0102b131
cmp al, bl
mov byte [ebp + 0x23], al
je 0x1059482
push ebx
lea eax, [ebp - 0x15]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x3b8]
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0104580d
cmp al, bl
jne 0x105966a
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
call fcn.0100e89e
cmp al, bl
je 0x1059482
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
call fcn.0100e878
cmp al, bl
je 0x1059482
push ebx
lea ecx, [ebp - 0x224]
call fcn.01023e60
test al, al
jne 0x105966a
xor eax, eax
cmp byte [ebp + 0x23], bl
lea ecx, [ebp - 0xa8]
push ecx
push dword [ebp - 0x1b0]
setne al
push dword [ebp - 0x1b4]
mov byte [ebp + 0xb], 1
push 0x100ba1c
mov dword [ebp - 0x40], edi
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x2c
cmp byte [ebp - 0x15], bl
jne 0x1058fdf
cmp dword [ebp - 0x3a0], ebx
je 0x1058fdf
mov edi, dword [ebp - 0x14]
push ebx
lea eax, [ebp - 0xa8]
push eax
push 0xb0
push dword [ebp - 0x3a4]
mov ecx, edi
push dword [ebp - 0x3a0]
call fcn.01020105
movzx eax, al
push eax
push dword [edi + 0x20]
lea ecx, [ebp - 0x224]
call fcn.0102184c
test al, al
je 0x1058fdf
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1059542
mov eax, dword [eax + 0x10]
jmp 0x1059544
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x224]
call fcn.01023f79
test al, al
jne 0x105966a
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
jmp 0x105966a
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
je 0x1059661
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x1b0]
mov byte [ebp + 0xb], 1
push dword [ebp - 0x1b4]
mov dword [ebp - 0x40], edi
push 0x100ba1c
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
je 0x105961f
mov eax, dword [eax + 0x10]
jmp 0x1059621
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
jmp 0x105966a
cmp byte [ebp - 1], bl
jne 0x1058fdf
cmp byte [ebp - 0xd], bl
jne 0x1059674
cmp byte [ebp + 0xb], bl
je 0x105967d
cmp dword [ebp + 0x2c], ebx
je 0x1059c45
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
mov edi, dword [ebp - 0x1b0]
push edi
push dword [ebp - 0x1b4]
call fcn.0101213e
cmp al, bl
je 0x10596e2
push dword [esi + 0xc]
push dword [esi + 8]
push edi
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
je 0x10596e2
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
je 0x10596e2
push dword [esi + 0x24]
push dword [esi + 0x20]
push edi
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
jne 0x10596e7
cmp byte [esi], 1
ja 0x1059715
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x6c]
push ecx
push eax
mov ecx, edi
call fcn.0103937b
mov eax, dword [ebp - 0x6c]
mov ecx, dword [edi + 8]
lea eax, [eax + eax*4]
shl eax, 5
mov eax, dword [eax + ecx + 0x8c]
shr eax, 2
and al, 1
jmp 0x1059717
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x105972d
jne 0x10597ed
cmp al, bl
jne 0x10597ed
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105973a
mov eax, dword [eax + 0x10]
jmp 0x105973c
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0102a85e
cmp eax, ebx
je 0x1058fdf
xor edx, edx
inc edx
cmp eax, edx
jle 0x10597ed
push 3
pop ecx
cmp eax, ecx
jle 0x10597b4
cmp eax, 4
je 0x1059783
cmp eax, 5
je 0x1058fdf
jmp 0x10597ed
mov eax, dword [ebp - 0x1b4]
mov dword [esi + 0x63c], ecx
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
jmp 0x10597ea
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1b4]
push eax
push 0x100ba0c
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edx
call fcn.0100debb
mov byte [ebp + 0xb], 1
add esp, 0x14
mov edi, dword [ebp + 0x18]
add dword [edi + 0x10], 1
adc dword [edi + 0x14], ebx
cmp byte [ebp - 3], bl
je 0x1059819
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.010214f5
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add dword [edi + 0x18], ecx
adc dword [edi + 0x1c], eax
push ecx
push ecx
mov eax, esp
push 9
pop edi
mov dword [eax], edi
mov dword [eax + 4], ebx
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
cmp al, bl
je 0x1059865
cmp byte [esi], 2
jb 0x1059865
push ecx
push ecx
mov eax, esp
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
lea ecx, [esi + 0x330]
call fcn.01013c19
jmp 0x1059c45
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
test al, al
je 0x10599b3
lea ecx, [ebp - 0x360]
call fcn.010118d2
push ecx
push ecx
mov eax, esp
xor edi, edi
inc edi
mov dword [eax], edi
mov dword [eax + 4], ebx
push dword [esi + 0xc]
lea ecx, [esi + 0x330]
push dword [esi + 8]
call fcn.01013c19
push 0xffffffffffffffff
push 0x1001d54
lea ecx, [ebp - 0x360]
call fcn.01011222
test al, al
je 0x105991c
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0xa8]
call fcn.010213bd
test eax, eax
jne 0x10599a3
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x10598e9
mov eax, dword [eax + 0x10]
jmp 0x10598eb
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102aa24
cmp eax, 2
jl 0x10599a3
push 3
pop ecx
cmp eax, ecx
jle 0x105996a
cmp eax, 4
je 0x1059939
cmp eax, 5
jne 0x10599a3
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100bd8b
lea ecx, [ebp - 0x360]
call fcn.0101171d
jmp 0x105b734
mov eax, dword [ebp - 0x1b4]
mov dword [esi + 0x63c], ecx
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
jmp 0x10599a0
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1b4]
push eax
push 0x100ba0c
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edi
call fcn.0100debb
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x360]
call fcn.0101171d
jmp 0x1059c45
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
test al, al
je 0x1059a88
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
push dword [esi + 0x14]
lea ecx, [esi + 0x330]
push dword [esi + 0x10]
call fcn.01013c19
cmp byte [ebp + 0x24], bl
jne 0x1059c45
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x1059a09
mov eax, dword [edi + 0x10]
jmp 0x1059a0b
xor eax, eax
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01052bd6
test al, al
je 0x105b734
cmp byte [ebp - 2], bl
je 0x1059c45
mov byte [ebp + 0xb], 1
jmp 0x1059c45
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
test al, al
je 0x1059b3f
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
push dword [esi + 0x24]
lea ecx, [esi + 0x330]
push dword [esi + 0x20]
call fcn.01013c19
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x1059ad5
mov ecx, dword [edi + 0x10]
jmp 0x1059ad7
xor ecx, ecx
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.010535e0
jmp 0x1059a6e
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x1059b4f
mov eax, dword [edi + 0x10]
jmp 0x1059b51
xor eax, eax
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push edi
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x1cc]
push esi
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0105599d
test al, al
je 0x105b734
cmp byte [ebp - 2], bl
je 0x1059c22
cmp dword [ebp + 0x2c], ebx
je 0x1059c1e
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x310]
call fcn.01026fed
test al, al
jne 0x1059c1e
push dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b0]
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x38], ecx
call fcn.0100debb
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x1059c45
cmp byte [esi], 2
jb 0x1059c45
push dword [ebp + 0x30]
lea eax, [ebp - 0x310]
push esi
push eax
call fcn.01058526
test al, al
je 0x105b734
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
lea eax, [ebp - 1]
push 0x90
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b702
xor edi, edi
inc edi
test al, al
jne 0x105908c
cmp byte [ebp - 1], bl
jne 0x1058fdf
cmp byte [ebp + 0xb], bl
je 0x1059caf
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x1059caf
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1059c97
mov eax, dword [eax + 0x10]
jmp 0x1059c99
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102d13b
test al, al
je 0x105b734
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1058e05
cmp byte [ebp + 0x24], bl
je 0x105b5dd
cmp byte [esi + 0x100], bl
je 0x105b5dd
lea ecx, [ebp - 0x4c0]
call fcn.010185fa
lea ecx, [ebp - 0x408]
call fcn.01023f24
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x105b356
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xa8]
mov dword [eax], edi
call fcn.01025f81
cmp al, bl
jne 0x105b34c
cmp byte [ebp + 0x28], bl
jne 0x105b294
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x4c0]
push eax
push edi
call fcn.0103b196
test al, al
je 0x105b294
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x414]
push dword [ebp - 0x418]
call fcn.0101213e
cmp al, bl
je 0x105b294
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x4c0]
call fcn.010184c4
mov ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov ecx, dword [eax + 4]
push ecx
push dword [eax]
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x4c0]
call fcn.010181d2
test al, al
je 0x1059da7
mov ecx, dword [ebp + 0xc]
push edi
push dword [ebp - 0x60]
call fcn.0103aefe
test al, al
jne 0x1059d40
lea ecx, [ebp - 0x408]
call fcn.01023f54
lea ecx, [ebp - 0x4c0]
call fcn.01017d08
jmp 0x105b734
mov eax, dword [esi + 0x2c]
movzx ecx, word [ebp + 0x20]
imul ecx, eax
shr ecx, 4
mov edx, eax
shr edx, 4
add ecx, edx
lea eax, [ecx + eax*2]
add dword [esi + 0x38], eax
mov dword [ebp - 0x4c], ebx
adc dword [esi + 0x3c], ebx
mov ecx, dword [esi + 0xa0]
cmp ecx, ebx
je 0x1059e19
mov edi, dword [esi + 0x2c]
xor edx, edx
mov eax, edi
div ecx
push ecx
xor edx, edx
push edx
push eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0100e7b8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub edi, ecx
mov eax, ebx
sbb eax, edx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], eax
jmp 0x1059e1f
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x50], ebx
cmp dword [esi + 0x2c], ebx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], ebx
jbe 0x105ad3f
test byte [ebp - 8], 0xf
jne 0x1059e41
add dword [ebp - 0x28], 1
adc dword [ebp - 0x24], ebx
push dword [ebp + 0x30]
push dword [esi + 0x3c]
push dword [esi + 0x38]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push 5
push esi
call fcn.01049bac
mov edx, dword [ebp - 8]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
mov dword [eax], edx
call fcn.01025f81
cmp al, bl
jne 0x105ad30
mov eax, dword [ebp - 0x50]
add dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x4c]
adc dword [ebp - 0x30], eax
mov ecx, dword [esi + 0xa0]
push ecx
push ecx
mov eax, esp
push dword [ebp - 0x30]
mov dword [eax], ecx
push dword [ebp - 0x34]
mov dword [eax + 4], ebx
call fcn.01012078
cmp al, bl
je 0x1059ec2
mov eax, dword [esi + 0xa0]
sub dword [ebp - 0x34], eax
sbb dword [ebp - 0x30], ebx
add dword [ebp - 0x28], 1
adc dword [ebp - 0x24], ebx
jmp 0x1059e8f
mov eax, dword [ebp - 0x60]
add dword [ebp - 0x28], eax
push 0
pop eax
adc dword [ebp - 0x24], eax
push edi
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1cc]
call fcn.01029d37
cmp al, bl
je 0x1058fdf
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
jne 0x1059f4a
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x278]
call fcn.01018548
cmp al, bl
jne 0x105ad30
push dword [ebp - 8]
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x105ad30
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1c], ebx
push ebx
jmp 0x105a0be
push ebx
lea eax, [ebp - 0x268]
push eax
push 0x90
lea ecx, [ebp - 0x1cc]
call fcn.0102a323
test al, al
jne 0x105a0b8
xor ecx, ecx
inc ecx
push ecx
push ecx
mov eax, esp
push ecx
mov dword [eax], ecx
push ecx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 8]
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
call fcn.01013c19
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
push 0x100ba1c
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x268]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x2c
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1059ffa
mov eax, dword [edi + 0x10]
jmp 0x1059ffc
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x27c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
dec dword [ebp - 0x1c]
lea eax, [ebp - 0x268]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
jne 0x105a06e
cmp byte [ebp - 1], bl
jne 0x1058fdf
jmp 0x105a0b8
cmp byte [edi + 0x20], bl
je 0x105a078
mov eax, dword [edi + 0x10]
jmp 0x105a07a
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x27c]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.0102b702
test al, al
jne 0x1059f56
cmp byte [ebp - 1], bl
jne 0x1058fdf
mov dword [ebp - 0x1c], ebx
push ebx
jmp 0x105acd2
lea eax, [ebp - 0xa8]
push eax
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
cmp al, bl
mov byte [ebp - 3], al
jne 0x105a125
cmp byte [ebp - 1], bl
jne 0x1058fdf
lea eax, [ebp - 0xd]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x68]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x29]
push eax
push dword [ebp + 0x14]
mov al, byte [ebp - 3]
neg al
push edi
push dword [ebp + 0x1c]
mov byte [ebp - 0xd], bl
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
sbb eax, eax
and eax, ecx
push eax
mov al, byte [ebp - 3]
neg al
lea ecx, [ebp - 0x27c]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0xbc]
push eax
push esi
call fcn.010574bc
test al, al
je 0x105b734
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x105a195
cmp byte [ebp - 0xd], bl
jne 0x105a195
xor al, al
jmp 0x105a197
mov al, 1
cmp byte [ebp - 0x29], bl
mov byte [ecx], al
je 0x105a37d
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65ba
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
mov byte [ebp + 0xb], 1
call fcn.0100debb
add esp, 0x14
cmp byte [edi + 0x20], bl
je 0x105a1e3
mov eax, dword [edi + 0x10]
jmp 0x105a1e5
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0xbc]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xac]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
dec dword [ebp - 0x1c]
cmp byte [ebp - 3], bl
je 0x105a2f4
cmp byte [edi + 0x20], bl
je 0x105a239
mov eax, dword [edi + 0x10]
jmp 0x105a23b
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x27c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
je 0x105a2eb
cmp byte [edi + 0x20], bl
je 0x105a2a9
mov eax, dword [edi + 0x10]
jmp 0x105a2ab
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
jmp 0x105a2f4
cmp byte [ebp - 1], bl
jne 0x1058fdf
push 0xffffffffffffffff
push 0x10015ec
lea ecx, [ebp - 0x340]
call fcn.01011222
test al, al
je 0x1058fdf
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x340]
call fcn.010213bd
test eax, eax
jne 0x105a354
mov eax, dword [ebp - 0x1c4]
and byte [eax + 0x16], 0xfd
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x330]
call fcn.01013c8a
dec dword [esi + 0xa0]
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
jmp 0x105a8d8
cmp byte [ebp - 0x73], bl
je 0x105a3d5
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105a390
mov eax, dword [edi + 0x10]
jmp 0x105a392
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0xbc]
call fcn.01023f79
test al, al
jne 0x105a3d5
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x105a5f4
cmp byte [ebp - 0x233], bl
je 0x105a439
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105a3f4
mov eax, dword [edi + 0x10]
jmp 0x105a3f6
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x27c]
call fcn.01023f79
test al, al
jne 0x105a439
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0x15], bl
call fcn.0102b131
cmp al, bl
mov byte [ebp - 0x62], al
je 0x105a4e4
push ebx
lea eax, [ebp - 0x15]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x3b8]
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0104580d
cmp al, bl
jne 0x105a6cf
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
call fcn.0100e89e
cmp al, bl
je 0x105a4e4
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x1f0]
push dword [ebp - 0x1f4]
call fcn.0100e878
cmp al, bl
je 0x105a4e4
push ebx
lea ecx, [ebp - 0x224]
call fcn.01023e60
test al, al
jne 0x105a6cf
xor eax, eax
cmp byte [ebp - 0x62], bl
lea ecx, [ebp - 0xa8]
push ecx
push dword [ebp - 0x1b0]
setne al
push dword [ebp - 0x1b4]
mov byte [ebp + 0xb], 1
push 0x100ba1c
mov dword [ebp - 0x40], 1
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x2c
cmp byte [ebp - 0x15], bl
jne 0x1058fdf
cmp dword [ebp - 0x3a0], ebx
je 0x1058fdf
mov ecx, dword [ebp - 0x14]
push ebx
lea eax, [ebp - 0xa8]
push eax
push 0xb0
push dword [ebp - 0x3a4]
push dword [ebp - 0x3a0]
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x224]
call fcn.0102184c
test al, al
je 0x1058fdf
cmp byte [edi + 0x20], bl
je 0x105a5a6
mov eax, dword [edi + 0x10]
jmp 0x105a5a8
xor eax, eax
push eax
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x224]
call fcn.01023f79
test al, al
jne 0x105a6cf
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x14
jmp 0x105a6cf
lea eax, [ebp - 0xa8]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b131
test al, al
je 0x105a6c6
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x1b0]
mov byte [ebp + 0xb], 1
push dword [ebp - 0x1b4]
mov dword [ebp - 0x40], 1
push 0x100ba1c
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100e21b
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x2c
cmp byte [edi + 0x20], bl
je 0x105a684
mov eax, dword [edi + 0x10]
jmp 0x105a686
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x224]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01022625
cmp al, bl
je 0x1058fdf
push ebx
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x214]
lea ecx, [ebp - 0x1cc]
call fcn.0102ba02
test al, al
je 0x1058fdf
jmp 0x105a6cf
cmp byte [ebp - 1], bl
jne 0x1058fdf
cmp byte [ebp - 0xd], bl
jne 0x105a6d9
cmp byte [ebp + 0xb], bl
je 0x105a6e2
cmp dword [ebp + 0x2c], ebx
je 0x105accc
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0101213e
cmp al, bl
je 0x105a755
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
je 0x105a755
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
je 0x105a755
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0101213e
test al, al
jne 0x105a75a
cmp byte [esi], 1
ja 0x105a789
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0103937b
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx + 8]
lea eax, [eax + eax*4]
shl eax, 5
mov eax, dword [eax + ecx + 0x8c]
shr eax, 2
and al, 1
jmp 0x105a78b
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x105a7a1
jne 0x105a862
cmp al, bl
jne 0x105a862
cmp byte [edi + 0x20], bl
je 0x105a7ab
mov eax, dword [edi + 0x10]
jmp 0x105a7ad
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0102a85e
cmp eax, ebx
je 0x1058fdf
cmp eax, 1
jle 0x105a862
cmp eax, 3
jle 0x105a825
cmp eax, 4
je 0x105a7f0
cmp eax, 5
je 0x1058fdf
jmp 0x105a862
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100debb
jmp 0x105a85f
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1b4]
push eax
push 0x100ba0c
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100debb
mov byte [ebp + 0xb], 1
add esp, 0x14
mov eax, dword [ebp + 0x18]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], ebx
cmp byte [ebp - 3], bl
je 0x105a891
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.010214f5
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0x18]
add dword [eax + 0x18], ecx
adc dword [eax + 0x1c], edx
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
cmp al, bl
je 0x105a8e2
cmp byte [esi], 2
jb 0x105a8e2
push ecx
push ecx
mov eax, esp
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
lea ecx, [esi + 0x330]
call fcn.01013c19
jmp 0x105accc
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
test al, al
je 0x105aa2f
lea ecx, [ebp - 0x328]
call fcn.010118d2
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
push dword [esi + 0xc]
lea ecx, [esi + 0x330]
push dword [esi + 8]
call fcn.01013c19
push 0xffffffffffffffff
push 0x1001d54
lea ecx, [ebp - 0x328]
call fcn.01011222
test al, al
je 0x105a995
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0xa8]
call fcn.010213bd
test eax, eax
jne 0x105aa1f
cmp byte [edi + 0x20], bl
je 0x105a964
mov eax, dword [edi + 0x10]
jmp 0x105a966
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102aa24
cmp eax, 2
jl 0x105aa1f
cmp eax, 3
jle 0x105a9e2
cmp eax, 4
je 0x105a9ad
cmp eax, 5
jne 0x105aa1f
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100bd8b
lea ecx, [ebp - 0x328]
jmp 0x105992f
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100debb
jmp 0x105aa1c
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xa8]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1b4]
push eax
push 0x100ba0c
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100debb
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x328]
call fcn.0101171d
jmp 0x105accc
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
test al, al
je 0x105aaf8
push ecx
push ecx
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], ebx
push dword [esi + 0x14]
lea ecx, [esi + 0x330]
push dword [esi + 0x10]
call fcn.01013c19
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x105aa79
mov ecx, dword [edi + 0x10]
jmp 0x105aa7b
xor ecx, ecx
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01052bd6
test al, al
je 0x105b734
cmp byte [ebp - 2], bl
je 0x105accc
mov byte [ebp + 0xb], 1
jmp 0x105accc
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
push ecx
push ecx
test al, al
mov eax, esp
mov dword [eax + 4], ebx
je 0x105abac
mov dword [eax], 1
push dword [esi + 0x24]
lea ecx, [esi + 0x330]
push dword [esi + 0x20]
call fcn.01013c19
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x105ab42
mov ecx, dword [edi + 0x10]
jmp 0x105ab44
xor ecx, ecx
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.010535e0
jmp 0x105aade
mov dword [eax], 0xb
push dword [ebp - 0x1b0]
push dword [ebp - 0x1b4]
call fcn.0100e89e
cmp al, bl
je 0x105accc
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105abd8
mov eax, dword [edi + 0x10]
jmp 0x105abda
xor eax, eax
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push ebx
push edi
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x1cc]
push esi
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0105599d
test al, al
je 0x105b734
cmp byte [ebp - 2], bl
je 0x105aca9
cmp dword [ebp + 0x2c], ebx
je 0x105aca5
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x310]
call fcn.01026fed
test al, al
jne 0x105aca5
push dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b0]
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x38], ecx
call fcn.0100debb
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x105accc
cmp byte [esi], 2
jb 0x105accc
push dword [ebp + 0x30]
lea eax, [ebp - 0x310]
push esi
push eax
call fcn.01058526
test al, al
je 0x105b734
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.0102b702
test al, al
jne 0x105a0f3
cmp byte [ebp - 1], bl
jne 0x1058fdf
cmp byte [ebp + 0xb], bl
je 0x105ad30
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105ad30
cmp byte [edi + 0x20], bl
je 0x105ad18
mov eax, dword [edi + 0x10]
jmp 0x105ad1a
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102d13b
test al, al
je 0x105b734
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1059e34
push dword [ebp - 0x44]
mov eax, dword [edi + 0x14]
push dword [ebp - 0x48]
xor ecx, ecx
mov cl, byte [0x1063039]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
push ecx
xor ecx, ecx
mov cl, byte [0x1063038]
push ecx
mov ecx, dword [esi + 0x2c]
push eax
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x518]
mov dword [eax + 4], ebx
call fcn.01034103
cmp al, bl
je 0x1058fdf
xor eax, eax
inc eax
cmp word [ebp + 0x20], ax
mov dword [ebp + 0x14], eax
jb 0x1059cbe
lea ecx, [ebp - 0x518]
call fcn.0103419b
test al, al
je 0x1058fdf
mov eax, dword [ebp - 0x50]
mov dword [ebp - 8], eax
jmp 0x105af54
mov edi, dword [ebp + 0x30]
add dword [ebp - 0x28], 1
push edi
push dword [esi + 0x3c]
adc dword [ebp - 0x24], ebx
push dword [esi + 0x38]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push 5
push esi
call fcn.01049bac
test byte [ebp - 8], 0x7f
jne 0x105ae07
mov eax, dword [esi + 0x2c]
sub eax, dword [ebp - 8]
mov ecx, 0x80
cmp eax, ecx
jbe 0x105ade4
mov eax, ecx
push dword [ebp + 0x10]
push eax
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax + 4], ebx
call fcn.01029dd9
cmp al, bl
je 0x105b26c
lea ecx, [ebp - 0x1cc]
call fcn.010296c4
test al, al
je 0x105b28d
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax + 4], ebx
call fcn.0102fea6
cmp al, bl
jne 0x105ae7e
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x278]
mov dword [eax + 4], ebx
call fcn.01018548
cmp al, bl
jne 0x105af4e
push dword [ebp - 8]
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x105af4e
lea ecx, [ebp - 0x1cc]
call fcn.0102010e
test al, al
je 0x105af4e
mov eax, dword [ebp - 0x1c4]
test byte [eax + 0x16], 1
je 0x105af4e
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x470]
mov dword [eax + 4], ebx
call fcn.01018548
cmp al, bl
mov byte [ebp + 0x18], al
jne 0x105aefb
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105aed9
mov eax, dword [eax + 0x10]
jmp 0x105aedb
xor eax, eax
push ebx
push ebx
push dword [ebp + 0x34]
lea ecx, [ebp - 0x1cc]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push esi
push eax
call fcn.0102d5d7
test al, al
je 0x105b734
mov eax, dword [ebp - 0x1c4]
mov al, byte [eax + 0x16]
shr al, 1
test al, 1
je 0x105af2e
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x330]
mov dword [eax + 4], ebx
call fcn.01013c19
lea eax, [ebp - 0x61]
push eax
push dword [ebp + 0x18]
lea eax, [ebp - 0x1cc]
push dword [ebp + 0x30]
lea ecx, [ebp - 0x518]
push eax
call fcn.010342ea
test al, al
je 0x105af5f
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105adae
jmp 0x105af71
cmp byte [ebp - 0x61], bl
je 0x105b734
mov eax, dword [ebp - 8]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ebx
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
dec ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x518]
mov dword [eax + 4], ebx
call fcn.0103424a
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x105b256
test byte [ebp - 8], 0xf
jne 0x105afa2
add dword [ebp - 0x28], 1
adc dword [ebp - 0x24], ebx
cmp dword [ebp - 8], 9
je 0x105b230
cmp dword [ebp - 8], 0xb
je 0x105b230
push dword [esi + 0xc]
push dword [esi + 8]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b230
push dword [esi + 0x14]
push dword [esi + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b230
push dword [esi + 0x24]
push dword [esi + 0x20]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b230
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x48]
mov dword [eax + 4], ebx
call fcn.01025f81
cmp al, bl
jne 0x105b230
push dword [ebp + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax + 4], ebx
call fcn.01029d37
cmp al, bl
je 0x1058fdf
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
jne 0x105b0b6
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x278]
mov dword [eax + 4], ebx
call fcn.01018548
cmp al, bl
jne 0x105b247
push dword [ebp - 8]
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x105b247
push ebx
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1cc]
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1c], ebx
call fcn.0102b702
test al, al
je 0x105b1f0
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105b0f0
mov eax, dword [edi + 0x10]
jmp 0x105b0f2
xor eax, eax
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x1058fdf
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push edi
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x518]
push eax
push esi
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0105513a
test al, al
je 0x105b734
cmp byte [ebp - 2], bl
je 0x105b1c7
cmp dword [ebp + 0x2c], ebx
je 0x105b1c3
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x310]
call fcn.01026fed
test al, al
jne 0x105b1c3
push dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b0]
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x38], ecx
call fcn.0100debb
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
lea eax, [ebp - 1]
push 0x90
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102b702
test al, al
jne 0x105b0e3
cmp byte [ebp - 1], bl
jne 0x1058fdf
cmp byte [ebp + 0xb], bl
je 0x105b247
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105b247
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105b216
mov eax, dword [eax + 0x10]
jmp 0x105b218
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102d13b
test al, al
je 0x105b734
jmp 0x105b247
push dword [ebp + 0x30]
push dword [esi + 0x3c]
push dword [esi + 0x38]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push 5
push esi
call fcn.01049bac
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105af95
inc dword [ebp + 0x14]
mov ax, word [ebp + 0x14]
cmp ax, word [ebp + 0x20]
jbe 0x105ad90
jmp 0x1059cbe
mov eax, dword [edi]
push 3
push ebx
push 0x426
mov ecx, edi
call dword [eax + 0xc]
push 0x100121c
push edi
call fcn.0100dea0
pop ecx
pop ecx
jmp 0x105b734
mov ecx, edi
jmp 0x1058fe2
push dword [ebp + 0x10]
push ecx
push ecx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax], edi
call fcn.01029d37
cmp al, bl
je 0x105b67d
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
jne 0x105b303
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x278]
mov dword [eax], edi
call fcn.01018548
cmp al, bl
jne 0x105b34c
push edi
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x105b34c
mov eax, dword [esi + 0x40]
mov word [eax + edi*2], bx
mov dword [ebp - 0x1c], ebx
push ebx
jmp 0x105b31f
mov eax, dword [esi + 0x40]
lea eax, [eax + edi*2]
inc word [eax]
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push 0x30
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x408]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.0102b702
test al, al
jne 0x105b310
mov eax, dword [ebp - 0x1c4]
mov ax, word [eax + 0x12]
mov ecx, dword [esi + 0x44]
mov word [ecx + edi*2], ax
inc edi
cmp edi, dword [esi + 0x2c]
jb 0x1059cf4
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x105b5c7
push ecx
push ecx
mov eax, esp
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov dword [eax], 1
mov dword [eax + 4], ebx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0x48]
mov dword [eax + 4], ebx
call fcn.01025f81
cmp al, bl
jne 0x105b5b8
push dword [esi + 0x14]
push dword [esi + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b5b8
push dword [esi + 0x24]
push dword [esi + 0x20]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b5b8
push dword [esi + 0xc]
push dword [esi + 8]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ebx
call fcn.0100e89e
cmp al, bl
jne 0x105b5b8
mov ecx, dword [ebp - 8]
cmp ecx, 9
je 0x105b5b8
push dword [ebp + 0x10]
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax + 4], ebx
call fcn.01029d37
cmp al, bl
je 0x105b67d
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
jne 0x105b469
mov edi, dword [ebp - 8]
push ecx
push ecx
mov eax, esp
push ecx
mov dword [eax], 1
mov dword [eax + 4], ebx
push ecx
mov eax, esp
lea ecx, [esi + 0x278]
mov dword [eax], edi
mov dword [eax + 4], ebx
call fcn.01018548
cmp al, bl
jne 0x105b5b8
push edi
push 0x10014a0
push 0x659e
push dword [ebp + 0x30]
call fcn.0100debb
add esp, 0x10
jmp 0x105b5b8
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x1c], ebx
push ebx
jmp 0x105b557
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105b485
mov eax, dword [edi + 0x10]
jmp 0x105b487
xor eax, eax
lea edx, [ebp - 0xa8]
push edx
lea edx, [ebp - 0x1cc]
push edx
mov edx, dword [ebp - 0x198]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.01020105
movzx eax, al
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x20]
lea ecx, [ebp - 0x310]
call fcn.01027534
test al, al
je 0x105b67d
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x14]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push edi
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x1cc]
push esi
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.010522d9
test al, al
je 0x1059da7
cmp byte [ebp - 2], bl
je 0x105b551
cmp dword [ebp + 0x2c], ebx
je 0x105b54d
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x310]
call fcn.01026fed
test al, al
jne 0x105b54d
push dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b0]
push eax
push 0x100ba0c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x38], ecx
call fcn.0100debb
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
inc dword [ebp - 0x1c]
push dword [ebp - 0x1c]
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0x1cc]
push eax
call fcn.0102b702
test al, al
jne 0x105b475
cmp byte [ebp - 1], bl
jne 0x105b67d
cmp byte [ebp + 0xb], bl
je 0x105b5b8
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105b5b8
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105b5a0
mov eax, dword [eax + 0x10]
jmp 0x105b5a2
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0102d13b
test al, al
je 0x1059da7
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105b362
lea ecx, [ebp - 0x408]
call fcn.01023f54
lea ecx, [ebp - 0x4c0]
call fcn.01017d08
push dword [ebp + 0x30]
push 5
push esi
call fcn.01049c1c
push 0x100121c
push 3
push 2
push 0x65dd
push dword [ebp + 0x30]
call fcn.0100df1c
add esp, 0x14
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x105b6d6
mov eax, dword [esi + 0x44]
cmp word [eax + edi*2], bx
je 0x105b6cc
push dword [ebp + 0x10]
mov byte [0x1063668], 1
push ecx
push ecx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1cc]
mov dword [eax], edi
call fcn.01029d37
cmp al, bl
je 0x1058fdf
lea ecx, [ebp - 0x1cc]
call fcn.0102fe14
test al, al
je 0x105b6cc
mov ecx, dword [ebp - 0x1c4]
movzx ecx, word [ecx + 0x12]
mov eax, dword [esi + 0x44]
movsx eax, word [eax + edi*2]
push ecx
push ecx
cmp ecx, eax
mov eax, esp
mov dword [eax], edi
jne 0x105b68f
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.01017d6c
jmp 0x105b69f
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100bd8b
jmp 0x1059da7
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.010181d2
cmp al, bl
je 0x1058fdf
mov ecx, dword [esi + 0x44]
mov eax, dword [ebp - 0x1c4]
mov cx, word [ecx + edi*2]
sub word [eax + 0x12], cx
cmp dword [ebp + 0x2c], ebx
je 0x105b6cc
lea ecx, [ebp - 0x1cc]
call fcn.01029844
test al, al
je 0x105b734
inc edi
cmp edi, dword [esi + 0x2c]
jb 0x105b60c
cmp dword [ebp - 0x40], ebx
je 0x105b6ec
lea eax, [esi + 0x63c]
cmp dword [eax], 3
je 0x105b6ec
mov dword [eax], 1
cmp byte [0x1063668], bl
je 0x105b732
mov ecx, dword [ebp + 0x30]
xor eax, eax
cmp byte [esi + 0x28], bl
je 0x105b711
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.0100bd8b
jmp 0x105b722
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.0102685d
add esi, 0x63c
cmp dword [esi], ebx
jne 0x105b732
mov dword [esi], 2
mov bl, 1
lea ecx, [ebp - 0x518]
call fcn.010340de
lea ecx, [ebp - 0x340]
call fcn.0101171d
lea ecx, [ebp - 0x310]
call fcn.0102750f
lea ecx, [ebp - 0x3b8]
call fcn.0102667d
lea ecx, [ebp - 0x27c]
call fcn.01023f54
lea ecx, [ebp - 0xbc]
call fcn.01023f54
lea ecx, [ebp - 0x224]
call fcn.01023f54
lea ecx, [ebp - 0x1cc]
call fcn.01029d0a
pop edi
pop esi
mov al, bl
pop ebx
leave
ret 0x30