Function at 0x4277ef
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 [0x51d26c]
test eax, eax
jne 0x429b72
mov eax, dword [0x4e4298]
mov dword [0xaabc88], eax
mov dword [0x4e4298], 1
call fcn.0043acdd
mov dword [0xaabc8c], eax
call fcn.0043ace9
mov dword [esp], eax
call fcn.0043aba3
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0043a76d
mov dword [0xaabc90], eax
mov eax, dword [0xaabc90]
cmp eax, 0xffffffff
jne 0x42786b
mov dword [esp], 0x204
call fcn.004130bc
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0043a76d
mov dword [0xaabc94], eax
mov eax, dword [0xaabc94]
cmp eax, 0xffffffff
jne 0x42789a
mov dword [esp], 0x205
call fcn.004130bc
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xaabc98], eax
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xaabc9c], eax
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xaabca0], eax
mov eax, dword [0x4e4014]
mov dword [ebp - 0x74], eax
mov dword [0xaabca4], 0
mov eax, dword [0x62d6c4]
and eax, 0x40000000
test eax, eax
je 0x42790b
mov eax, dword [0x62d6c4]
and eax, 0x200
test eax, eax
je 0x42790b
mov dword [0x62d6c4], 0xfffffe00
mov dword [0xaabca4], 1
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa86084], eax
mov eax, dword [0x640e2c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414817
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414817
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414817
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00414817
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x4279b8
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414817
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa85c80], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x427994
mov dword [ebp - 0x1c], 1
jmp 0x427a81
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x40000000
test eax, eax
je 0x427a38
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d2a0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x427a27
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d2a0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d2a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x427a38
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d2a0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1000000
test eax, eax
jne 0x427a7d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62d2a0]
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 0x4279d1
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
jmp 0x427aaa
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa85c84]
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 0x427be8
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 0x427b44
cmp dword [ebp - 0x20], 1
je 0x427b44
mov eax, dword [0xaabca4]
test eax, eax
jne 0x427b44
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x427b27
mov dword [ebp - 0x3c], 1
jmp 0x427be8
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x427bdf
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 0x427b83
cmp dword [ebp - 0x38], 0
je 0x427b74
mov eax, dword [0xaabca4]
test eax, eax
jne 0x427b74
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x427bdf
cmp dword [ebp - 0x20], 1
jne 0x427b83
mov dword [ebp - 0x20], 2
jmp 0x427bdf
cmp dword [ebp - 0x20], 2
je 0x4299e2
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 + 0xa85c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00415142
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x427ad9
cmp dword [ebp - 0x3c], 0
jne 0x4299e5
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x40000000
test eax, eax
jne 0x428119
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x20000000
test eax, eax
jne 0x428119
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x428119
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x427c9b
mov dword [ebp - 0x88], 0x30
jmp 0x4280c9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
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 0x427cd2
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 + 0xa85c80]
mov dword [esp], eax
call fcn.0042747f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x427ea4
mov eax, dword [0xa85858]
mov edx, dword [0xa8585c]
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 0x427d33
cmp edx, dword [ebp - 0x4c]
ja 0x427d2a
cmp eax, dword [ebp - 0x50]
jbe 0x427d33
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x24], 1
jne 0x427dd6
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 0x427d8e
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 0x427d77
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 0x427d59
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x427db0
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x8c], 1
jne 0x427dc3
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x427dd6
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x427e8d
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 0x427e45
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 0x427e2e
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 0x427dfc
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x427e67
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x8c], 1
jne 0x427e7a
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x427e8d
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 0x4280c9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
je 0x427ec7
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x427eeb
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 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
jne 0x427f37
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x427f37
cmp dword [ebp - 0x8c], 1
jne 0x427f2f
mov dword [ebp - 0x88], 0x30
jmp 0x4280c9
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 0x427f60
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x427f60
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
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 0x428085
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 0x428050
cmp dword [ebp - 0x24], 9
jg 0x428050
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 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
je 0x42800e
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x428059
cmp edx, dword [ebp - 0x4c]
ja 0x428005
cmp eax, dword [ebp - 0x50]
jbe 0x428059
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp byte [ebp - 0x3e], 0
je 0x428032
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x428059
cmp edx, dword [ebp - 0x54]
ja 0x428029
cmp eax, dword [ebp - 0x58]
jbe 0x428059
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x428059
cmp edx, dword [ebp - 0x4c]
ja 0x428047
cmp eax, dword [ebp - 0x50]
jbe 0x428059
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
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 0x427f8d
cmp byte [ebp - 0x3e], 0
je 0x4280b7
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 0x4280c9
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 + 0x62d6c0]
and eax, 0x1000000
test eax, eax
jne 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x40000000
test eax, eax
je 0x428181
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x42815c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x42815c
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa85c80]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x40000000
test eax, eax
jne 0x428527
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x20000000
test eax, eax
jne 0x428527
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x428527
cmp dword [ebp - 0x8c], 0
jne 0x4281f6
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp], eax
call fcn.0042747f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4282a8
mov eax, dword [0xa85858]
mov edx, dword [0xa8585c]
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 0x428249
cmp edx, dword [ebp - 0x4c]
ja 0x428240
cmp eax, dword [ebp - 0x50]
jbe 0x428249
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x24], 1
jne 0x428262
cmp dword [ebp - 0x8c], 1
jne 0x428262
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x42827b
cmp dword [ebp - 0x8c], 1
jne 0x42827b
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x42828e
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4292c7
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
jne 0x42830b
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x42830b
cmp dword [ebp - 0x8c], 1
jne 0x428303
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4292c7
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 0x428334
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x428334
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x42837d
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 0x42836c
cmp dword [ebp - 0x24], 9
jle 0x428375
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
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 0x428349
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
je 0x4283c0
cmp dword [ebp - 0x28], 0x13
jle 0x428470
cmp dword [ebp - 0x28], 0x14
jle 0x4283b6
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4283f1
cmp dword [ebp - 0x28], 0x12
jle 0x428473
cmp dword [ebp - 0x28], 0x13
jle 0x4283d9
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp byte [ebp - 0x3e], 0
je 0x4283e9
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4283f1
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x428461
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 0x428476
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 0x42845d
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x42840c
jmp 0x428477
nop
jmp 0x428477
nop
jmp 0x428477
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa85c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00415142
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x10000000
test eax, eax
je 0x4284f8
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
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 0x4292c7
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
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 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x20000000
test eax, eax
je 0x4292c7
mov dword [0xaabca8], 0
mov dword [0xaabcac], 0
mov dword [0xaabcb0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xaabcb4], 0
mov dword [0xa85c60], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4285a3
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62d2a0]
mov eax, dword [0x500bb8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4285c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4285fc
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x62d2a0]
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 0x428614
mov dword [ebp - 0x88], 0x30
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp], eax
call fcn.0042747f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x428919
mov eax, dword [0xa85858]
mov edx, dword [0xa8585c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x428662
cmp dword [ebp - 0x8c], 1
jne 0x428662
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x42867b
cmp dword [ebp - 0x8c], 1
jne 0x42867b
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x42868e
mov dword [ebp - 0x88], 0x30
mov dword [0xaabcb8], 0x7fffffff
mov dword [0xaabcbc], 0
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
mov edx, eax
mov eax, 0
mov dword [0xaabcb8], eax
mov dword [0xaabcbc], edx
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
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 [0xaabcb8], eax
mov dword [0xaabcbc], edx
jmp 0x4287f0
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428758
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld dword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
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 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4287a3
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld qword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
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 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4287f0
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld xword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x428814
cmp edx, dword [ebp - 0x6c]
ja 0x42880f
cmp eax, dword [ebp - 0x70]
jb 0x428814
mov ecx, 0
test cl, cl
jne 0x4286fc
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xaabcb8], eax
mov dword [0xaabcbc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428878
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld dword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
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 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4288c3
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld qword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
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 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4292c3
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld xword [eax]
mov eax, dword [0xaabcb8]
mov edx, dword [0xaabcbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4292c3
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 0x428952
cmp dword [ebp - 0x8c], 1
jne 0x42894a
mov dword [ebp - 0x88], 0x30
jmp 0x4292c7
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 0x428999
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4292c6
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 0x428a5c
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x428a43
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 0x4289d0
cmp dword [ebp - 0x24], 0x64
je 0x4289d0
cmp dword [ebp - 0x24], 0x45
je 0x4289d0
cmp dword [ebp - 0x24], 0x65
jne 0x4289ec
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4289e1
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428b72
cmp dword [ebp - 0x24], 0x2e
jne 0x4289fa
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428a5d
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x428a0a
cmp dword [ebp - 0x24], 9
jle 0x428a13
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [0xaabca8]
add eax, 1
mov dword [0xaabca8], eax
mov edx, dword [0xa85c60]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa85860], al
mov eax, dword [0xa85c60]
add eax, 1
mov dword [0xa85c60], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4289a4
jmp 0x428d4c
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x428a81
mov dword [ebp - 0x88], 0x30
jmp 0x428d4c
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x428b59
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 0x428abc
cmp dword [ebp - 0x24], 0x64
je 0x428abc
cmp dword [ebp - 0x24], 0x45
je 0x428abc
cmp dword [ebp - 0x24], 0x65
jne 0x428ae1
mov eax, dword [0xa85c60]
test eax, eax
je 0x428ae1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x428ad6
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428b72
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x428af1
cmp dword [ebp - 0x24], 9
jle 0x428afa
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x24], 0
je 0x428b07
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x428b1a
mov eax, dword [0xaabcb4]
add eax, 1
mov dword [0xaabcb4], eax
mov eax, dword [0xaabcac]
add eax, 1
mov dword [0xaabcac], eax
mov eax, dword [0xa85c60]
test eax, eax
jne 0x428b36
cmp dword [ebp - 0x24], 0
je 0x428b55
mov edx, dword [0xa85c60]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa85860], al
mov eax, dword [0xa85c60]
add eax, 1
mov dword [0xa85c60], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x428a90
jmp 0x428d4c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428baf
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 0x428ba6
cmp dword [ebp - 0x24], 0x64
jne 0x428baf
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
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 0x428bcf
cmp dword [ebp - 0x24], 0x64
jne 0x428bdd
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 0x428bfa
mov dword [ebp - 0x88], 0x30
jmp 0x428d4c
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 0x428c43
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x428c35
mov dword [ebp - 0x88], 0x30
jmp 0x428d4c
mov dword [0xaabcb0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x428c6a
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x428c66
mov dword [ebp - 0x88], 0x30
jmp 0x428d4c
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 0x428c93
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x428c93
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
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 0x428d3b
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 0x428d32
cmp dword [ebp - 0x24], 9
jg 0x428d32
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 0x428d3b
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x428cbd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428fba
mov eax, dword [0xaabcb0]
test eax, eax
je 0x428d77
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaabcb4]
cmp eax, 1
jne 0x428d9f
mov eax, dword [0xaabcac]
cmp eax, 1
jne 0x428d9f
mov dword [0xaabcac], 0
mov dword [0xaabcb4], 0
mov eax, dword [0xaabcb4]
cmp eax, 0x2b
jle 0x428db2
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [0xaabca8]
test eax, eax
jne 0x428dce
mov edx, dword [0xaabcac]
mov eax, dword [0xaabcb4]
cmp edx, eax
je 0x428f48
mov eax, dword [0xaabca8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x428de6
mov eax, dword [0xaabcb4]
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 0x428e00
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0x27
jne 0x428e77
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa85c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x428e23
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x428e67
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x428e4a
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x428e76
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 0x428e2c
jmp 0x428e77
nop
mov eax, dword [0xaabcac]
test eax, eax
je 0x428ec3
mov eax, dword [0xaabca8]
test eax, eax
je 0x428ea4
mov edx, dword [0xaabcac]
mov eax, dword [0xaabca8]
add eax, edx
cmp eax, 8
jle 0x428ec3
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov edx, dword [0xaabcac]
mov eax, dword [0xaabcb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x428ec3
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x428ed2
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x428f4c
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa85c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x428ef5
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x428f39
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x428f1c
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x428f4b
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 0x428efe
jmp 0x428f4c
nop
jmp 0x428f4c
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa85c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00415142
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4ee32f
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x429236
mov eax, dword [0xaabcb0]
test eax, eax
je 0x428fe5
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaabcb4]
cmp eax, 1
jne 0x42900d
mov eax, dword [0xaabcac]
cmp eax, 1
jne 0x42900d
mov dword [0xaabcac], 0
mov dword [0xaabcb4], 0
mov eax, dword [0xaabcb4]
cmp eax, 0x142
jle 0x429022
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [0xaabca8]
test eax, eax
jne 0x42903e
mov edx, dword [0xaabcac]
mov eax, dword [0xaabcb4]
cmp edx, eax
je 0x4291c4
mov eax, dword [0xaabca8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x429056
mov eax, dword [0xaabcb4]
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 0x429073
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0x135
jne 0x4290ed
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa85c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x429099
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4290dd
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4290c0
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4290ec
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 0x4290a2
jmp 0x4290ed
nop
mov eax, dword [0xaabcac]
test eax, eax
je 0x429139
mov eax, dword [0xaabca8]
test eax, eax
je 0x42911a
mov edx, dword [0xaabcac]
mov eax, dword [0xaabca8]
add eax, edx
cmp eax, 0x10
jle 0x429139
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov edx, dword [0xaabcac]
mov eax, dword [0xaabcb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x429139
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x42914b
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4291c8
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa85c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x429171
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4291b5
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x429198
mov byte [ebp - 0x3d], 0
jmp 0x4292c7
mov eax, dword [ebp - 0x24]
add eax, 0xa85860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4291c7
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 0x42917a
jmp 0x4291c8
nop
jmp 0x4291c8
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa85c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00415142
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62d2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4ee332
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4292c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4292c7
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa85c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00415142
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa85c80]
mov eax, dword [eax]
mov dword [esp + 8], 0xaabcc0
mov dword [esp + 4], 0x4ee332
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62d2a0]
fld qword [0xaabcc0]
fstp xword [eax]
jmp 0x4292c7
nop
jmp 0x4292c7
nop
cmp byte [ebp - 0x3d], 0
je 0x4299e8
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0041497e
jmp 0x4292e6
nop
mov dword [0xaabcc8], 0
jmp 0x4292f3
nop
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x429528
mov dword [ebp - 0x1c], 1
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x429336
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x429336
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x429370
call fcn.0040934e
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 0x429370
mov dword [ebp - 0x1c], 0
mov eax, dword [0xaabcc8]
cmp dword [ebp - 0x1c], eax
je 0x429528
mov eax, dword [0xaabcc8]
xor eax, 1
mov dword [0xaabcc8], eax
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaabccc], eax
mov eax, dword [0x640e2c]
mov byte [eax + 0x50], 1
mov edx, dword [0x630450]
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaabcd0], eax
mov edx, dword [0x630454]
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaabcd4], eax
mov eax, dword [0xaabcd4]
test eax, eax
jne 0x4293ec
mov dword [0xaabcd4], 1
mov eax, dword [0xaabcd4]
mov dword [0xaabcd8], eax
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x429421
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x429421
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x42942b
mov dword [0xaabcd8], 1
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaabcd0]
imul eax, edx
mov dword [0xaabcdc], eax
mov dword [0xaabce0], 0
jmp 0x429502
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaabcd4]
imul eax, edx
mov dword [0xaabce4], eax
mov dword [0xaabce8], 0
jmp 0x4294d4
mov edx, dword [0xaabcdc]
mov eax, dword [0xaabce4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00422bb6
mov edx, eax
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaabcdc]
mov eax, dword [0xaabce4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040a218
mov eax, dword [0xaabce4]
add eax, 1
mov dword [0xaabce4], eax
mov eax, dword [0xaabce8]
add eax, 1
mov dword [0xaabce8], eax
mov edx, dword [0xaabce8]
mov eax, dword [0xaabcd8]
cmp edx, eax
setl al
test al, al
jne 0x42947a
mov eax, dword [0xaabcdc]
add eax, 1
mov dword [0xaabcdc], eax
mov eax, dword [0xaabce0]
add eax, 1
mov dword [0xaabce0], eax
mov edx, dword [0xaabce0]
mov eax, dword [0xaabcd0]
cmp edx, eax
setl al
test al, al
jne 0x429454
mov edx, dword [0x640e2c]
mov eax, dword [0xaabccc]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x429557
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.0041497e
jmp 0x42960a
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x4295d7
mov dword [esp], 0x4ee336
call fcn.00414603
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0041497e
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 0x4295c9
cmp dword [ebp - 0x2c], 0xa
jne 0x4295a2
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x4ee337
call fcn.00414603
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4295f7
mov dword [esp], 0xa
call fcn.0048475c
jmp 0x4295f7
mov dword [esp], 0xa
call fcn.0048475c
call fcn.0041697f
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0041497e
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004256bf
movzx eax, byte [0x51d279]
test al, al
jne 0x429b75
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4292f2
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4297ed
mov eax, dword [0xaabcc8]
test eax, eax
je 0x4297ed
mov dword [0xaabcc8], 0
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaabcec], eax
mov eax, dword [0x640e2c]
mov byte [eax + 0x50], 1
mov edx, dword [0x630450]
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaabcf0], eax
mov edx, dword [0x630454]
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaabcf4], eax
mov eax, dword [0xaabcf4]
test eax, eax
jne 0x4296b1
mov dword [0xaabcf4], 1
mov eax, dword [0xaabcf4]
mov dword [0xaabcf8], eax
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4296e6
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4296e6
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4296f0
mov dword [0xaabcf8], 1
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaabcf0]
imul eax, edx
mov dword [0xaabcfc], eax
mov dword [0xaabd00], 0
jmp 0x4297c7
mov eax, dword [0x640e2c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaabcf4]
imul eax, edx
mov dword [0xaabd04], eax
mov dword [0xaabd08], 0
jmp 0x429799
mov edx, dword [0xaabcfc]
mov eax, dword [0xaabd04]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00422bb6
mov edx, eax
mov eax, dword [0x640e2c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaabcfc]
mov eax, dword [0xaabd04]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040a218
mov eax, dword [0xaabd04]
add eax, 1
mov dword [0xaabd04], eax
mov eax, dword [0xaabd08]
add eax, 1
mov dword [0xaabd08], eax
mov edx, dword [0xaabd08]
mov eax, dword [0xaabcf8]
cmp edx, eax
setl al
test al, al
jne 0x42973f
mov eax, dword [0xaabcfc]
add eax, 1
mov dword [0xaabcfc], eax
mov eax, dword [0xaabd00]
add eax, 1
mov dword [0xaabd00], eax
mov edx, dword [0xaabd00]
mov eax, dword [0xaabcf0]
cmp edx, eax
setl al
test al, al
jne 0x429719
mov edx, dword [0x640e2c]
mov eax, dword [0xaabcec]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x429811
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00424c40
jmp 0x427aaa
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x427a94
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x42984d
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 0x427aaa
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x427a97
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x427a9a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x427a9d
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x427aa0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x427aa3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x427aa6
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x4299d0
mov dword [ebp - 0x1c], 1
jmp 0x4298dc
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa85c80]
mov dword [esp], eax
call fcn.00413d8a
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4298c6
cmp byte [ebp - 0x9c], 0
je 0x429922
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x429922
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00424c40
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00413d8a
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00413d8a
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00413d8a
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00413d8a
mov eax, dword [0x640e2c]
mov edx, dword [0xa86084]
mov byte [eax + 0x3c], dl
mov eax, dword [0xaabc90]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0043a9bf
mov eax, dword [0xaabc94]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0043a9bf
mov eax, dword [0xaabc88]
test eax, eax
jne 0x4299bd
mov dword [0x4e4298], 0xffffffff
jmp 0x4299af
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x4e4298]
test eax, eax
setne al
test al, al
jne 0x42999e
mov eax, dword [0xaabc8c]
mov dword [esp], eax
call fcn.0043aba3
nop
jmp 0x429b76
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x429b09
jmp 0x4299e9
nop
jmp 0x4299e9
nop
jmp 0x4299e9
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4292e5
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.0043ace9
mov dword [ebp - 0x20], eax
mov edx, dword [0xaabc94]
mov eax, dword [0xaabc90]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041a725
mov eax, dword [0xaabc94]
mov dword [esp], eax
call fcn.0043ac40
mov edx, dword [0x640e2c]
mov eax, dword [0xaabc98]
mov word [edx + 0x38], ax
mov edx, dword [0x640e2c]
mov eax, dword [0xaabc9c]
mov word [edx + 0x3a], ax
mov edx, dword [0x640e2c]
mov eax, dword [0xaabca0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x429a92
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.00424c40
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 0x429a67
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0043ac40
mov edx, dword [0xaabc94]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041a725
mov ecx, dword [0x640e2c]
mov edx, dword [0x640e04]
mov eax, dword [0xaabc94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x640e2c]
mov edx, dword [0x640e04]
mov eax, dword [0xaabc94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x427aaa
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x427aa9
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00415142
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0041497e
mov eax, dword [0x640e2c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x429b5b
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00424c40
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0041497e
jmp 0x427aaa
nop
jmp 0x429b76
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret