Function at 0x105a9d4
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.0102e50e
lea ecx, [ebp - 0x22c]
call fcn.01039e02
lea ecx, [ebp - 0xc4]
call fcn.01039e02
lea ecx, [ebp - 0x284]
call fcn.01039e02
lea ecx, [ebp - 0x3b8]
call fcn.010224ec
lea ecx, [ebp - 0x318]
call fcn.01028f9f
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.0100e30b
lea ecx, [ebp - 0x518]
call fcn.0102679b
or dword [ebp - 0x68], 0xffffffff
cmp byte [ebp + 0x24], bl
mov esi, dword [ebp + 8]
jne 0x105b001
cmp word [ebp + 0x20], bx
je 0x105b007
push ebx
push 0x2c
lea eax, [ebp - 0x2b0]
push eax
push ebx
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
cmp eax, ebx
jl 0x105db46
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 0x105aaba
jb 0x105aab0
cmp edx, eax
jae 0x105aaba
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 0x105aad0
jb 0x105aaca
cmp edx, eax
jae 0x105aad0
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ebx
cmp word [ebp + 0x20], 0xffff
je 0x105ab09
movzx eax, word [ebp + 0x20]
cmp eax, dword [esi + 0x30]
jbe 0x105ab09
push eax
push 0x100134c
push 0x6659
push dword [ebp + 0x30]
call fcn.0100d5a6
mov ax, word [esi + 0x30]
xor ecx, ecx
inc ecx
add esp, 0x10
cmp ax, cx
mov dword [ebp + 0x20], ecx
jb 0x105ab09
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.0100e6bd
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 0x105ab76
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 0x105aba5
mov eax, dword [eax + 0x10]
jmp 0x105aba7
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.0100e672
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.0100e6bd
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.0100e6bd
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 0x105ad66
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0100e6e6
test al, al
je 0x105ae09
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.0100e6e6
cmp al, bl
je 0x105ac86
push 0x665a
mov ecx, dword [ebp + 0x30]
call fcn.0100fe86
jmp 0x105b014
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.0100e672
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100e6bd
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.0100e6bd
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.0100e6e6
cmp al, bl
je 0x105acfb
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x105ad4a
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.0100e672
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0xc]
push eax
call fcn.0100e6bd
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x1dc]
push eax
call fcn.0100e6bd
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x100134c
push 0x6656
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x14
jmp 0x105b014
cmp word [ebp + 0x20], 1
je 0x105aff0
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
cmp word [ebp + 0x20], bx
je 0x105b014
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.0100e672
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.0100e6bd
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.0100e732
push dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
push 0x100134c
push 0x6657
push dword [ebp + 0x30]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
call fcn.0100d5a6
add esp, 0x10
jmp 0x105b014
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x54]
push edi
call fcn.0101005c
test al, al
jne 0x105aff0
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.0100e6e6
cmp al, bl
je 0x105ae50
mov ecx, dword [ebp + 0x30]
push 0x665a
call fcn.0100fe86
jmp 0x105af2b
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.0100e672
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x234]
push eax
call fcn.0100e6bd
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x60]
push eax
call fcn.0100e6bd
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.0100e6e6
cmp al, bl
je 0x105aec8
xor ecx, ecx
inc ecx
xor eax, eax
jmp 0x105af14
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.0100e672
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.0100e6bd
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x70]
push eax
call fcn.0100e6bd
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
push 0x100134c
push 0x6656
push dword [ebp + 0x30]
call fcn.0100d5a6
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.0100e672
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 0x105ad83
mov eax, dword [esi + 0x40]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ax, word [eax]
cmp ax, bx
je 0x105afbd
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.0100e6e6
test al, al
je 0x105afbd
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 0x105afd1
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp + 8], 2
cmp eax, dword [esi + 0x2c]
jb 0x105af74
jmp 0x105ad79
push 0xa
push 0x100134c
push 0x665b
push dword [ebp + 0x30]
mov dword [ebp + 0x20], ebx
call fcn.0100d5a6
add esp, 0x10
jmp 0x105ad79
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
mov dword [ebp + 0x20], 1
jmp 0x105b014
cmp word [ebp + 0x20], bx
jne 0x105b011
push 0x6658
jmp 0x105ac79
mov dword [ebp + 0x20], ebx
push dword [esi + 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.0103cb30
test al, al
jne 0x105b035
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100fe86
jmp 0x105db46
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x88]
push eax
push 2
push 0x1001a3c
push 3
push 2
push 0x65dc
push dword [ebp + 0x30]
call fcn.0100d607
push ebx
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x2c
test al, al
je 0x105db46
cmp word [ebp + 0x20], bx
jne 0x105c0b0
cmp byte [ebp + 0x24], bl
je 0x105b0ae
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.01021d00
cmp al, bl
je 0x105b023
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 0x105bfbe
test byte [ebp - 8], 0xf
jne 0x105b0d4
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.01021e20
cmp al, bl
je 0x105b143
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.0100e6bd
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x105bfaf
push eax
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100d5a6
add esp, 0x10
jmp 0x105bfa7
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.0102e580
cmp al, bl
je 0x105b023
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
jne 0x105b1bd
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.0101f7ea
cmp al, bl
jne 0x105bfaf
push dword [ebp - 8]
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105bfaf
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.0102fbf6
test al, al
je 0x105b378
xor edi, edi
inc edi
push ebx
lea eax, [ebp - 0x270]
push eax
push 0x90
lea ecx, [ebp - 0x1d4]
call fcn.0102eb6c
test al, al
jne 0x105b34f
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.010177dc
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push 0x100bb5c
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100d8fc
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x270]
push ecx
push eax
push 0x100bb2c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100d5a6
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105b28e
mov eax, dword [eax + 0x10]
jmp 0x105b290
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102f625
test al, al
jne 0x105b302
cmp byte [ebp - 1], bl
jne 0x105b023
jmp 0x105b34f
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105b30f
mov eax, dword [eax + 0x10]
jmp 0x105b311
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102fbf6
test al, al
jne 0x105b1ea
cmp byte [ebp - 1], bl
jne 0x105b023
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105bf4e
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, 0x100bb2c
call fcn.0102f625
cmp al, bl
mov byte [ebp - 3], al
jne 0x105b3c1
cmp byte [ebp - 1], bl
jne 0x105b023
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.010597ee
test al, al
je 0x105db46
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x105b433
cmp byte [ebp - 0x11], bl
jne 0x105b433
xor al, al
jmp 0x105b435
mov al, 1
cmp byte [ebp - 0x2d], bl
mov byte [ecx], al
je 0x105b61c
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.0100d5a6
mov eax, dword [ebp + 0x10]
add esp, 0x14
cmp byte [eax + 0x20], bl
mov edi, eax
je 0x105b482
mov eax, dword [edi + 0x10]
jmp 0x105b484
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
dec dword [ebp - 0x18]
cmp byte [ebp - 3], bl
je 0x105b593
cmp byte [edi + 0x20], bl
je 0x105b4d8
mov eax, dword [edi + 0x10]
jmp 0x105b4da
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102f625
test al, al
je 0x105b58a
cmp byte [edi + 0x20], bl
je 0x105b548
mov edi, dword [edi + 0x10]
jmp 0x105b54a
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
jmp 0x105b593
cmp byte [ebp - 1], bl
jne 0x105b023
push 0xffffffffffffffff
push 0x10019e0
lea ecx, [ebp - 0x348]
call fcn.0100dd27
test al, al
je 0x105b023
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x348]
call fcn.0102dca8
test eax, eax
jne 0x105b5f3
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.0101784d
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 0x105bb5a
cmp byte [ebp - 0x7b], bl
je 0x105b673
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105b632
mov eax, dword [eax + 0x10]
jmp 0x105b634
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.01039e57
test al, al
jne 0x105b673
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.0100d5a6
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x105b88c
cmp byte [ebp - 0x23b], bl
je 0x105b6d6
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105b695
mov eax, dword [eax + 0x10]
jmp 0x105b697
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x284]
call fcn.01039e57
test al, al
jne 0x105b6d6
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.0100d5a6
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.0102f625
cmp al, bl
mov byte [ebp + 0x23], al
je 0x105b781
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.010431d7
cmp al, bl
jne 0x105b966
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.01010082
cmp al, bl
je 0x105b781
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.0100e6e6
cmp al, bl
je 0x105b781
push ebx
lea ecx, [ebp - 0x22c]
call fcn.01039d3e
test al, al
jne 0x105b966
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 0x100bb5c
mov dword [ebp - 0x40], 1
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100d8fc
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.0100d5a6
add esp, 0x2c
cmp byte [ebp - 0x12], bl
jne 0x105b023
cmp dword [ebp - 0x3a0], ebx
je 0x105b023
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x22c]
call fcn.01037712
test al, al
je 0x105b023
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105b842
mov eax, dword [eax + 0x10]
jmp 0x105b844
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01039e57
test al, al
jne 0x105b966
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.0100d5a6
add esp, 0x14
jmp 0x105b966
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.0102f625
test al, al
je 0x105b95d
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 0x100bb5c
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100d8fc
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.0100d5a6
mov eax, dword [ebp + 0x10]
add esp, 0x2c
cmp byte [eax + 0x20], bl
je 0x105b91b
mov eax, dword [eax + 0x10]
jmp 0x105b91d
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
jmp 0x105b966
cmp byte [ebp - 1], bl
jne 0x105b023
cmp byte [ebp - 0x11], bl
jne 0x105b970
cmp byte [ebp + 0xb], bl
je 0x105b979
cmp dword [ebp + 0x2c], ebx
je 0x105bf48
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.0100e732
cmp al, bl
je 0x105b9de
push dword [esi + 0xc]
push dword [esi + 8]
push edi
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
je 0x105b9de
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
je 0x105b9de
push dword [esi + 0x24]
push dword [esi + 0x20]
push edi
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
jne 0x105b9e3
cmp byte [esi], 1
ja 0x105ba14
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.01037371
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 0x105ba16
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x105ba2c
jne 0x105baec
cmp al, bl
jne 0x105baec
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105ba39
mov eax, dword [eax + 0x10]
jmp 0x105ba3b
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.0102ddb8
cmp eax, ebx
je 0x105b023
xor edx, edx
inc edx
cmp eax, edx
jle 0x105baec
push 3
pop ecx
cmp eax, ecx
jle 0x105bab3
cmp eax, 4
je 0x105ba82
cmp eax, 5
je 0x105b023
jmp 0x105baec
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 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100d5a6
jmp 0x105bae9
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 0x100bb2c
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edx
call fcn.0100d5a6
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 0x105bb18
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x284]
call fcn.010269fd
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.01010082
cmp al, bl
je 0x105bb64
cmp byte [esi], 2
jb 0x105bb64
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.010177dc
jmp 0x105bf48
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
test al, al
je 0x105bcb2
lea ecx, [ebp - 0x360]
call fcn.0100e30b
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.010177dc
push 0xffffffffffffffff
push 0x1001e70
lea ecx, [ebp - 0x360]
call fcn.0100dd27
test al, al
je 0x105bc1b
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0102dca8
test eax, eax
jne 0x105bca2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105bbe8
mov eax, dword [eax + 0x10]
jmp 0x105bbea
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102dfde
cmp eax, 2
jl 0x105bca2
push 3
pop ecx
cmp eax, ecx
jle 0x105bc69
cmp eax, 4
je 0x105bc38
cmp eax, 5
jne 0x105bca2
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100fe86
lea ecx, [ebp - 0x360]
call fcn.0100e15d
jmp 0x105db46
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 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100d5a6
jmp 0x105bc9f
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 0x100bb2c
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], edi
call fcn.0100d5a6
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x360]
call fcn.0100e15d
jmp 0x105bf48
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
test al, al
je 0x105bd87
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.010177dc
cmp byte [ebp + 0x24], bl
jne 0x105bf48
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105bd08
mov eax, dword [edi + 0x10]
jmp 0x105bd0a
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.01055a71
test al, al
je 0x105db46
cmp byte [ebp - 2], bl
je 0x105bf48
mov byte [ebp + 0xb], 1
jmp 0x105bf48
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
test al, al
je 0x105be3e
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.010177dc
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x105bdd4
mov ecx, dword [edi + 0x10]
jmp 0x105bdd6
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.0105647b
jmp 0x105bd6d
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105be4e
mov eax, dword [edi + 0x10]
jmp 0x105be50
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.010545ee
test al, al
je 0x105db46
cmp byte [ebp - 2], bl
je 0x105bf25
cmp dword [ebp + 0x2c], ebx
je 0x105bf21
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01028aad
test al, al
jne 0x105bf21
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100d5a6
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x105bf48
cmp byte [esi], 2
jb 0x105bf48
push dword [ebp + 0x30]
lea eax, [ebp - 0x318]
push esi
push eax
call fcn.0105a7c4
test al, al
je 0x105db46
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.0102fbf6
test al, al
jne 0x105b38a
cmp byte [ebp - 1], bl
jne 0x105b023
cmp byte [ebp + 0xb], bl
je 0x105bfaf
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105bfaf
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105bf97
mov eax, dword [eax + 0x10]
jmp 0x105bf99
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0103162f
test al, al
je 0x105db46
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105b0c7
cmp byte [ebp + 0x24], bl
je 0x105d9c1
cmp byte [esi + 0x100], bl
je 0x105d9c1
lea ecx, [ebp - 0x4c0]
call fcn.0101f89c
lea ecx, [ebp - 0x408]
call fcn.01039e02
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x105d6ef
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.01021e20
cmp al, bl
jne 0x105d6e5
cmp byte [ebp + 0x28], bl
jne 0x105d62d
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x4c0]
push eax
push edi
call fcn.0103ce7f
test al, al
je 0x105d62d
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.0100e732
cmp al, bl
je 0x105d62d
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.0101f766
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.0101f474
test al, al
je 0x105da86
mov ecx, dword [ebp + 0xc]
push edi
push dword [ebp - 0x60]
call fcn.0103cbef
test al, al
jne 0x105c040
jmp 0x105da86
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 0x105c107
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.0100e672
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 0x105c10d
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 0x105d064
test byte [ebp - 8], 0xf
jne 0x105c12f
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.0100e6bd
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x105c176
push eax
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100d5a6
add esp, 0x10
test al, al
je 0x105db46
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.01021e20
cmp al, bl
jne 0x105d055
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.0100e70c
cmp al, bl
je 0x105c1e0
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 0x105c1ad
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.0102e580
cmp al, bl
je 0x105b023
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
jne 0x105c268
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.0101f7ea
cmp al, bl
jne 0x105d055
push dword [ebp - 8]
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105d055
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105c3dc
push ebx
lea eax, [ebp - 0x270]
push eax
push 0x90
lea ecx, [ebp - 0x1d4]
call fcn.0102eb6c
test al, al
jne 0x105c3d6
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.010177dc
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
push 0x100bb5c
push 0x69b2
push dword [ebp + 0x30]
call fcn.0100d8fc
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x270]
push ecx
push eax
push 0x100bb2c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x2c
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105c318
mov eax, dword [edi + 0x10]
jmp 0x105c31a
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102f625
test al, al
jne 0x105c38c
cmp byte [ebp - 1], bl
jne 0x105b023
jmp 0x105c3d6
cmp byte [edi + 0x20], bl
je 0x105c396
mov eax, dword [edi + 0x10]
jmp 0x105c398
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102fbf6
test al, al
jne 0x105c274
cmp byte [ebp - 1], bl
jne 0x105b023
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105cff7
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.0102f625
cmp al, bl
mov byte [ebp - 3], al
jne 0x105c443
cmp byte [ebp - 1], bl
jne 0x105b023
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.010597ee
test al, al
je 0x105db46
mov ecx, dword [ebp + 0x34]
cmp byte [ecx], bl
jne 0x105c4b3
cmp byte [ebp - 0x11], bl
jne 0x105c4b3
xor al, al
jmp 0x105c4b5
mov al, 1
cmp byte [ebp - 0x2d], bl
mov byte [ecx], al
je 0x105c69b
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65ba
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
mov byte [ebp + 0xb], 1
call fcn.0100d5a6
add esp, 0x14
cmp byte [edi + 0x20], bl
je 0x105c501
mov eax, dword [edi + 0x10]
jmp 0x105c503
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xb4]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
dec dword [ebp - 0x18]
cmp byte [ebp - 3], bl
je 0x105c612
cmp byte [edi + 0x20], bl
je 0x105c557
mov eax, dword [edi + 0x10]
jmp 0x105c559
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x274]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
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.0102f625
test al, al
je 0x105c609
cmp byte [edi + 0x20], bl
je 0x105c5c7
mov eax, dword [edi + 0x10]
jmp 0x105c5c9
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
jmp 0x105c612
cmp byte [ebp - 1], bl
jne 0x105b023
push 0xffffffffffffffff
push 0x10019e0
lea ecx, [ebp - 0x348]
call fcn.0100dd27
test al, al
je 0x105b023
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x348]
call fcn.0102dca8
test eax, eax
jne 0x105c672
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.0101784d
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 0x105cbf9
cmp byte [ebp - 0x7b], bl
je 0x105c6f3
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105c6ae
mov eax, dword [edi + 0x10]
jmp 0x105c6b0
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.01039e57
test al, al
jne 0x105c6f3
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x14
cmp byte [ebp - 3], bl
je 0x105c912
cmp byte [ebp - 0x23b], bl
je 0x105c757
cmp byte [edi + 0x20], bl
mov byte [ebp + 0xb], 1
je 0x105c712
mov eax, dword [edi + 0x10]
jmp 0x105c714
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x284]
call fcn.01039e57
test al, al
jne 0x105c757
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100d5a6
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.0102f625
cmp al, bl
mov byte [ebp - 0x62], al
je 0x105c802
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.010431d7
cmp al, bl
jne 0x105c9ed
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.01010082
cmp al, bl
je 0x105c802
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.0100e6e6
cmp al, bl
je 0x105c802
push ebx
lea ecx, [ebp - 0x22c]
call fcn.01039d3e
test al, al
jne 0x105c9ed
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 0x100bb5c
mov dword [ebp - 0x40], 1
add eax, 0x69b3
push eax
push dword [ebp + 0x30]
call fcn.0100d8fc
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x2c
cmp byte [ebp - 0x12], bl
jne 0x105b023
cmp dword [ebp - 0x3a0], ebx
je 0x105b023
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x22c]
call fcn.01037712
test al, al
je 0x105b023
cmp byte [edi + 0x20], bl
je 0x105c8c4
mov eax, dword [edi + 0x10]
jmp 0x105c8c6
xor eax, eax
push eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01039e57
test al, al
jne 0x105c9ed
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x14
jmp 0x105c9ed
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.0102f625
test al, al
je 0x105c9e4
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 0x100bb5c
push 0x69b5
push dword [ebp + 0x30]
call fcn.0100d8fc
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b8
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x2c
cmp byte [edi + 0x20], bl
je 0x105c9a2
mov eax, dword [edi + 0x10]
jmp 0x105c9a4
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.010384eb
cmp al, bl
je 0x105b023
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
lea ecx, [ebp - 0x1d4]
call fcn.0102fef6
test al, al
je 0x105b023
jmp 0x105c9ed
cmp byte [ebp - 1], bl
jne 0x105b023
cmp byte [ebp - 0x11], bl
jne 0x105c9f7
cmp byte [ebp + 0xb], bl
je 0x105ca00
cmp dword [ebp + 0x2c], ebx
je 0x105cff1
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.0100e732
cmp al, bl
je 0x105ca73
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
je 0x105ca73
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
je 0x105ca73
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.0100e732
test al, al
jne 0x105ca78
cmp byte [esi], 1
ja 0x105caaa
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp + 0x14]
push eax
call fcn.01037371
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 0x105caac
xor al, al
cmp dword [ebp - 0x68], ebx
mov byte [ebp - 0x54], al
jg 0x105cac2
jne 0x105cb83
cmp al, bl
jne 0x105cb83
cmp byte [edi + 0x20], bl
je 0x105cacc
mov eax, dword [edi + 0x10]
jmp 0x105cace
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.0102ddb8
cmp eax, ebx
je 0x105b023
cmp eax, 1
jle 0x105cb83
cmp eax, 3
jle 0x105cb46
cmp eax, 4
je 0x105cb11
cmp eax, 5
je 0x105b023
jmp 0x105cb83
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100d5a6
jmp 0x105cb80
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 0x100bb2c
push 0x65c0
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100d5a6
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 0x105cbb2
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x284]
call fcn.010269fd
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.01010082
cmp al, bl
je 0x105cc03
cmp byte [esi], 2
jb 0x105cc03
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.010177dc
jmp 0x105cff1
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
test al, al
je 0x105cd50
lea ecx, [ebp - 0x330]
call fcn.0100e30b
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.010177dc
push 0xffffffffffffffff
push 0x1001e70
lea ecx, [ebp - 0x330]
call fcn.0100dd27
test al, al
je 0x105ccb6
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0102dca8
test eax, eax
jne 0x105cd40
cmp byte [edi + 0x20], bl
je 0x105cc85
mov eax, dword [edi + 0x10]
jmp 0x105cc87
xor eax, eax
cmp dword [ebp + 0x2c], ebx
sete cl
push ecx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0102dfde
cmp eax, 2
jl 0x105cd40
cmp eax, 3
jle 0x105cd03
cmp eax, 4
je 0x105ccce
cmp eax, 5
jne 0x105cd40
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100fe86
lea ecx, [ebp - 0x330]
jmp 0x105bc2e
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xb0]
push ecx
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [esi + 0x63c], 3
call fcn.0100d5a6
jmp 0x105cd3d
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 0x100bb2c
push 0x65f1
push dword [ebp + 0x30]
mov dword [ebp - 0x40], 1
call fcn.0100d5a6
mov byte [ebp + 0xb], 1
add esp, 0x14
lea ecx, [ebp - 0x330]
call fcn.0100e15d
jmp 0x105cff1
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
test al, al
je 0x105ce19
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.010177dc
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x105cd9a
mov ecx, dword [edi + 0x10]
jmp 0x105cd9c
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.01055a71
test al, al
je 0x105db46
cmp byte [ebp - 2], bl
je 0x105cff1
mov byte [ebp + 0xb], 1
jmp 0x105cff1
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
push ecx
push ecx
test al, al
mov eax, esp
mov dword [eax + 4], ebx
je 0x105cecd
mov dword [eax], 1
push dword [esi + 0x24]
lea ecx, [esi + 0x330]
push dword [esi + 0x20]
call fcn.010177dc
cmp byte [edi + 0x20], bl
mov eax, dword [edi + 0x14]
je 0x105ce63
mov ecx, dword [edi + 0x10]
jmp 0x105ce65
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.0105647b
jmp 0x105cdff
mov dword [eax], 0xb
push dword [ebp - 0x1b8]
push dword [ebp - 0x1bc]
call fcn.01010082
cmp al, bl
je 0x105cff1
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105cef9
mov eax, dword [edi + 0x10]
jmp 0x105cefb
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.010545ee
test al, al
je 0x105db46
cmp byte [ebp - 2], bl
je 0x105cfce
cmp dword [ebp + 0x2c], ebx
je 0x105cfca
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01028aad
test al, al
jne 0x105cfca
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100d5a6
add esp, 0x14
mov dword [esi + 0x63c], 3
mov byte [ebp + 0xb], 1
cmp dword [ebp - 8], 0xb
jne 0x105cff1
cmp byte [esi], 2
jb 0x105cff1
push dword [ebp + 0x30]
lea eax, [ebp - 0x318]
push esi
push eax
call fcn.0105a7c4
test al, al
je 0x105db46
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.0102fbf6
test al, al
jne 0x105c411
cmp byte [ebp - 1], bl
jne 0x105b023
cmp byte [ebp + 0xb], bl
je 0x105d055
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105d055
cmp byte [edi + 0x20], bl
je 0x105d03d
mov eax, dword [edi + 0x10]
jmp 0x105d03f
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0103162f
test al, al
je 0x105db46
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105c122
push dword [ebp - 0x28]
mov eax, dword [edi + 0x14]
push dword [ebp - 0x2c]
xor ecx, ecx
mov cl, byte [0x1065079]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
push ecx
xor ecx, ecx
mov cl, byte [0x1065078]
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.0102660a
cmp al, bl
je 0x105b023
xor eax, eax
inc eax
cmp word [ebp + 0x20], ax
mov dword [ebp + 0x14], eax
jb 0x105bfbe
lea ecx, [ebp - 0x518]
call fcn.010266a2
test al, al
je 0x105b023
mov eax, dword [ebp - 0x50]
cmp eax, dword [esi + 0x2c]
mov dword [ebp - 8], eax
jae 0x105d2db
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.0100e6bd
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
mov edi, dword [ebp + 0x30]
je 0x105d129
push eax
push 0x100134c
push 0x7d0
push edi
mov dword [ebp - 0x3c], eax
call fcn.0100d5a6
add esp, 0x10
test al, al
je 0x105db46
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 0x105d171
mov eax, dword [esi + 0x2c]
sub eax, dword [ebp - 8]
mov ecx, 0x80
cmp eax, ecx
jbe 0x105d14e
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.0102e622
cmp al, bl
je 0x105d605
lea ecx, [ebp - 0x1d4]
call fcn.0102dc69
test al, al
je 0x105d626
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.0102bfd3
cmp al, bl
jne 0x105d1e8
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.0101f7ea
cmp al, bl
jne 0x105d2b8
push dword [ebp - 8]
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105d2b8
lea ecx, [ebp - 0x1d4]
call fcn.010225fb
test al, al
je 0x105d2b8
mov eax, dword [ebp - 0x1cc]
test byte [eax + 0x16], 1
je 0x105d2b8
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.0101f7ea
cmp al, bl
mov byte [ebp + 0x18], al
jne 0x105d265
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105d243
mov eax, dword [eax + 0x10]
jmp 0x105d245
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.01031acb
test al, al
je 0x105db46
mov eax, dword [ebp - 0x1cc]
mov al, byte [eax + 0x16]
shr al, 1
test al, 1
je 0x105d298
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.010177dc
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.010267f1
test al, al
je 0x105d2c9
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105d0eb
jmp 0x105d2db
cmp byte [ebp - 0x61], bl
je 0x105db46
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.01026751
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x105d5ef
test byte [ebp - 8], 0xf
jne 0x105d30c
add dword [ebp - 0x24], 1
adc dword [ebp - 0x20], ebx
cmp dword [ebp - 8], 9
je 0x105d596
cmp dword [ebp - 8], 0xb
je 0x105d596
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.01010082
cmp al, bl
jne 0x105d596
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.01010082
cmp al, bl
jne 0x105d596
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.01010082
cmp al, bl
jne 0x105d596
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.01021e20
cmp al, bl
jne 0x105d596
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.0102e580
cmp al, bl
je 0x105b023
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
jne 0x105d420
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.0101f7ea
cmp al, bl
jne 0x105d5e0
push dword [ebp - 8]
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105d5e0
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.0102fbf6
test al, al
je 0x105d55e
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105d45a
mov eax, dword [edi + 0x10]
jmp 0x105d45c
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105b023
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.01057fc3
test al, al
je 0x105db46
cmp byte [ebp - 2], bl
je 0x105d535
cmp dword [ebp + 0x2c], ebx
je 0x105d531
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01028aad
test al, al
jne 0x105d531
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x44], ecx
call fcn.0100d5a6
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.0102fbf6
test al, al
jne 0x105d44d
cmp byte [ebp - 1], bl
jne 0x105b023
cmp byte [ebp + 0xb], bl
je 0x105d5e0
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105d5e0
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105d584
mov eax, dword [eax + 0x10]
jmp 0x105d586
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0103162f
jmp 0x105d5d8
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.0100e6bd
mov eax, dword [eax]
cmp eax, dword [ebp - 0x3c]
je 0x105d5e0
push eax
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100d5a6
add esp, 0x10
test al, al
je 0x105db46
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105d2ff
inc dword [ebp + 0x14]
mov ax, word [ebp + 0x14]
cmp ax, word [ebp + 0x20]
jbe 0x105d0b5
jmp 0x105bfbe
mov eax, dword [edi]
push 3
push ebx
push 0x426
mov ecx, edi
call dword [eax + 0xc]
push 0x10011dc
push edi
call fcn.0100d58b
pop ecx
pop ecx
jmp 0x105db46
mov ecx, edi
jmp 0x105b026
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.0102e580
cmp al, bl
je 0x105da79
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
jne 0x105d69c
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.0101f7ea
cmp al, bl
jne 0x105d6e5
push edi
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105d6e5
mov eax, dword [esi + 0x40]
mov word [eax + edi*2], bx
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105d6b8
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.0102fbf6
test al, al
jne 0x105d6a9
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 0x105bff4
mov eax, dword [esi + 0xa0]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp + 0x14], ecx
jb 0x105d702
mov dword [ebp + 0x14], eax
cmp dword [esi + 0x2c], ebx
mov dword [ebp - 8], ebx
jbe 0x105d9ab
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 0x105d742
push eax
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
mov dword [ebp - 0x3c], eax
call fcn.0100d5a6
add esp, 0x10
test al, al
je 0x105da86
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.01021e20
cmp al, bl
jne 0x105d99c
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.01010082
cmp al, bl
jne 0x105d99c
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.01010082
cmp al, bl
jne 0x105d99c
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.01010082
cmp al, bl
jne 0x105d99c
mov ecx, dword [ebp - 8]
cmp ecx, 9
je 0x105d99c
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.0102e580
cmp al, bl
je 0x105da79
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
jne 0x105d84d
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.0101f7ea
cmp al, bl
jne 0x105d99c
push edi
push 0x100134c
push 0x659e
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
jmp 0x105d99c
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x18], ebx
push ebx
jmp 0x105d93b
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x20], bl
mov ecx, dword [edi + 0x14]
je 0x105d869
mov eax, dword [edi + 0x10]
jmp 0x105d86b
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.0102464c
movzx eax, al
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 0x20]
lea ecx, [ebp - 0x318]
call fcn.01028ff4
test al, al
je 0x105da79
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.01055174
test al, al
je 0x105da86
cmp byte [ebp - 2], bl
je 0x105d935
cmp dword [ebp + 0x2c], ebx
je 0x105d931
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x318]
call fcn.01028aad
test al, al
jne 0x105d931
push dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
push eax
push 0x100bb2c
push 0x65b9
push dword [ebp + 0x30]
mov dword [ebp - 0x6c], ecx
call fcn.0100d5a6
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.0102fbf6
test al, al
jne 0x105d859
cmp byte [ebp - 1], bl
jne 0x105da79
cmp byte [ebp + 0xb], bl
je 0x105d99c
cmp dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
je 0x105d99c
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x20], bl
je 0x105d984
mov eax, dword [eax + 0x10]
jmp 0x105d986
xor eax, eax
push ebx
push ebx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0103162f
test al, al
je 0x105da86
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x2c]
jb 0x105d711
lea ecx, [ebp - 0x408]
call fcn.01039e32
lea ecx, [ebp - 0x4c0]
call fcn.0101efaa
push 0x64
push 0x100134c
push 0x7d0
push dword [ebp + 0x30]
call fcn.0100d5a6
add esp, 0x10
test al, al
je 0x105db46
push 0x10011dc
push 3
push 2
push 0x65dd
push dword [ebp + 0x30]
call fcn.0100d607
add esp, 0x14
xor edi, edi
cmp dword [esi + 0x2c], ebx
jbe 0x105dae8
mov eax, dword [esi + 0x44]
cmp word [eax + edi*2], bx
je 0x105dade
push dword [ebp + 0x10]
mov byte [0x1065408], 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.0102e580
cmp al, bl
je 0x105b023
lea ecx, [ebp - 0x1d4]
call fcn.0102bf41
test al, al
je 0x105dade
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 0x105daa1
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.0101f00e
jmp 0x105dab1
mov ecx, dword [ebp + 0x30]
push 0x426
call fcn.0100fe86
lea ecx, [ebp - 0x408]
call fcn.01039e32
lea ecx, [ebp - 0x4c0]
call fcn.0101efaa
jmp 0x105db46
xor ecx, ecx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x3b8]
call fcn.0101f474
cmp al, bl
je 0x105b023
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 0x105dade
lea ecx, [ebp - 0x1d4]
call fcn.0102ddae
test al, al
je 0x105db46
inc edi
cmp edi, dword [esi + 0x2c]
jb 0x105da04
cmp dword [ebp - 0x40], ebx
je 0x105dafe
lea eax, [esi + 0x63c]
cmp dword [eax], 3
je 0x105dafe
mov dword [eax], 1
cmp byte [0x1065408], bl
je 0x105db44
mov ecx, dword [ebp + 0x30]
xor eax, eax
cmp byte [esi + 0x28], bl
je 0x105db23
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.0100fe86
jmp 0x105db34
cmp dword [ebp + 0x2c], ebx
setne al
add eax, 0x664c
push eax
call fcn.01025923
add esi, 0x63c
cmp dword [esi], ebx
jne 0x105db44
mov dword [esi], 2
mov bl, 1
lea ecx, [ebp - 0x518]
call fcn.010265e5
lea ecx, [ebp - 0x348]
call fcn.0100e15d
lea ecx, [ebp - 0x318]
call fcn.01028fcf
lea ecx, [ebp - 0x3b8]
call fcn.0102251c
lea ecx, [ebp - 0x284]
call fcn.01039e32
lea ecx, [ebp - 0xc4]
call fcn.01039e32
lea ecx, [ebp - 0x22c]
call fcn.01039e32
lea ecx, [ebp - 0x1d4]
call fcn.0102e553
pop edi
pop esi
mov al, bl
pop ebx
leave
ret 0x30