Function at 0x45edf7
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xcc
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x9c], al
mov eax, dword [0x56e28c]
test eax, eax
jne 0x4611af
mov eax, dword [0x5222d8]
mov dword [0xa3e9e8], eax
mov dword [0x5222d8], 1
call fcn.00473565
mov dword [0xa3e9ec], eax
call fcn.00473571
mov dword [esp], eax
call fcn.0047342b
call fcn.00473571
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00472e72
mov dword [0xa3e9f0], eax
mov eax, dword [0xa3e9f0]
cmp eax, 0xffffffff
jne 0x45ee7c
mov dword [esp], 0x204
call fcn.0044a600
call fcn.00473571
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00472e72
mov dword [0xa3e9f4], eax
mov eax, dword [0xa3e9f4]
cmp eax, 0xffffffff
jne 0x45eeb4
mov dword [esp], 0x205
call fcn.0044a600
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa3e9f8], eax
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa3e9fc], eax
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa3ea00], eax
mov eax, dword [0x522014]
mov dword [ebp - 0x74], eax
mov dword [0xa3ea04], 0
mov eax, dword [0x67e6e4]
and eax, 0x40000000
test eax, eax
je 0x45ef25
mov eax, dword [0x67e6e4]
and eax, 0x200
test eax, eax
je 0x45ef25
mov dword [0x67e6e4], 0xfffffe00
mov dword [0xa3ea04], 1
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa18ec4], eax
mov eax, dword [0x69408c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044bd1a
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044bd1a
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044bd1a
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0044bd1a
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x45efd2
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044bd1a
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa18ac0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45efae
mov dword [ebp - 0x1c], 1
jmp 0x45f09b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x40000000
test eax, eax
je 0x45f052
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45f041
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x45f052
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1000000
test eax, eax
jne 0x45f097
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67e2c0]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45efeb
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
jmp 0x45f0c4
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa18ac4]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x1c]
jle 0x45f202
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2c
jne 0x45f15e
cmp dword [ebp - 0x20], 1
je 0x45f15e
mov eax, dword [0xa3ea04]
test eax, eax
jne 0x45f15e
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x45f141
mov dword [ebp - 0x3c], 1
jmp 0x45f202
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x45f1f9
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x22
jne 0x45f19d
cmp dword [ebp - 0x38], 0
je 0x45f18e
mov eax, dword [0xa3ea04]
test eax, eax
jne 0x45f18e
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x45f1f9
cmp dword [ebp - 0x20], 1
jne 0x45f19d
mov dword [ebp - 0x20], 2
jmp 0x45f1f9
cmp dword [ebp - 0x20], 2
je 0x46101f
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044c645
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x45f0f3
cmp dword [ebp - 0x3c], 0
jne 0x461022
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x40000000
test eax, eax
jne 0x45f733
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x20000000
test eax, eax
jne 0x45f733
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x45f733
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x45f2b5
mov dword [ebp - 0x88], 0x30
jmp 0x45f6e3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x45f2ec
mov edx, eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
add dword [ebp - 0x50], 0xffffffff
adc dword [ebp - 0x4c], 0xffffffff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp], eax
call fcn.0045ea87
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45f4be
mov eax, dword [0xa18698]
mov edx, dword [0xa1869c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x4c]
jb 0x45f34d
cmp edx, dword [ebp - 0x4c]
ja 0x45f344
cmp eax, dword [ebp - 0x50]
jbe 0x45f34d
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x24], 1
jne 0x45f3f0
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 1
jmp 0x45f3a8
mov eax, dword [ebp - 0x68]
mov esi, eax
and esi, 0xf
mov eax, dword [ebp - 0x64]
mov edi, eax
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x45f391
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
shrd eax, edx, 4
shr edx, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x10
setle al
test al, al
jne 0x45f373
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45f3ca
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x8c], 1
jne 0x45f3dd
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x45f3f0
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x45f4a7
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 1
jmp 0x45f45f
mov eax, dword [ebp - 0x68]
mov edx, eax
and edx, 7
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x64]
mov ecx, eax
and ecx, 0
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0xac]
or eax, dword [ebp - 0xb0]
test eax, eax
je 0x45f448
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
shrd eax, edx, 3
shr edx, 3
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x16
setle al
test al, al
jne 0x45f416
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45f481
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x8c], 1
jne 0x45f494
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45f4a7
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x45f6e3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
je 0x45f4e1
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x45f505
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
shrd eax, edx, 1
shr edx, 1
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add eax, 1
adc edx, 0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
jne 0x45f551
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45f551
cmp dword [ebp - 0x8c], 1
jne 0x45f549
mov dword [ebp - 0x88], 0x30
jmp 0x45f6e3
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45f57a
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45f57a
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45f69f
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x45f66a
cmp dword [ebp - 0x24], 9
jg 0x45f66a
mov eax, dword [ebp - 0x24]
mov edx, eax
sar edx, 0x1f
mov ecx, dword [ebp - 0x60]
mov ebx, ecx
imul ebx, edx
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
add ecx, ebx
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
add dword [ebp - 0x68], eax
adc dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
je 0x45f628
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45f673
cmp edx, dword [ebp - 0x4c]
ja 0x45f61f
cmp eax, dword [ebp - 0x50]
jbe 0x45f673
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp byte [ebp - 0x3e], 0
je 0x45f64c
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x45f673
cmp edx, dword [ebp - 0x54]
ja 0x45f643
cmp eax, dword [ebp - 0x58]
jbe 0x45f673
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45f673
cmp edx, dword [ebp - 0x4c]
ja 0x45f661
cmp eax, dword [ebp - 0x50]
jbe 0x45f673
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
nop
mov eax, dword [ebp - 0x5c]
imul edx, eax, 0xa
mov eax, dword [ebp - 0x60]
imul eax, eax, 0
lea ecx, [edx + eax]
mov eax, 0xa
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
sub dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45f5a7
cmp byte [ebp - 0x3e], 0
je 0x45f6d1
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x45f6e3
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1000000
test eax, eax
jne 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x40000000
test eax, eax
je 0x45f79b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45f776
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x45f776
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x40000000
test eax, eax
jne 0x45fb41
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x20000000
test eax, eax
jne 0x45fb41
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45fb41
cmp dword [ebp - 0x8c], 0
jne 0x45f810
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp], eax
call fcn.0045ea87
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45f8c2
mov eax, dword [0xa18698]
mov edx, dword [0xa1869c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x4c]
jb 0x45f863
cmp edx, dword [ebp - 0x4c]
ja 0x45f85a
cmp eax, dword [ebp - 0x50]
jbe 0x45f863
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x24], 1
jne 0x45f87c
cmp dword [ebp - 0x8c], 1
jne 0x45f87c
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45f895
cmp dword [ebp - 0x8c], 1
jne 0x45f895
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45f8a8
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4608e1
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
jne 0x45f925
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45f925
cmp dword [ebp - 0x8c], 1
jne 0x45f91d
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4608e1
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45f94e
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45f94e
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45f997
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x45f986
cmp dword [ebp - 0x24], 9
jle 0x45f98f
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
add dword [ebp - 0x28], 1
sub dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45f963
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
je 0x45f9da
cmp dword [ebp - 0x28], 0x13
jle 0x45fa8a
cmp dword [ebp - 0x28], 0x14
jle 0x45f9d0
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x45fa0b
cmp dword [ebp - 0x28], 0x12
jle 0x45fa8d
cmp dword [ebp - 0x28], 0x13
jle 0x45f9f3
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp byte [ebp - 0x3e], 0
je 0x45fa03
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x45fa0b
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x45fa7b
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, edx
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
add eax, edx
movzx eax, byte [eax]
cmp cl, al
jb 0x45fa90
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, edx
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
add eax, edx
movzx eax, byte [eax]
cmp cl, al
jbe 0x45fa77
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x45fa26
jmp 0x45fa91
nop
jmp 0x45fa91
nop
jmp 0x45fa91
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044c645
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x10000000
test eax, eax
je 0x45fb12
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], str._I64u
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], str._I64i
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x20000000
test eax, eax
je 0x4608e1
mov dword [0xa3ea08], 0
mov dword [0xa3ea0c], 0
mov dword [0xa3ea10], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa3ea14], 0
mov dword [0xa18aa0], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45fbbd
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67e2c0]
mov eax, dword [0x551a38]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45fbdf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45fc16
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x67e2c0]
mov eax, 0
mov edx, 0
mov ecx, 0
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
cmp dword [ebp - 0x8c], 0
jne 0x45fc2e
mov dword [ebp - 0x88], 0x30
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp], eax
call fcn.0045ea87
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45ff33
mov eax, dword [0xa18698]
mov edx, dword [0xa1869c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x45fc7c
cmp dword [ebp - 0x8c], 1
jne 0x45fc7c
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45fc95
cmp dword [ebp - 0x8c], 1
jne 0x45fc95
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45fca8
mov dword [ebp - 0x88], 0x30
mov dword [0xa3ea18], 0x7fffffff
mov dword [0xa3ea1c], 0
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov edx, eax
mov eax, 0
mov dword [0xa3ea18], eax
mov dword [0xa3ea1c], edx
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov ecx, eax
or ecx, 0xffffffff
mov dword [ebp - 0xb8], ecx
mov ecx, edx
or ch, 0
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [0xa3ea18], eax
mov dword [0xa3ea1c], edx
jmp 0x45fe0a
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45fd72
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld dword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp dword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45fdbd
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld qword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp qword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45fe0a
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld xword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x45fe2e
cmp edx, dword [ebp - 0x6c]
ja 0x45fe29
cmp eax, dword [ebp - 0x70]
jb 0x45fe2e
mov ecx, 0
test cl, cl
jne 0x45fd16
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa3ea18], eax
mov dword [0xa3ea1c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45fe92
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld dword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp dword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45fedd
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld qword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp qword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4608dd
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld xword [eax]
mov eax, dword [0xa3ea18]
mov edx, dword [0xa3ea1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4608dd
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45ff6c
cmp dword [ebp - 0x8c], 1
jne 0x45ff64
mov dword [ebp - 0x88], 0x30
jmp 0x4608e1
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45ffb3
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4608e0
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2e
je 0x460076
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46005d
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x45ffea
cmp dword [ebp - 0x24], 0x64
je 0x45ffea
cmp dword [ebp - 0x24], 0x45
je 0x45ffea
cmp dword [ebp - 0x24], 0x65
jne 0x460006
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45fffb
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46018c
cmp dword [ebp - 0x24], 0x2e
jne 0x460014
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x460077
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x460024
cmp dword [ebp - 0x24], 9
jle 0x46002d
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [0xa3ea08]
add eax, 1
mov dword [0xa3ea08], eax
mov edx, dword [0xa18aa0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa186a0], al
mov eax, dword [0xa18aa0]
add eax, 1
mov dword [0xa18aa0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x45ffbe
jmp 0x460366
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46009b
mov dword [ebp - 0x88], 0x30
jmp 0x460366
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x460173
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x4600d6
cmp dword [ebp - 0x24], 0x64
je 0x4600d6
cmp dword [ebp - 0x24], 0x45
je 0x4600d6
cmp dword [ebp - 0x24], 0x65
jne 0x4600fb
mov eax, dword [0xa18aa0]
test eax, eax
je 0x4600fb
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4600f0
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46018c
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x46010b
cmp dword [ebp - 0x24], 9
jle 0x460114
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x24], 0
je 0x460121
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x460134
mov eax, dword [0xa3ea14]
add eax, 1
mov dword [0xa3ea14], eax
mov eax, dword [0xa3ea0c]
add eax, 1
mov dword [0xa3ea0c], eax
mov eax, dword [0xa18aa0]
test eax, eax
jne 0x460150
cmp dword [ebp - 0x24], 0
je 0x46016f
mov edx, dword [0xa18aa0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa186a0], al
mov eax, dword [0xa18aa0]
add eax, 1
mov dword [0xa18aa0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4600aa
jmp 0x460366
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4601c9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x4601c0
cmp dword [ebp - 0x24], 0x64
jne 0x4601c9
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x4601e9
cmp dword [ebp - 0x24], 0x64
jne 0x4601f7
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
mov byte [eax], 0x45
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x460214
mov dword [ebp - 0x88], 0x30
jmp 0x460366
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x2d
jne 0x46025d
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46024f
mov dword [ebp - 0x88], 0x30
jmp 0x460366
mov dword [0xa3ea10], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x460284
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x460280
mov dword [ebp - 0x88], 0x30
jmp 0x460366
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x4602ad
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4602ad
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x460355
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x46034c
cmp dword [ebp - 0x24], 9
jg 0x46034c
mov eax, dword [ebp - 0x24]
mov edx, eax
sar edx, 0x1f
mov ecx, dword [ebp - 0x60]
mov ebx, ecx
imul ebx, edx
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
add ecx, ebx
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
add dword [ebp - 0x68], eax
adc dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x5c]
imul edx, eax, 0xa
mov eax, dword [ebp - 0x60]
imul eax, eax, 0
lea ecx, [edx + eax]
mov eax, 0xa
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
sub dword [ebp - 0x1c], 1
jmp 0x460355
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4602d7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4605d4
mov eax, dword [0xa3ea10]
test eax, eax
je 0x460391
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3ea14]
cmp eax, 1
jne 0x4603b9
mov eax, dword [0xa3ea0c]
cmp eax, 1
jne 0x4603b9
mov dword [0xa3ea0c], 0
mov dword [0xa3ea14], 0
mov eax, dword [0xa3ea14]
cmp eax, 0x2b
jle 0x4603cc
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [0xa3ea08]
test eax, eax
jne 0x4603e8
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea14]
cmp edx, eax
je 0x460562
mov eax, dword [0xa3ea08]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x460400
mov eax, dword [0xa3ea14]
neg eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x27
jle 0x46041a
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0x27
jne 0x460491
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa18aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46043d
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x460481
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x460464
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x460490
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x460446
jmp 0x460491
nop
mov eax, dword [0xa3ea0c]
test eax, eax
je 0x4604dd
mov eax, dword [0xa3ea08]
test eax, eax
je 0x4604be
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea08]
add eax, edx
cmp eax, 8
jle 0x4604dd
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea14]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4604dd
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4604ec
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x460566
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa18aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46050f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x460553
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x460536
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x460565
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x460518
jmp 0x460566
nop
jmp 0x460566
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044c645
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53e053
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x460850
mov eax, dword [0xa3ea10]
test eax, eax
je 0x4605ff
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3ea14]
cmp eax, 1
jne 0x460627
mov eax, dword [0xa3ea0c]
cmp eax, 1
jne 0x460627
mov dword [0xa3ea0c], 0
mov dword [0xa3ea14], 0
mov eax, dword [0xa3ea14]
cmp eax, 0x142
jle 0x46063c
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [0xa3ea08]
test eax, eax
jne 0x460658
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea14]
cmp edx, eax
je 0x4607de
mov eax, dword [0xa3ea08]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x460670
mov eax, dword [0xa3ea14]
neg eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x135
jle 0x46068d
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0x135
jne 0x460707
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa18aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x4606b3
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4606f7
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4606da
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x460706
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x4606bc
jmp 0x460707
nop
mov eax, dword [0xa3ea0c]
test eax, eax
je 0x460753
mov eax, dword [0xa3ea08]
test eax, eax
je 0x460734
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea08]
add eax, edx
cmp eax, 0x10
jle 0x460753
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov edx, dword [0xa3ea0c]
mov eax, dword [0xa3ea14]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x460753
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x460765
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4607e2
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa18aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46078b
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4607cf
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4607b2
mov byte [ebp - 0x3d], 0
jmp 0x4608e1
mov eax, dword [ebp - 0x24]
add eax, 0xa186a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4607e1
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x460794
jmp 0x4607e2
nop
jmp 0x4607e2
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044c645
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53e056
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4608e1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4608e1
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa18ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044c645
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa18ac0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa3ea20
mov dword [esp + 4], 0x53e056
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67e2c0]
fld qword [0xa3ea20]
fstp xword [eax]
jmp 0x4608e1
nop
jmp 0x4608e1
nop
cmp byte [ebp - 0x3d], 0
je 0x461025
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044be81
jmp 0x460900
nop
mov dword [0xa3ea28], 0
jmp 0x46090d
nop
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x460b42
mov dword [ebp - 0x1c], 1
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x460950
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x460950
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x46098a
call fcn.0043ff4f
mov ecx, eax
and ecx, 0x200
mov dword [ebp - 0xc0], ecx
mov ecx, edx
and ecx, 0
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xc0]
or eax, dword [ebp - 0xbc]
test eax, eax
setne al
test al, al
je 0x46098a
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa3ea28]
cmp dword [ebp - 0x1c], eax
je 0x460b42
mov eax, dword [0xa3ea28]
xor eax, 1
mov dword [0xa3ea28], eax
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3ea2c], eax
mov eax, dword [0x69408c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6836b0]
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3ea30], eax
mov edx, dword [0x6836b4]
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3ea34], eax
mov eax, dword [0xa3ea34]
test eax, eax
jne 0x460a06
mov dword [0xa3ea34], 1
mov eax, dword [0xa3ea34]
mov dword [0xa3ea38], eax
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x460a3b
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x460a3b
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x460a45
mov dword [0xa3ea38], 1
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3ea30]
imul eax, edx
mov dword [0xa3ea3c], eax
mov dword [0xa3ea40], 0
jmp 0x460b1c
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3ea34]
imul eax, edx
mov dword [0xa3ea44], eax
mov dword [0xa3ea48], 0
jmp 0x460aee
mov edx, dword [0xa3ea3c]
mov eax, dword [0xa3ea44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045a20c
mov edx, eax
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3ea3c]
mov eax, dword [0xa3ea44]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044109a
mov eax, dword [0xa3ea44]
add eax, 1
mov dword [0xa3ea44], eax
mov eax, dword [0xa3ea48]
add eax, 1
mov dword [0xa3ea48], eax
mov edx, dword [0xa3ea48]
mov eax, dword [0xa3ea38]
cmp edx, eax
setl al
test al, al
jne 0x460a94
mov eax, dword [0xa3ea3c]
add eax, 1
mov dword [0xa3ea3c], eax
mov eax, dword [0xa3ea40]
add eax, 1
mov dword [0xa3ea40], eax
mov edx, dword [0xa3ea40]
mov eax, dword [0xa3ea30]
cmp edx, eax
setl al
test al, al
jne 0x460a6e
mov edx, dword [0x69408c]
mov eax, dword [0xa3ea2c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x460b71
sub dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0x20
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044be81
jmp 0x460c47
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x460bf6
mov dword [esp], 0x536c66
call fcn.0044bb06
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sub.msvcrt.dll_fgetc
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffff
je 0x460be3
cmp dword [ebp - 0x2c], 0xa
jne 0x460bbc
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x53e05a
call fcn.0044bb06
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x460c34
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x460c34
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.0044df5a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044be81
mov dword [0x683398], 1
call fcn.0041017c
mov dword [0x683398], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.0049ea39
movzx eax, byte [0x56e299]
test al, al
jne 0x4611b2
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x46090c
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x460e2a
mov eax, dword [0xa3ea28]
test eax, eax
je 0x460e2a
mov dword [0xa3ea28], 0
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3ea4c], eax
mov eax, dword [0x69408c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6836b0]
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3ea50], eax
mov edx, dword [0x6836b4]
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3ea54], eax
mov eax, dword [0xa3ea54]
test eax, eax
jne 0x460cee
mov dword [0xa3ea54], 1
mov eax, dword [0xa3ea54]
mov dword [0xa3ea58], eax
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x460d23
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x460d23
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x460d2d
mov dword [0xa3ea58], 1
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3ea50]
imul eax, edx
mov dword [0xa3ea5c], eax
mov dword [0xa3ea60], 0
jmp 0x460e04
mov eax, dword [0x69408c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3ea54]
imul eax, edx
mov dword [0xa3ea64], eax
mov dword [0xa3ea68], 0
jmp 0x460dd6
mov edx, dword [0xa3ea5c]
mov eax, dword [0xa3ea64]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045a20c
mov edx, eax
mov eax, dword [0x69408c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3ea5c]
mov eax, dword [0xa3ea64]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044109a
mov eax, dword [0xa3ea64]
add eax, 1
mov dword [0xa3ea64], eax
mov eax, dword [0xa3ea68]
add eax, 1
mov dword [0xa3ea68], eax
mov edx, dword [0xa3ea68]
mov eax, dword [0xa3ea58]
cmp edx, eax
setl al
test al, al
jne 0x460d7c
mov eax, dword [0xa3ea5c]
add eax, 1
mov dword [0xa3ea5c], eax
mov eax, dword [0xa3ea60]
add eax, 1
mov dword [0xa3ea60], eax
mov edx, dword [0xa3ea60]
mov eax, dword [0xa3ea50]
cmp edx, eax
setl al
test al, al
jne 0x460d56
mov edx, dword [0x69408c]
mov eax, dword [0xa3ea4c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x460e4e
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045c2a2
jmp 0x45f0c4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x45f0ae
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x460e8a
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov edx, eax
and edx, 7
mov eax, 8
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
jmp 0x45f0c4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x45f0b1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x45f0b4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x45f0b7
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x45f0ba
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x45f0bd
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x45f0c0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x46100d
mov dword [ebp - 0x1c], 1
jmp 0x460f19
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa18ac0]
mov dword [esp], eax
call fcn.0044b28d
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x460f03
cmp byte [ebp - 0x9c], 0
je 0x460f5f
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x460f5f
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045c2a2
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0044b28d
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044b28d
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044b28d
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044b28d
mov eax, dword [0x69408c]
mov edx, dword [0xa18ec4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa3e9f0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0047314f
mov eax, dword [0xa3e9f4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0047314f
mov eax, dword [0xa3e9e8]
test eax, eax
jne 0x460ffa
mov dword [0x5222d8], 0xffffffff
jmp 0x460fec
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5222d8]
test eax, eax
setne al
test al, al
jne 0x460fdb
mov eax, dword [0xa3e9ec]
mov dword [esp], eax
call fcn.0047342b
nop
jmp 0x4611b3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x461146
jmp 0x461026
nop
jmp 0x461026
nop
jmp 0x461026
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4608ff
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
lea edx, [eax - 1]
mov eax, dword [ebp - 0x78]
mov dword [eax + 4], edx
call fcn.00473571
mov dword [ebp - 0x20], eax
mov edx, dword [0xa3e9f4]
mov eax, dword [0xa3e9f0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451d7b
mov eax, dword [0xa3e9f4]
mov dword [esp], eax
call fcn.004734c8
mov edx, dword [0x69408c]
mov eax, dword [0xa3e9f8]
mov word [edx + 0x38], ax
mov edx, dword [0x69408c]
mov eax, dword [0xa3e9fc]
mov word [edx + 0x3a], ax
mov edx, dword [0x69408c]
mov eax, dword [0xa3ea00]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4610cf
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045c2a2
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x1c]
setg al
test al, al
jne 0x4610a4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004734c8
mov edx, dword [0xa3e9f4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00451d7b
mov ecx, dword [0x69408c]
mov edx, dword [0x694064]
mov eax, dword [0xa3e9f4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x69408c]
mov edx, dword [0x694064]
mov eax, dword [0xa3e9f4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x45f0c4
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x45f0c3
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044c645
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044be81
mov eax, dword [0x69408c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x461198
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045c2a2
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044be81
jmp 0x45f0c4
nop
jmp 0x4611b3
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret