Function at 0x10556a5
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 - 0x10], ecx
push edi
lea ecx, [ebp - 0x1d4]
call fcn.01027bf4
lea ecx, [ebp - 0x22c]
call fcn.01021b2a
lea ecx, [ebp - 0xc4]
call fcn.01021b2a
lea ecx, [ebp - 0x284]
call fcn.01021b2a
lea ecx, [ebp - 0x3b8]
call fcn.01024253
lea ecx, [ebp - 0x318]
call fcn.010250e0
xor ebx, ebx
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x40], ebx
call fcn.0100dbe5
lea ecx, [ebp - 0x518]
call fcn.01031e6a
or dword [ebp - 0x68], 0xffffffff
cmp byte [ebp + 0x24], bl
mov esi, dword [ebp + 8]
jne 0x1055cd2
cmp word [ebp + 0x20], bx
je 0x1055cd8
push ebx
push 0x2c
lea eax, [ebp - 0x2b0]
push eax
push ebx
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
jl 0x1058817
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x294]
xor edx, edx
div dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x2a4]
xor ecx, ecx
cmp ebx, ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], eax
ja 0x105578b
jb 0x1055781
cmp edx, eax
jae 0x105578b
mov eax, edx
mov ecx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
cmp ebx, ecx
mov edx, dword [esi + 0x640]
ja 0x10557a1
jb 0x105579b
cmp edx, eax
jae 0x10557a1
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ebx
cmp word [ebp + 0x20], 0xffff
je 0x10557da
movzx eax, word [ebp + 0x20]
cmp eax, dword [esi + 0x30]
jbe 0x10557da
push eax
push 0x1001200
push 0x6659
push dword [ebp + 0x30]
call fcn.0100cfa9
mov ax, word [esi + 0x30]
xor ecx, ecx
inc ecx
add esp, 0x10
cmp ax, cx
mov dword [ebp + 0x20], ecx
jb 0x10557da
mov dword [ebp + 0x20], eax
push ecx
push ecx
mov ecx, dword [ebp - 0x2a8]
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 - 0x2a8]
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.0100bd16
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 0x1055847
mov dword [ebp + 8], 0x44
mov edx, dword [ebp - 0x2a8]
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 - 0x2a8]
lea edi, [edi*8 - 1]
mov dword [ebp - 0x5c], ebx
je 0x1055876
mov eax, dword [eax + 0x10]
jmp 0x1055878
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.0100bced
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 - 0x234]
push eax
call fcn.0100bd16
mov edi, dword [eax]
mov eax, dword [eax + 4]
push ecx
mov dword [ebp - 0x1c], edi
add edi, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
adc eax, dword [ebp - 0x4c]
push ecx
mov dword [ebp - 0x54], eax
mov eax, esp
push ebx
push 9
push dword [ebp - 0x28]
mov dword [eax], 0xa
push dword [ebp - 0x2c]
mov dword [eax + 4], ebx
call sub.ntdll.dll__allmul
push edx
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.0100bd16
cmp word [ebp + 0x20], 0xffff
mov ecx, dword [eax]
mov dword [ebp + 8], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
jne 0x1055a37
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0100ddc7
test al, al
je 0x1055ada
push ecx
push ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
push edi
mov dword [ebp + 0x20], ebx
mov dword [eax + 4], ecx
call fcn.0100ddc7
cmp al, bl
je 0x1055957
push 0x665a
mov ecx, dword [ebp + 0x30]
call fcn.0100f02b
jmp 0x1055ce5
sub edi, dword [ebp - 0x2c]
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 - 0x2a8]
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x34], eax
push edi
lea eax, [ebp - 0x234]
push eax
call fcn.0100bced
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100bd16
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.0100bd16
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.0100ddc7
cmp al, bl
je 0x10559cc
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x1055a1b
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 - 0x2a8]
mov eax, dword [ebp - 0x34]
push eax
push edi
lea eax, [ebp - 0x1c]
push eax
call fcn.0100bced
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0xc]
push eax
call fcn.0100bd16
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1dc]
push eax
call fcn.0100bd16
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x1001200
push 0x6656
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
jmp 0x1055ce5
cmp word [ebp + 0x20], 1
je 0x1055cc1
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
cmp word [ebp + 0x20], bx
je 0x1055ce5
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 - 0x2a8]
mov edi, eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0x70]
push dword [ebp - 0x50]
mov dword [ebp - 0x5c], edx
push eax
call fcn.0100bced
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 - 0x48]
push eax
call fcn.0100bd16
mov edi, dword [eax]
mov eax, dword [eax + 4]
push ecx
push ecx
mov dword [ebp - 0x5c], eax
mov eax, esp
push dword [ebp - 0x28]
or dword [eax], 0xffffffff
push dword [ebp - 0x2c]
or dword [eax + 4], 0xffffffff
call fcn.0100de13
push dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
push 0x1001200
push 0x6657
push dword [ebp + 0x30]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
call fcn.0100cfa9
add esp, 0x10
jmp 0x1055ce5
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x54]
push edi
call fcn.0100fba0
test al, al
jne 0x1055cc1
push ecx
push ecx
mov ecx, dword [ebp - 0x38]
mov eax, esp
push dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x34]
push edi
mov dword [eax + 4], ecx
call fcn.0100ddc7
cmp al, bl
je 0x1055b21
mov ecx, dword [ebp + 0x30]
push 0x665a
call fcn.0100f02b
jmp 0x1055bfc
sub edi, dword [ebp - 0x2c]
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 - 0x2a8]
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x34], eax
push edi
lea eax, [ebp - 0x1dc]
push eax
call fcn.0100bced
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x234]
push eax
call fcn.0100bd16
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100bd16
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.0100ddc7
cmp al, bl
je 0x1055b99
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x1055be5
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 - 0x2a8]
mov eax, dword [ebp - 0x34]
push eax
push edi
lea eax, [ebp - 0xc]
push eax
call fcn.0100bced
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.0100bd16
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x70]
push eax
call fcn.0100bd16
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x1001200
push 0x6656
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x1c]
push dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x28]
sbb ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ebx
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x34], ebx
call fcn.0100bced
cmp dword [esi + 0x2c], ebx
mov edi, eax
mov eax, dword [edi]
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp + 0x20], 1
mov dword [ebp - 8], ebx
jbe 0x1055a54
mov eax, dword [esi + 0x40]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ax, word [eax]
cmp ax, bx
je 0x1055c8e
push dword [edi + 4]
movzx eax, ax
push dword [edi]
lea eax, [eax*8 + 0x10]
xor ecx, ecx
add dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
adc dword [ebp - 0x34], ecx
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.0100ddc7
test al, al
je 0x1055c8e
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
xor eax, eax
inc dword [ebp + 0x20]
cmp word [ebp + 0x20], 0xa
mov dword [ebp - 0x34], eax
ja 0x1055ca2
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp + 8], 2
cmp eax, dword [esi + 0x2c]
jb 0x1055c45
jmp 0x1055a4a
push 0xa
push 0x1001200
push 0x665b
push dword [ebp + 0x30]
mov dword [ebp + 0x20], ebx
call fcn.0100cfa9
add esp, 0x10
jmp 0x1055a4a
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
mov dword [ebp + 0x20], 1
jmp 0x1055ce5
cmp word [ebp + 0x20], bx
jne 0x1055ce2
push 0x6658
jmp 0x105594a
mov dword [ebp + 0x20], ebx
push dword [esi + 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.01038be6
test al, al
jne 0x1055d06
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100f02b
jmp 0x1058817
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x88]
push eax
push 2
push 0x1001804
push 3
push 2
push 0x65dc
push dword [ebp + 0x30]
call fcn.0100d00a
push ebx
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x2c
test al, al
je 0x1058817
cmp word [ebp + 0x20], bx
jne 0x1056d81
cmp byte [ebp + 0x24], bl
je 0x1055d7f
mov ecx, dword [esi + 0x2c]
push ebx
push ebx
push 1
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esi + 0xa8]
mov dword [eax + 4], ebx
call fcn.01023a67
cmp al, bl
je 0x1055cf4
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 0x1056c8f
test byte [ebp - 8], 0xf
jne 0x1055da5
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
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 edi, edi
lea ecx, [esi + 0x48]
mov dword [eax + 4], edi
call fcn.01023b87
cmp al, bl
je 0x1055e14
push ebx
push 0x5a
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call sub.ntdll.dll__allmul
push dword [esi + 0x3c]
push dword [esi + 0x38]
push edx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0100bd16
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x1056c80
push eax
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100cfa9
add esp, 0x10
jmp 0x1056c78
push dword [ebp + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax + 4], edi
call fcn.01027c66
cmp al, bl
je 0x1055cf4
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
jne 0x1055e8e
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], edi
call fcn.0101d3e1
cmp al, bl
jne 0x1056c80
push dword [ebp - 8]
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x1056c80
push ebx
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
call fcn.010292dc
test al, al
je 0x1056049
xor edi, edi
inc edi
push ebx
lea eax, [ebp - 0x270]
push eax
push 0x90
lea ecx, [ebp - 0x1d4]
call fcn.01028252
test al, al
jne 0x1056020
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.0100f6ee
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push 0x100b9cc
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x270]
push ecx
push eax
push 0x100b984
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1055f5f
mov eax, dword [eax + 0x10]
jmp 0x1055f61
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x284]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
dec dword [ebp - 0x18]
lea eax, [ebp - 0x270]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
jne 0x1055fd3
cmp byte [ebp - 1], bl
jne 0x1055cf4
jmp 0x1056020
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1055fe0
mov eax, dword [eax + 0x10]
jmp 0x1055fe2
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
lea eax, [ebp - 1]
push 0xa0
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.010292dc
test al, al
jne 0x1055ebb
cmp byte [ebp - 1], bl
jne 0x1055cf4
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x1056c1f
lea eax, [ebp - 0xb0]
push eax
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x1d4]
mov edi, 0x100b984
call fcn.01028d0b
cmp al, bl
mov byte [ebp - 3], al
jne 0x1056092
cmp byte [ebp - 1], bl
jne 0x1055cf4
lea eax, [ebp - 0x11]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x68]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x2d]
push eax
push dword [ebp + 0x14]
mov al, byte [ebp - 3]
push dword [ebp + 0x10]
neg al
push dword [ebp + 0x1c]
mov byte [ebp - 0x11], bl
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
sbb eax, eax
and eax, ecx
push eax
mov al, byte [ebp - 3]
neg al
lea ecx, [ebp - 0x284]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0xc4]
push eax
push esi
call fcn.010544bf
test al, al
je 0x1058817
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x1056104
cmp byte [ebp - 0x11], bl
jne 0x1056104
xor al, al
jmp 0x1056106
mov al, 1
cmp byte [ebp - 0x2d], bl
mov byte [ecx], al
je 0x10562ed
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65ba
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
mov byte [ebp + 0xb], 1
call fcn.0100cfa9
mov eax, dword [ebp + 0x10]
add esp, 0x14
cmp byte [eax + 0x20], bl
mov edi, eax
je 0x1056153
mov eax, dword [edi + 0x10]
jmp 0x1056155
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0xc4]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
dec dword [ebp - 0x18]
cmp byte [ebp - 3], bl
je 0x1056264
cmp byte [edi + 0x20], bl
je 0x10561a9
mov eax, dword [edi + 0x10]
jmp 0x10561ab
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x284]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
je 0x105625b
cmp byte [edi + 0x20], bl
je 0x1056219
mov edi, dword [edi + 0x10]
jmp 0x105621b
xor edi, edi
push edi
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
jmp 0x1056264
cmp byte [ebp - 1], bl
jne 0x1055cf4
push 0xffffffffffffffff
push 0x1001378
lea ecx, [ebp - 0x348]
call fcn.0100d6cd
test al, al
je 0x1055cf4
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x348]
call fcn.0101ef92
test eax, eax
jne 0x10562c4
mov eax, dword [ebp - 0x1cc]
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.0100f75f
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 0x105682b
cmp byte [ebp - 0x7b], bl
je 0x1056344
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1056303
mov eax, dword [eax + 0x10]
jmp 0x1056305
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.01021b7f
test al, al
jne 0x1056344
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x105655d
cmp byte [ebp - 0x23b], bl
je 0x10563a7
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1056366
mov eax, dword [eax + 0x10]
jmp 0x1056368
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x284]
call fcn.01021b7f
test al, al
jne 0x10563a7
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0x12], bl
call fcn.01028d0b
cmp al, bl
mov byte [ebp + 0x23], al
je 0x1056452
push ebx
lea eax, [ebp - 0x12]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x3b8]
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.01043ab4
cmp al, bl
jne 0x1056637
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.0100f070
cmp al, bl
je 0x1056452
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
call fcn.0100ddc7
cmp al, bl
je 0x1056452
push ebx
lea ecx, [ebp - 0x22c]
call fcn.01021a66
test al, al
jne 0x1056637
xor eax, eax
cmp byte [ebp + 0x23], bl
lea ecx, [ebp - 0xb0]
push ecx
push dword [ebp - 0x1b8]
setne al
push dword [ebp - 0x1bc]
mov byte [ebp + 0xb], 1
push 0x100b9cc
mov dword [ebp - 0x40], 1
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x2c
cmp byte [ebp - 0x12], bl
jne 0x1055cf4
cmp dword [ebp - 0x3a0], ebx
je 0x1055cf4
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xb0]
push eax
push 0xb0
push dword [ebp - 0x3a4]
push dword [ebp - 0x3a0]
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x22c]
call fcn.0101f43a
test al, al
je 0x1055cf4
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1056513
mov eax, dword [eax + 0x10]
jmp 0x1056515
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01021b7f
test al, al
jne 0x1056637
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
jmp 0x1056637
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
je 0x105662e
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0x1b8]
mov byte [ebp + 0xb], 1
push dword [ebp - 0x1bc]
mov dword [ebp - 0x40], 1
push 0x100b9cc
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push edi
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
je 0x10565ec
mov eax, dword [eax + 0x10]
jmp 0x10565ee
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
jmp 0x1056637
cmp byte [ebp - 1], bl
jne 0x1055cf4
cmp byte [ebp - 0x11], bl
jne 0x1056641
cmp byte [ebp + 0xb], bl
je 0x105664a
cmp dword [ebp + 0x2c], ebx
je 0x1056c19
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
mov edi, dword [ebp - 0x1b8]
push edi
push dword [ebp - 0x1bc]
call fcn.0100de13
cmp al, bl
je 0x10566af
push dword [esi + 0xc]
push dword [esi + 8]
push edi
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
je 0x10566af
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
je 0x10566af
push dword [esi + 0x24]
push dword [esi + 0x20]
push edi
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
jne 0x10566b4
cmp byte [esi], 1
ja 0x10566e5
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x74]
push ecx
push eax
mov ecx, edi
call fcn.01036f51
mov eax, dword [ebp - 0x74]
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 0x10566e7
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x10566fd
jne 0x10567bd
cmp al, bl
jne 0x10567bd
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105670a
mov eax, dword [eax + 0x10]
jmp 0x105670c
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.01027484
cmp eax, ebx
je 0x1055cf4
xor edx, edx
inc edx
cmp eax, edx
jle 0x10567bd
push 3
pop ecx
cmp eax, ecx
jle 0x1056784
cmp eax, 4
je 0x1056753
cmp eax, 5
je 0x1055cf4
jmp 0x10567bd
mov eax, dword [ebp - 0x1bc]
mov dword [esi + 0x63c], ecx
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
jmp 0x10567ba
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1bc]
push eax
push 0x100b984
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edx
call fcn.0100cfa9
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 0x10567e9
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x284]
call fcn.0101f0ca
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 - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
cmp al, bl
je 0x1056835
cmp byte [esi], 2
jb 0x1056835
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.0100f6ee
jmp 0x1056c19
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
test al, al
je 0x1056983
lea ecx, [ebp - 0x360]
call fcn.0100dbe5
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.0100f6ee
push 0xffffffffffffffff
push 0x1001cf0
lea ecx, [ebp - 0x360]
call fcn.0100d6cd
test al, al
je 0x10568ec
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0101ef92
test eax, eax
jne 0x1056973
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x10568b9
mov eax, dword [eax + 0x10]
jmp 0x10568bb
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.010276aa
cmp eax, 2
jl 0x1056973
push 3
pop ecx
cmp eax, ecx
jle 0x105693a
cmp eax, 4
je 0x1056909
cmp eax, 5
jne 0x1056973
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100f02b
lea ecx, [ebp - 0x360]
call fcn.0100da8d
jmp 0x1058817
mov eax, dword [ebp - 0x1bc]
mov dword [esi + 0x63c], ecx
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
jmp 0x1056970
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1bc]
push eax
push 0x100b984
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edi
call fcn.0100cfa9
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x360]
call fcn.0100da8d
jmp 0x1056c19
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
test al, al
je 0x1056a58
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.0100f6ee
cmp byte [ebp + 0x24], bl
jne 0x1056c19
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x10569d9
mov eax, dword [edi + 0x10]
jmp 0x10569db
xor eax, eax
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.01050742
test al, al
je 0x1058817
cmp byte [ebp - 2], bl
je 0x1056c19
mov byte [ebp + 0xb], 1
jmp 0x1056c19
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
test al, al
je 0x1056b0f
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.0100f6ee
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x1056aa5
mov ecx, dword [edi + 0x10]
jmp 0x1056aa7
xor ecx, ecx
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.0105114c
jmp 0x1056a3e
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x1056b1f
mov eax, dword [edi + 0x10]
jmp 0x1056b21
xor eax, eax
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
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 - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x1d4]
push esi
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.0104f2bf
test al, al
je 0x1058817
cmp byte [ebp - 2], bl
je 0x1056bf6
cmp dword [ebp + 0x2c], ebx
je 0x1056bf2
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01024bee
test al, al
jne 0x1056bf2
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100cfa9
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x1056c19
cmp byte [esi], 2
jb 0x1056c19
push dword [ebp + 0x30]
lea eax, [ebp - 0x318]
push esi
push eax
call fcn.01055495
test al, al
je 0x1058817
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xc4]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.010292dc
test al, al
jne 0x105605b
cmp byte [ebp - 1], bl
jne 0x1055cf4
cmp byte [ebp + 0xb], bl
je 0x1056c80
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x1056c80
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1056c68
mov eax, dword [eax + 0x10]
jmp 0x1056c6a
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102ad15
test al, al
je 0x1058817
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1055d98
cmp byte [ebp + 0x24], bl
je 0x1058692
cmp byte [esi + 0x100], bl
je 0x1058692
lea ecx, [ebp - 0x4c0]
call fcn.0101d493
lea ecx, [ebp - 0x408]
call fcn.01021b2a
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x10583c0
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.01023b87
cmp al, bl
jne 0x10583b6
cmp byte [ebp + 0x28], bl
jne 0x10582fe
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x4c0]
push eax
push edi
call fcn.01038f3d
test al, al
je 0x10582fe
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.0100de13
cmp al, bl
je 0x10582fe
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x4c0]
call fcn.0101d35d
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.0101d06b
test al, al
je 0x1058757
mov ecx, dword [ebp + 0xc]
push edi
push dword [ebp - 0x60]
call fcn.01038ca5
test al, al
jne 0x1056d11
jmp 0x1058757
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 0x1056dd8
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 - 0x70]
push eax
call fcn.0100bced
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 0x1056dde
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x50], ebx
cmp dword [esi + 0x2c], ebx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 8], ebx
jbe 0x1057d35
test byte [ebp - 8], 0xf
jne 0x1056e00
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
push ebx
push 0x64
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call sub.ntdll.dll__allmul
push dword [esi + 0x3c]
push dword [esi + 0x38]
push edx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0100bd16
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x1056e47
push eax
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100cfa9
add esp, 0x10
test al, al
je 0x1058817
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.01023b87
cmp al, bl
jne 0x1057d26
mov eax, dword [ebp - 0x50]
add dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x4c]
adc dword [ebp - 0x34], eax
mov ecx, dword [esi + 0xa0]
push ecx
push ecx
mov eax, esp
push dword [ebp - 0x34]
mov dword [eax], ecx
push dword [ebp - 0x38]
mov dword [eax + 4], ebx
call fcn.0100dded
cmp al, bl
je 0x1056eb1
mov eax, dword [esi + 0xa0]
sub dword [ebp - 0x38], eax
sbb dword [ebp - 0x34], ebx
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
jmp 0x1056e7e
mov eax, dword [ebp - 0x60]
add dword [ebp - 0x24], eax
push 0
pop eax
adc dword [ebp - 0x20], 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 - 0x1d4]
call fcn.01027c66
cmp al, bl
je 0x1055cf4
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
jne 0x1056f39
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.0101d3e1
cmp al, bl
jne 0x1057d26
push dword [ebp - 8]
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x1057d26
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x10570ad
push ebx
lea eax, [ebp - 0x270]
push eax
push 0x90
lea ecx, [ebp - 0x1d4]
call fcn.01028252
test al, al
jne 0x10570a7
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.0100f6ee
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push 0x100b9cc
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x270]
push ecx
push eax
push 0x100b984
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x2c
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x1056fe9
mov eax, dword [edi + 0x10]
jmp 0x1056feb
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x284]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
dec dword [ebp - 0x18]
lea eax, [ebp - 0x270]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
jne 0x105705d
cmp byte [ebp - 1], bl
jne 0x1055cf4
jmp 0x10570a7
cmp byte [edi + 0x20], bl
je 0x1057067
mov eax, dword [edi + 0x10]
jmp 0x1057069
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x284]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.010292dc
test al, al
jne 0x1056f45
cmp byte [ebp - 1], bl
jne 0x1055cf4
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x1057cc8
lea eax, [ebp - 0xb0]
push eax
push 0xa0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
cmp al, bl
mov byte [ebp - 3], al
jne 0x1057114
cmp byte [ebp - 1], bl
jne 0x1055cf4
lea eax, [ebp - 0x11]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x68]
push dword [ebp + 0x2c]
lea ecx, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x2d]
push eax
push dword [ebp + 0x14]
mov al, byte [ebp - 3]
neg al
push edi
push dword [ebp + 0x1c]
mov byte [ebp - 0x11], bl
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
sbb eax, eax
and eax, ecx
push eax
mov al, byte [ebp - 3]
neg al
lea ecx, [ebp - 0x284]
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0xc4]
push eax
push esi
call fcn.010544bf
test al, al
je 0x1058817
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x1057184
cmp byte [ebp - 0x11], bl
jne 0x1057184
xor al, al
jmp 0x1057186
mov al, 1
cmp byte [ebp - 0x2d], bl
mov byte [ecx], al
je 0x105736c
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65ba
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
mov byte [ebp + 0xb], 1
call fcn.0100cfa9
add esp, 0x14
cmp byte [edi + 0x20], bl
je 0x10571d2
mov eax, dword [edi + 0x10]
jmp 0x10571d4
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0xc4]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
dec dword [ebp - 0x18]
cmp byte [ebp - 3], bl
je 0x10572e3
cmp byte [edi + 0x20], bl
je 0x1057228
mov eax, dword [edi + 0x10]
jmp 0x105722a
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x284]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
je 0x10572da
cmp byte [edi + 0x20], bl
je 0x1057298
mov eax, dword [edi + 0x10]
jmp 0x105729a
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
jmp 0x10572e3
cmp byte [ebp - 1], bl
jne 0x1055cf4
push 0xffffffffffffffff
push 0x1001378
lea ecx, [ebp - 0x348]
call fcn.0100d6cd
test al, al
je 0x1055cf4
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x348]
call fcn.0101ef92
test eax, eax
jne 0x1057343
mov eax, dword [ebp - 0x1cc]
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.0100f75f
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 0x10578ca
cmp byte [ebp - 0x7b], bl
je 0x10573c4
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105737f
mov eax, dword [edi + 0x10]
jmp 0x1057381
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.01021b7f
test al, al
jne 0x10573c4
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x10575e3
cmp byte [ebp - 0x23b], bl
je 0x1057428
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x10573e3
mov eax, dword [edi + 0x10]
jmp 0x10573e5
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x284]
call fcn.01021b7f
test al, al
jne 0x1057428
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0x12], bl
call fcn.01028d0b
cmp al, bl
mov byte [ebp - 0x62], al
je 0x10574d3
push ebx
lea eax, [ebp - 0x12]
push eax
push dword [ebp + 0x30]
lea eax, [ebp - 0x3b8]
push dword [ebp - 0x3ac]
push dword [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.01043ab4
cmp al, bl
jne 0x10576be
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.0100f070
cmp al, bl
je 0x10574d3
push ecx
push ecx
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
push dword [ebp - 0x1f8]
push dword [ebp - 0x1fc]
call fcn.0100ddc7
cmp al, bl
je 0x10574d3
push ebx
lea ecx, [ebp - 0x22c]
call fcn.01021a66
test al, al
jne 0x10576be
xor eax, eax
cmp byte [ebp - 0x62], bl
lea ecx, [ebp - 0xb0]
push ecx
push dword [ebp - 0x1b8]
setne al
push dword [ebp - 0x1bc]
mov byte [ebp + 0xb], 1
push 0x100b9cc
mov dword [ebp - 0x40], 1
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x2c
cmp byte [ebp - 0x12], bl
jne 0x1055cf4
cmp dword [ebp - 0x3a0], ebx
je 0x1055cf4
mov ecx, dword [ebp - 0x10]
push ebx
lea eax, [ebp - 0xb0]
push eax
push 0xb0
push dword [ebp - 0x3a4]
push dword [ebp - 0x3a0]
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x22c]
call fcn.0101f43a
test al, al
je 0x1055cf4
cmp byte [edi + 0x20], bl
je 0x1057595
mov eax, dword [edi + 0x10]
jmp 0x1057597
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01021b7f
test al, al
jne 0x10576be
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x14
jmp 0x10576be
lea eax, [ebp - 0xb0]
push eax
push 0xb0
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.01028d0b
test al, al
je 0x10576b5
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0x1b8]
mov byte [ebp + 0xb], 1
push dword [ebp - 0x1bc]
mov dword [ebp - 0x40], 1
push 0x100b9cc
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100d309
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x2c
cmp byte [edi + 0x20], bl
je 0x1057673
mov eax, dword [edi + 0x10]
jmp 0x1057675
xor eax, eax
push eax
push ecx
push ecx
mov eax, esp
lea ecx, [ebp - 0x22c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.01020213
cmp al, bl
je 0x1055cf4
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.010295dc
test al, al
je 0x1055cf4
jmp 0x10576be
cmp byte [ebp - 1], bl
jne 0x1055cf4
cmp byte [ebp - 0x11], bl
jne 0x10576c8
cmp byte [ebp + 0xb], bl
je 0x10576d1
cmp dword [ebp + 0x2c], ebx
je 0x1057cc2
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100de13
cmp al, bl
je 0x1057744
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
je 0x1057744
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
je 0x1057744
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100de13
test al, al
jne 0x1057749
cmp byte [esi], 1
ja 0x105777b
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp + 0x14]
push eax
call fcn.01036f51
mov eax, dword [ebp - 0x74]
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 0x105777d
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x1057793
jne 0x1057854
cmp al, bl
jne 0x1057854
cmp byte [edi + 0x20], bl
je 0x105779d
mov eax, dword [edi + 0x10]
jmp 0x105779f
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.01027484
cmp eax, ebx
je 0x1055cf4
cmp eax, 1
jle 0x1057854
cmp eax, 3
jle 0x1057817
cmp eax, 4
je 0x10577e2
cmp eax, 5
je 0x1055cf4
jmp 0x1057854
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100cfa9
jmp 0x1057851
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1bc]
push eax
push 0x100b984
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100cfa9
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 0x1057883
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x284]
call fcn.0101f0ca
mov ecx, dword [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 4]
add dword [edx + 0x18], ecx
adc dword [edx + 0x1c], eax
push ecx
push ecx
mov eax, esp
mov dword [eax], 9
mov dword [eax + 4], ebx
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
cmp al, bl
je 0x10578d4
cmp byte [esi], 2
jb 0x10578d4
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.0100f6ee
jmp 0x1057cc2
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
test al, al
je 0x1057a21
lea ecx, [ebp - 0x330]
call fcn.0100dbe5
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.0100f6ee
push 0xffffffffffffffff
push 0x1001cf0
lea ecx, [ebp - 0x330]
call fcn.0100d6cd
test al, al
je 0x1057987
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0101ef92
test eax, eax
jne 0x1057a11
cmp byte [edi + 0x20], bl
je 0x1057956
mov eax, dword [edi + 0x10]
jmp 0x1057958
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.010276aa
cmp eax, 2
jl 0x1057a11
cmp eax, 3
jle 0x10579d4
cmp eax, 4
je 0x105799f
cmp eax, 5
jne 0x1057a11
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100f02b
lea ecx, [ebp - 0x330]
jmp 0x10568ff
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100cfa9
jmp 0x1057a0e
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
mov byte [eax], 1
mov eax, dword [ebp - 0x1bc]
push eax
push 0x100b984
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100cfa9
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x330]
call fcn.0100da8d
jmp 0x1057cc2
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
test al, al
je 0x1057aea
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.0100f6ee
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x1057a6b
mov ecx, dword [edi + 0x10]
jmp 0x1057a6d
xor ecx, ecx
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.01050742
test al, al
je 0x1058817
cmp byte [ebp - 2], bl
je 0x1057cc2
mov byte [ebp + 0xb], 1
jmp 0x1057cc2
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
push ecx
push ecx
test al, al
mov eax, esp
mov dword [eax + 4], ebx
je 0x1057b9e
mov dword [eax], 1
push dword [esi + 0x24]
lea ecx, [esi + 0x330]
push dword [esi + 0x20]
call fcn.0100f6ee
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x1057b34
mov ecx, dword [edi + 0x10]
jmp 0x1057b36
xor ecx, ecx
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push eax
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push edi
push eax
push esi
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.0105114c
jmp 0x1057ad0
mov dword [eax], 0xb
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100f070
cmp al, bl
je 0x1057cc2
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x1057bca
mov eax, dword [edi + 0x10]
jmp 0x1057bcc
xor eax, eax
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
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 - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x1d4]
push esi
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.0104f2bf
test al, al
je 0x1058817
cmp byte [ebp - 2], bl
je 0x1057c9f
cmp dword [ebp + 0x2c], ebx
je 0x1057c9b
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01024bee
test al, al
jne 0x1057c9b
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100cfa9
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x1057cc2
cmp byte [esi], 2
jb 0x1057cc2
push dword [ebp + 0x30]
lea eax, [ebp - 0x318]
push esi
push eax
call fcn.01055495
test al, al
je 0x1058817
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xc4]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.010292dc
test al, al
jne 0x10570e2
cmp byte [ebp - 1], bl
jne 0x1055cf4
cmp byte [ebp + 0xb], bl
je 0x1057d26
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x1057d26
cmp byte [edi + 0x20], bl
je 0x1057d0e
mov eax, dword [edi + 0x10]
jmp 0x1057d10
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102ad15
test al, al
je 0x1058817
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1056df3
push dword [ebp - 0x28]
mov eax, dword [edi + 0x14]
push dword [ebp - 0x2c]
xor ecx, ecx
mov cl, byte [0x1060049]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
push ecx
xor ecx, ecx
mov cl, byte [0x1060048]
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.01031cd9
cmp al, bl
je 0x1055cf4
xor eax, eax
inc eax
cmp word [ebp + 0x20], ax
mov dword [ebp + 0x14], eax
jb 0x1056c8f
lea ecx, [ebp - 0x518]
call fcn.01031d71
test al, al
je 0x1055cf4
mov eax, dword [ebp - 0x50]
cmp eax, dword [esi + 0x2c]
mov dword [ebp - 8], eax
jae 0x1057fac
push ebx
push 0x64
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call sub.ntdll.dll__allmul
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
push dword [esi + 0x3c]
lea eax, [ebp - 0x70]
push dword [esi + 0x38]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push eax
call fcn.0100bd16
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
mov edi, dword [ebp + 0x30]
je 0x1057dfa
push eax
push 0x1001200
push 0x7d0
push edi
mov dword [ebp - 0x3c], eax
call fcn.0100cfa9
add esp, 0x10
test al, al
je 0x1058817
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
add dword [ebp - 0x2c], 0x64
adc dword [ebp - 0x28], ebx
test byte [ebp - 8], 0x7f
jne 0x1057e42
mov eax, dword [esi + 0x2c]
sub eax, dword [ebp - 8]
mov ecx, 0x80
cmp eax, ecx
jbe 0x1057e1f
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 - 0x1d4]
mov dword [eax + 4], ebx
call fcn.01027d08
cmp al, bl
je 0x10582d6
lea ecx, [ebp - 0x1d4]
call fcn.010272c5
test al, al
je 0x10582f7
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax + 4], ebx
call fcn.0102d97f
cmp al, bl
jne 0x1057eb9
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.0101d3e1
cmp al, bl
jne 0x1057f89
push dword [ebp - 8]
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x1057f89
lea ecx, [ebp - 0x1d4]
call fcn.0101dce3
test al, al
je 0x1057f89
mov eax, dword [ebp - 0x1cc]
test byte [eax + 0x16], 1
je 0x1057f89
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.0101d3e1
cmp al, bl
mov byte [ebp + 0x18], al
jne 0x1057f36
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1057f14
mov eax, dword [eax + 0x10]
jmp 0x1057f16
xor eax, eax
push ebx
push ebx
push dword [ebp + 0x34]
lea ecx, [ebp - 0x1d4]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push esi
push eax
call fcn.0102b1b1
test al, al
je 0x1058817
mov eax, dword [ebp - 0x1cc]
mov al, byte [eax + 0x16]
shr al, 1
test al, 1
je 0x1057f69
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.0100f6ee
lea eax, [ebp - 0x61]
push eax
push dword [ebp + 0x18]
lea eax, [ebp - 0x1d4]
push dword [ebp + 0x30]
lea ecx, [ebp - 0x518]
push eax
call fcn.01031ec0
test al, al
je 0x1057f9a
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1057dbc
jmp 0x1057fac
cmp byte [ebp - 0x61], bl
je 0x1058817
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.01031e20
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x10582c0
test byte [ebp - 8], 0xf
jne 0x1057fdd
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
cmp dword [ebp - 8], 9
je 0x1058267
cmp dword [ebp - 8], 0xb
je 0x1058267
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.0100f070
cmp al, bl
jne 0x1058267
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.0100f070
cmp al, bl
jne 0x1058267
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.0100f070
cmp al, bl
jne 0x1058267
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.01023b87
cmp al, bl
jne 0x1058267
push dword [ebp + 0x10]
push ecx
push ecx
mov ecx, dword [ebp - 8]
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax + 4], ebx
call fcn.01027c66
cmp al, bl
je 0x1055cf4
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
jne 0x10580f1
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.0101d3e1
cmp al, bl
jne 0x10582b1
push dword [ebp - 8]
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x10582b1
push ebx
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
call fcn.010292dc
test al, al
je 0x105822f
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105812b
mov eax, dword [edi + 0x10]
jmp 0x105812d
xor eax, eax
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x1055cf4
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
push dword [ebp + 0x30]
lea eax, [ebp - 2]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x518]
push eax
push esi
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.01052c94
test al, al
je 0x1058817
cmp byte [ebp - 2], bl
je 0x1058206
cmp dword [ebp + 0x2c], ebx
je 0x1058202
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01024bee
test al, al
jne 0x1058202
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100cfa9
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
lea eax, [ebp - 1]
push 0x90
push eax
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.010292dc
test al, al
jne 0x105811e
cmp byte [ebp - 1], bl
jne 0x1055cf4
cmp byte [ebp + 0xb], bl
je 0x10582b1
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x10582b1
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1058255
mov eax, dword [eax + 0x10]
jmp 0x1058257
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102ad15
jmp 0x10582a9
push ebx
push 0x64
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call sub.ntdll.dll__allmul
push dword [esi + 0x3c]
push dword [esi + 0x38]
push edx
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.0100bd16
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x10582b1
push eax
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100cfa9
add esp, 0x10
test al, al
je 0x1058817
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x1057fd0
inc dword [ebp + 0x14]
mov ax, word [ebp + 0x14]
cmp ax, word [ebp + 0x20]
jbe 0x1057d86
jmp 0x1056c8f
mov eax, dword [edi]
push 3
push ebx
push 0x426
mov ecx, edi
call dword [eax + 0xc]
push 0x10011cc
push edi
call fcn.0100cf8e
pop ecx
pop ecx
jmp 0x1058817
mov ecx, edi
jmp 0x1055cf7
push dword [ebp + 0x10]
push ecx
push ecx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax], edi
call fcn.01027c66
cmp al, bl
je 0x105874a
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
jne 0x105836d
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.0101d3e1
cmp al, bl
jne 0x10583b6
push edi
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x10583b6
mov eax, dword [esi + 0x40]
mov word [eax + edi*2], bx
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x1058389
mov eax, dword [esi + 0x40]
lea eax, [eax + edi*2]
inc word [eax]
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
push 0x30
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0x408]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.010292dc
test al, al
jne 0x105837a
mov eax, dword [ebp - 0x1cc]
mov ax, word [eax + 0x12]
mov ecx, dword [esi + 0x44]
mov word [ecx + edi*2], ax
inc edi
cmp edi, dword [esi + 0x2c]
jb 0x1056cc5
mov eax, dword [esi + 0xa0]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp + 0x14], ecx
jb 0x10583d3
mov dword [ebp + 0x14], eax
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x105867c
mov dword [ebp + 0x20], ebx
mov eax, dword [ebp + 0x20]
xor edx, edx
div dword [ebp + 0x14]
add eax, 0x5a
cmp eax, dword [ebp - 0x3c]
je 0x1058413
push eax
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100cfa9
add esp, 0x10
test al, al
je 0x1058757
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.01023b87
cmp al, bl
jne 0x105866d
push dword [esi + 0x14]
add dword [ebp + 0x20], 0xa
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.0100f070
cmp al, bl
jne 0x105866d
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.0100f070
cmp al, bl
jne 0x105866d
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.0100f070
cmp al, bl
jne 0x105866d
mov ecx, dword [ebp - 8]
cmp ecx, 9
je 0x105866d
push dword [ebp + 0x10]
push ecx
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax + 4], ebx
call fcn.01027c66
cmp al, bl
je 0x105874a
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
jne 0x105851e
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.0101d3e1
cmp al, bl
jne 0x105866d
push edi
push 0x1001200
push 0x659e
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
jmp 0x105866d
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105860c
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105853a
mov eax, dword [edi + 0x10]
jmp 0x105853c
xor eax, eax
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0x1d4]
push edx
mov edx, dword [ebp - 0x1a0]
shr edx, 1
push edx
push ecx
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0101dcda
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01025135
test al, al
je 0x105874a
push dword [ebp + 0x34]
mov ecx, dword [ebp - 0x10]
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 - 0x1d4]
push esi
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.0104fe45
test al, al
je 0x1058757
cmp byte [ebp - 2], bl
je 0x1058606
cmp dword [ebp + 0x2c], ebx
je 0x1058602
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01024bee
test al, al
jne 0x1058602
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100b984
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x6c], ecx
call fcn.0100cfa9
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
inc dword [ebp - 0x18]
push dword [ebp - 0x18]
push 0x90
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 0xc4]
lea ecx, [ebp - 0x1d4]
push eax
call fcn.010292dc
test al, al
jne 0x105852a
cmp byte [ebp - 1], bl
jne 0x105874a
cmp byte [ebp + 0xb], bl
je 0x105866d
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105866d
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x1058655
mov eax, dword [eax + 0x10]
jmp 0x1058657
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102ad15
test al, al
je 0x1058757
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x10583e2
lea ecx, [ebp - 0x408]
call fcn.01021b5a
lea ecx, [ebp - 0x4c0]
call fcn.0101cba1
push 0x64
push 0x1001200
push 0x7d0
push dword [ebp + 0x30]
call fcn.0100cfa9
add esp, 0x10
test al, al
je 0x1058817
push 0x10011cc
push 3
push 2
push 0x65dd
push dword [ebp + 0x30]
call fcn.0100d00a
add esp, 0x14
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x10587b9
mov eax, dword [esi + 0x44]
cmp word [eax + edi*2], bx
je 0x10587af
push dword [ebp + 0x10]
mov byte [0x1060368], 1
push ecx
push ecx
mov eax, esp
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1d4]
mov dword [eax], edi
call fcn.01027c66
cmp al, bl
je 0x1055cf4
lea ecx, [ebp - 0x1d4]
call fcn.0102d8ed
test al, al
je 0x10587af
mov ecx, dword [ebp - 0x1cc]
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 0x1058772
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.0101cc05
jmp 0x1058782
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100f02b
lea ecx, [ebp - 0x408]
call fcn.01021b5a
lea ecx, [ebp - 0x4c0]
call fcn.0101cba1
jmp 0x1058817
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.0101d06b
cmp al, bl
je 0x1055cf4
mov ecx, dword [esi + 0x44]
mov eax, dword [ebp - 0x1cc]
mov cx, word [ecx + edi*2]
sub word [eax + 0x12], cx
cmp dword [ebp + 0x2c], ebx
je 0x10587af
lea ecx, [ebp - 0x1d4]
call fcn.01027445
test al, al
je 0x1058817
inc edi
cmp edi, dword [esi + 0x2c]
jb 0x10586d5
cmp dword [ebp - 0x40], ebx
je 0x10587cf
lea eax, [esi + 0x63c]
cmp dword [eax], 3
je 0x10587cf
mov dword [eax], 1
cmp byte [0x1060368], bl
je 0x1058815
mov ecx, dword [ebp + 0x30]
xor eax, eax
cmp byte [esi + 0x28], bl
je 0x10587f4
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.0100f02b
jmp 0x1058805
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.01024463
add esi, 0x63c
cmp dword [esi], ebx
jne 0x1058815
mov dword [esi], 2
mov bl, 1
lea ecx, [ebp - 0x518]
call fcn.01031cb4
lea ecx, [ebp - 0x348]
call fcn.0100da8d
lea ecx, [ebp - 0x318]
call fcn.01025110
lea ecx, [ebp - 0x3b8]
call fcn.01024283
lea ecx, [ebp - 0x284]
call fcn.01021b5a
lea ecx, [ebp - 0xc4]
call fcn.01021b5a
lea ecx, [ebp - 0x22c]
call fcn.01021b5a
lea ecx, [ebp - 0x1d4]
call fcn.01027c39
pop edi
pop esi
mov al, bl
pop ebx
leave
ret 0x30