Function at 0x45a39b
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 [0x56a28c]
test eax, eax
jne 0x45c753
mov eax, dword [0x51e2d8]
mov dword [0xa3aa88], eax
mov dword [0x51e2d8], 1
call fcn.0046eb09
mov dword [0xa3aa8c], eax
call fcn.0046eb15
mov dword [esp], eax
call fcn.0046e9cf
call fcn.0046eb15
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0046e416
mov dword [0xa3aa90], eax
mov eax, dword [0xa3aa90]
cmp eax, 0xffffffff
jne 0x45a420
mov dword [esp], 0x204
call fcn.00445ba4
call fcn.0046eb15
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0046e416
mov dword [0xa3aa94], eax
mov eax, dword [0xa3aa94]
cmp eax, 0xffffffff
jne 0x45a458
mov dword [esp], 0x205
call fcn.00445ba4
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa3aa98], eax
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa3aa9c], eax
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa3aaa0], eax
mov eax, dword [0x51e014]
mov dword [ebp - 0x74], eax
mov dword [0xa3aaa4], 0
mov eax, dword [0x67a6e4]
and eax, 0x40000000
test eax, eax
je 0x45a4c9
mov eax, dword [0x67a6e4]
and eax, 0x200
test eax, eax
je 0x45a4c9
mov dword [0x67a6e4], 0xfffffe00
mov dword [0xa3aaa4], 1
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa14f64], eax
mov eax, dword [0x69012c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004472be
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004472be
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004472be
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.004472be
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x45a576
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004472be
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa14b60], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45a552
mov dword [ebp - 0x1c], 1
jmp 0x45a63f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x40000000
test eax, eax
je 0x45a5f6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45a5e5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x45a5f6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1000000
test eax, eax
jne 0x45a63b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67a2c0]
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 0x45a58f
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
jmp 0x45a668
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa14b64]
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 0x45a7a6
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 0x45a702
cmp dword [ebp - 0x20], 1
je 0x45a702
mov eax, dword [0xa3aaa4]
test eax, eax
jne 0x45a702
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x45a6e5
mov dword [ebp - 0x3c], 1
jmp 0x45a7a6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x45a79d
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 0x45a741
cmp dword [ebp - 0x38], 0
je 0x45a732
mov eax, dword [0xa3aaa4]
test eax, eax
jne 0x45a732
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x45a79d
cmp dword [ebp - 0x20], 1
jne 0x45a741
mov dword [ebp - 0x20], 2
jmp 0x45a79d
cmp dword [ebp - 0x20], 2
je 0x45c5c3
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 + 0xa14b60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447be9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x45a697
cmp dword [ebp - 0x3c], 0
jne 0x45c5c6
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x40000000
test eax, eax
jne 0x45acd7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x20000000
test eax, eax
jne 0x45acd7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x45acd7
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x45a859
mov dword [ebp - 0x88], 0x30
jmp 0x45ac87
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
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 0x45a890
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 + 0xa14b60]
mov dword [esp], eax
call fcn.0045a02b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45aa62
mov eax, dword [0xa14738]
mov edx, dword [0xa1473c]
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 0x45a8f1
cmp edx, dword [ebp - 0x4c]
ja 0x45a8e8
cmp eax, dword [ebp - 0x50]
jbe 0x45a8f1
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x24], 1
jne 0x45a994
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 0x45a94c
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 0x45a935
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 0x45a917
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45a96e
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x8c], 1
jne 0x45a981
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x45a994
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x45aa4b
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 0x45aa03
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 0x45a9ec
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 0x45a9ba
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45aa25
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x8c], 1
jne 0x45aa38
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45aa4b
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 0x45ac87
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
je 0x45aa85
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x45aaa9
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 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
jne 0x45aaf5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45aaf5
cmp dword [ebp - 0x8c], 1
jne 0x45aaed
mov dword [ebp - 0x88], 0x30
jmp 0x45ac87
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 0x45ab1e
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45ab1e
mov byte [ebp - 0x3d], 0
jmp 0x45be85
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 0x45ac43
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 0x45ac0e
cmp dword [ebp - 0x24], 9
jg 0x45ac0e
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 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
je 0x45abcc
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45ac17
cmp edx, dword [ebp - 0x4c]
ja 0x45abc3
cmp eax, dword [ebp - 0x50]
jbe 0x45ac17
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp byte [ebp - 0x3e], 0
je 0x45abf0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x45ac17
cmp edx, dword [ebp - 0x54]
ja 0x45abe7
cmp eax, dword [ebp - 0x58]
jbe 0x45ac17
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45ac17
cmp edx, dword [ebp - 0x4c]
ja 0x45ac05
cmp eax, dword [ebp - 0x50]
jbe 0x45ac17
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov byte [ebp - 0x3d], 0
jmp 0x45be85
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 0x45ab4b
cmp byte [ebp - 0x3e], 0
je 0x45ac75
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 0x45ac87
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 + 0x67a6e0]
and eax, 0x1000000
test eax, eax
jne 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x40000000
test eax, eax
je 0x45ad3f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45ad1a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x45ad1a
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa14b60]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x40000000
test eax, eax
jne 0x45b0e5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x20000000
test eax, eax
jne 0x45b0e5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45b0e5
cmp dword [ebp - 0x8c], 0
jne 0x45adb4
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp], eax
call fcn.0045a02b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45ae66
mov eax, dword [0xa14738]
mov edx, dword [0xa1473c]
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 0x45ae07
cmp edx, dword [ebp - 0x4c]
ja 0x45adfe
cmp eax, dword [ebp - 0x50]
jbe 0x45ae07
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x24], 1
jne 0x45ae20
cmp dword [ebp - 0x8c], 1
jne 0x45ae20
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45ae39
cmp dword [ebp - 0x8c], 1
jne 0x45ae39
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45ae4c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x45be85
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
jne 0x45aec9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45aec9
cmp dword [ebp - 0x8c], 1
jne 0x45aec1
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x45be85
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 0x45aef2
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45aef2
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45af3b
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 0x45af2a
cmp dword [ebp - 0x24], 9
jle 0x45af33
mov byte [ebp - 0x3d], 0
jmp 0x45be85
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 0x45af07
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
je 0x45af7e
cmp dword [ebp - 0x28], 0x13
jle 0x45b02e
cmp dword [ebp - 0x28], 0x14
jle 0x45af74
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x45afaf
cmp dword [ebp - 0x28], 0x12
jle 0x45b031
cmp dword [ebp - 0x28], 0x13
jle 0x45af97
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp byte [ebp - 0x3e], 0
je 0x45afa7
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x45afaf
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x45b01f
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 0x45b034
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 0x45b01b
mov byte [ebp - 0x3d], 0
jmp 0x45be85
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x45afca
jmp 0x45b035
nop
jmp 0x45b035
nop
jmp 0x45b035
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa14b60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447be9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x10000000
test eax, eax
je 0x45b0b6
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
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 0x45be85
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
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 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x20000000
test eax, eax
je 0x45be85
mov dword [0xa3aaa8], 0
mov dword [0xa3aaac], 0
mov dword [0xa3aab0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa3aab4], 0
mov dword [0xa14b40], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45b161
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67a2c0]
mov eax, dword [0x54dad8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45b183
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45b1ba
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x67a2c0]
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 0x45b1d2
mov dword [ebp - 0x88], 0x30
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp], eax
call fcn.0045a02b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45b4d7
mov eax, dword [0xa14738]
mov edx, dword [0xa1473c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x45b220
cmp dword [ebp - 0x8c], 1
jne 0x45b220
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45b239
cmp dword [ebp - 0x8c], 1
jne 0x45b239
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45b24c
mov dword [ebp - 0x88], 0x30
mov dword [0xa3aab8], 0x7fffffff
mov dword [0xa3aabc], 0
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
mov edx, eax
mov eax, 0
mov dword [0xa3aab8], eax
mov dword [0xa3aabc], edx
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
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 [0xa3aab8], eax
mov dword [0xa3aabc], edx
jmp 0x45b3ae
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45b316
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld dword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
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 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45b361
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld qword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
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 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45b3ae
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld xword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x45b3d2
cmp edx, dword [ebp - 0x6c]
ja 0x45b3cd
cmp eax, dword [ebp - 0x70]
jb 0x45b3d2
mov ecx, 0
test cl, cl
jne 0x45b2ba
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa3aab8], eax
mov dword [0xa3aabc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45b436
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld dword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
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 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45b481
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld qword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
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 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45be81
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld xword [eax]
mov eax, dword [0xa3aab8]
mov edx, dword [0xa3aabc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x45be81
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 0x45b510
cmp dword [ebp - 0x8c], 1
jne 0x45b508
mov dword [ebp - 0x88], 0x30
jmp 0x45be85
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 0x45b557
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45be84
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 0x45b61a
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x45b601
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 0x45b58e
cmp dword [ebp - 0x24], 0x64
je 0x45b58e
cmp dword [ebp - 0x24], 0x45
je 0x45b58e
cmp dword [ebp - 0x24], 0x65
jne 0x45b5aa
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45b59f
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45b730
cmp dword [ebp - 0x24], 0x2e
jne 0x45b5b8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45b61b
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x45b5c8
cmp dword [ebp - 0x24], 9
jle 0x45b5d1
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [0xa3aaa8]
add eax, 1
mov dword [0xa3aaa8], eax
mov edx, dword [0xa14b40]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa14740], al
mov eax, dword [0xa14b40]
add eax, 1
mov dword [0xa14b40], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x45b562
jmp 0x45b90a
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45b63f
mov dword [ebp - 0x88], 0x30
jmp 0x45b90a
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x45b717
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 0x45b67a
cmp dword [ebp - 0x24], 0x64
je 0x45b67a
cmp dword [ebp - 0x24], 0x45
je 0x45b67a
cmp dword [ebp - 0x24], 0x65
jne 0x45b69f
mov eax, dword [0xa14b40]
test eax, eax
je 0x45b69f
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45b694
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45b730
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x45b6af
cmp dword [ebp - 0x24], 9
jle 0x45b6b8
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x24], 0
je 0x45b6c5
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x45b6d8
mov eax, dword [0xa3aab4]
add eax, 1
mov dword [0xa3aab4], eax
mov eax, dword [0xa3aaac]
add eax, 1
mov dword [0xa3aaac], eax
mov eax, dword [0xa14b40]
test eax, eax
jne 0x45b6f4
cmp dword [ebp - 0x24], 0
je 0x45b713
mov edx, dword [0xa14b40]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa14740], al
mov eax, dword [0xa14b40]
add eax, 1
mov dword [0xa14b40], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x45b64e
jmp 0x45b90a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45b76d
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 0x45b764
cmp dword [ebp - 0x24], 0x64
jne 0x45b76d
mov byte [ebp - 0x3d], 0
jmp 0x45be85
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 0x45b78d
cmp dword [ebp - 0x24], 0x64
jne 0x45b79b
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 0x45b7b8
mov dword [ebp - 0x88], 0x30
jmp 0x45b90a
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 0x45b801
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45b7f3
mov dword [ebp - 0x88], 0x30
jmp 0x45b90a
mov dword [0xa3aab0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x45b828
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45b824
mov dword [ebp - 0x88], 0x30
jmp 0x45b90a
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 0x45b851
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45b851
mov byte [ebp - 0x3d], 0
jmp 0x45be85
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 0x45b8f9
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 0x45b8f0
cmp dword [ebp - 0x24], 9
jg 0x45b8f0
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 0x45b8f9
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45b87b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45bb78
mov eax, dword [0xa3aab0]
test eax, eax
je 0x45b935
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3aab4]
cmp eax, 1
jne 0x45b95d
mov eax, dword [0xa3aaac]
cmp eax, 1
jne 0x45b95d
mov dword [0xa3aaac], 0
mov dword [0xa3aab4], 0
mov eax, dword [0xa3aab4]
cmp eax, 0x2b
jle 0x45b970
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [0xa3aaa8]
test eax, eax
jne 0x45b98c
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aab4]
cmp edx, eax
je 0x45bb06
mov eax, dword [0xa3aaa8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x45b9a4
mov eax, dword [0xa3aab4]
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 0x45b9be
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0x27
jne 0x45ba35
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa14b40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45b9e1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45ba25
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x45ba08
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x45ba34
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 0x45b9ea
jmp 0x45ba35
nop
mov eax, dword [0xa3aaac]
test eax, eax
je 0x45ba81
mov eax, dword [0xa3aaa8]
test eax, eax
je 0x45ba62
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aaa8]
add eax, edx
cmp eax, 8
jle 0x45ba81
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aab4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x45ba81
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x45ba90
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x45bb0a
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa14b40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45bab3
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45baf7
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x45bada
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x45bb09
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 0x45babc
jmp 0x45bb0a
nop
jmp 0x45bb0a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa14b60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447be9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53a0f3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45bdf4
mov eax, dword [0xa3aab0]
test eax, eax
je 0x45bba3
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3aab4]
cmp eax, 1
jne 0x45bbcb
mov eax, dword [0xa3aaac]
cmp eax, 1
jne 0x45bbcb
mov dword [0xa3aaac], 0
mov dword [0xa3aab4], 0
mov eax, dword [0xa3aab4]
cmp eax, 0x142
jle 0x45bbe0
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [0xa3aaa8]
test eax, eax
jne 0x45bbfc
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aab4]
cmp edx, eax
je 0x45bd82
mov eax, dword [0xa3aaa8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x45bc14
mov eax, dword [0xa3aab4]
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 0x45bc31
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0x135
jne 0x45bcab
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa14b40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x45bc57
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x45bc9b
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x45bc7e
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x45bcaa
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 0x45bc60
jmp 0x45bcab
nop
mov eax, dword [0xa3aaac]
test eax, eax
je 0x45bcf7
mov eax, dword [0xa3aaa8]
test eax, eax
je 0x45bcd8
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aaa8]
add eax, edx
cmp eax, 0x10
jle 0x45bcf7
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov edx, dword [0xa3aaac]
mov eax, dword [0xa3aab4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x45bcf7
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x45bd09
mov byte [ebp - 0x3d], 0
jmp 0x45be85
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x45bd86
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa14b40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45bd2f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45bd73
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x45bd56
mov byte [ebp - 0x3d], 0
jmp 0x45be85
mov eax, dword [ebp - 0x24]
add eax, 0xa14740
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x45bd85
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 0x45bd38
jmp 0x45bd86
nop
jmp 0x45bd86
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa14b60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447be9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67a2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53a0f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45be85
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45be85
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa14b60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00447be9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00447425
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa14b60]
mov eax, dword [eax]
mov dword [esp + 8], 0xa3aac0
mov dword [esp + 4], 0x53a0f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67a2c0]
fld qword [0xa3aac0]
fstp xword [eax]
jmp 0x45be85
nop
jmp 0x45be85
nop
cmp byte [ebp - 0x3d], 0
je 0x45c5c9
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00447425
jmp 0x45bea4
nop
mov dword [0xa3aac8], 0
jmp 0x45beb1
nop
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x45c0e6
mov dword [ebp - 0x1c], 1
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45bef4
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45bef4
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45bf2e
call fcn.0043b4f3
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 0x45bf2e
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa3aac8]
cmp dword [ebp - 0x1c], eax
je 0x45c0e6
mov eax, dword [0xa3aac8]
xor eax, 1
mov dword [0xa3aac8], eax
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3aacc], eax
mov eax, dword [0x69012c]
mov byte [eax + 0x50], 1
mov edx, dword [0x67f750]
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3aad0], eax
mov edx, dword [0x67f754]
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3aad4], eax
mov eax, dword [0xa3aad4]
test eax, eax
jne 0x45bfaa
mov dword [0xa3aad4], 1
mov eax, dword [0xa3aad4]
mov dword [0xa3aad8], eax
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45bfdf
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45bfdf
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45bfe9
mov dword [0xa3aad8], 1
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3aad0]
imul eax, edx
mov dword [0xa3aadc], eax
mov dword [0xa3aae0], 0
jmp 0x45c0c0
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3aad4]
imul eax, edx
mov dword [0xa3aae4], eax
mov dword [0xa3aae8], 0
jmp 0x45c092
mov edx, dword [0xa3aadc]
mov eax, dword [0xa3aae4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004557b0
mov edx, eax
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3aadc]
mov eax, dword [0xa3aae4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043c63e
mov eax, dword [0xa3aae4]
add eax, 1
mov dword [0xa3aae4], eax
mov eax, dword [0xa3aae8]
add eax, 1
mov dword [0xa3aae8], eax
mov edx, dword [0xa3aae8]
mov eax, dword [0xa3aad8]
cmp edx, eax
setl al
test al, al
jne 0x45c038
mov eax, dword [0xa3aadc]
add eax, 1
mov dword [0xa3aadc], eax
mov eax, dword [0xa3aae0]
add eax, 1
mov dword [0xa3aae0], eax
mov edx, dword [0xa3aae0]
mov eax, dword [0xa3aad0]
cmp edx, eax
setl al
test al, al
jne 0x45c012
mov edx, dword [0x69012c]
mov eax, dword [0xa3aacc]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x45c115
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.00447425
jmp 0x45c1eb
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x45c19a
mov dword [esp], 0x532d06
call fcn.004470aa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00447425
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 0x45c187
cmp dword [ebp - 0x2c], 0xa
jne 0x45c160
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x53a0fa
call fcn.004470aa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00447425
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x45c1d8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x45c1d8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.004494fe
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00447425
mov dword [0x67f438], 1
call fcn.0040b721
mov dword [0x67f438], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.00499fdd
movzx eax, byte [0x56a299]
test al, al
jne 0x45c756
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x45beb0
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x45c3ce
mov eax, dword [0xa3aac8]
test eax, eax
je 0x45c3ce
mov dword [0xa3aac8], 0
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3aaec], eax
mov eax, dword [0x69012c]
mov byte [eax + 0x50], 1
mov edx, dword [0x67f750]
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3aaf0], eax
mov edx, dword [0x67f754]
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3aaf4], eax
mov eax, dword [0xa3aaf4]
test eax, eax
jne 0x45c292
mov dword [0xa3aaf4], 1
mov eax, dword [0xa3aaf4]
mov dword [0xa3aaf8], eax
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45c2c7
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45c2c7
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45c2d1
mov dword [0xa3aaf8], 1
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3aaf0]
imul eax, edx
mov dword [0xa3aafc], eax
mov dword [0xa3ab00], 0
jmp 0x45c3a8
mov eax, dword [0x69012c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3aaf4]
imul eax, edx
mov dword [0xa3ab04], eax
mov dword [0xa3ab08], 0
jmp 0x45c37a
mov edx, dword [0xa3aafc]
mov eax, dword [0xa3ab04]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004557b0
mov edx, eax
mov eax, dword [0x69012c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3aafc]
mov eax, dword [0xa3ab04]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043c63e
mov eax, dword [0xa3ab04]
add eax, 1
mov dword [0xa3ab04], eax
mov eax, dword [0xa3ab08]
add eax, 1
mov dword [0xa3ab08], eax
mov edx, dword [0xa3ab08]
mov eax, dword [0xa3aaf8]
cmp edx, eax
setl al
test al, al
jne 0x45c320
mov eax, dword [0xa3aafc]
add eax, 1
mov dword [0xa3aafc], eax
mov eax, dword [0xa3ab00]
add eax, 1
mov dword [0xa3ab00], eax
mov edx, dword [0xa3ab00]
mov eax, dword [0xa3aaf0]
cmp edx, eax
setl al
test al, al
jne 0x45c2fa
mov edx, dword [0x69012c]
mov eax, dword [0xa3aaec]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x45c3f2
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00457846
jmp 0x45a668
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x45a652
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x45c42e
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 0x45a668
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x45a655
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x45a658
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x45a65b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x45a65e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x45a661
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x45a664
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x45c5b1
mov dword [ebp - 0x1c], 1
jmp 0x45c4bd
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa14b60]
mov dword [esp], eax
call fcn.00446831
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45c4a7
cmp byte [ebp - 0x9c], 0
je 0x45c503
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x45c503
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00457846
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00446831
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00446831
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00446831
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00446831
mov eax, dword [0x69012c]
mov edx, dword [0xa14f64]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa3aa90]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0046e6f3
mov eax, dword [0xa3aa94]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0046e6f3
mov eax, dword [0xa3aa88]
test eax, eax
jne 0x45c59e
mov dword [0x51e2d8], 0xffffffff
jmp 0x45c590
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x51e2d8]
test eax, eax
setne al
test al, al
jne 0x45c57f
mov eax, dword [0xa3aa8c]
mov dword [esp], eax
call fcn.0046e9cf
nop
jmp 0x45c757
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x45c6ea
jmp 0x45c5ca
nop
jmp 0x45c5ca
nop
jmp 0x45c5ca
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x45bea3
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.0046eb15
mov dword [ebp - 0x20], eax
mov edx, dword [0xa3aa94]
mov eax, dword [0xa3aa90]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044d31f
mov eax, dword [0xa3aa94]
mov dword [esp], eax
call fcn.0046ea6c
mov edx, dword [0x69012c]
mov eax, dword [0xa3aa98]
mov word [edx + 0x38], ax
mov edx, dword [0x69012c]
mov eax, dword [0xa3aa9c]
mov word [edx + 0x3a], ax
mov edx, dword [0x69012c]
mov eax, dword [0xa3aaa0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x45c673
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.00457846
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 0x45c648
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0046ea6c
mov edx, dword [0xa3aa94]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044d31f
mov ecx, dword [0x69012c]
mov edx, dword [0x690104]
mov eax, dword [0xa3aa94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x69012c]
mov edx, dword [0x690104]
mov eax, dword [0xa3aa94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x45a668
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x45a667
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00447be9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00447425
mov eax, dword [0x69012c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x45c73c
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00457846
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00447425
jmp 0x45a668
nop
jmp 0x45c757
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret