Function at 0x427bbb
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 [0x51e26c]
test eax, eax
jne 0x429f3e
mov eax, dword [0x4e5298]
mov dword [0xaacc88], eax
mov dword [0x4e5298], 1
call fcn.0043b0a9
mov dword [0xaacc8c], eax
call fcn.0043b0b5
mov dword [esp], eax
call fcn.0043af6f
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0043ab39
mov dword [0xaacc90], eax
mov eax, dword [0xaacc90]
cmp eax, 0xffffffff
jne 0x427c37
mov dword [esp], 0x204
call fcn.00413488
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0043ab39
mov dword [0xaacc94], eax
mov eax, dword [0xaacc94]
cmp eax, 0xffffffff
jne 0x427c66
mov dword [esp], 0x205
call fcn.00413488
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xaacc98], eax
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xaacc9c], eax
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xaacca0], eax
mov eax, dword [0x4e5014]
mov dword [ebp - 0x74], eax
mov dword [0xaacca4], 0
mov eax, dword [0x62e6c4]
and eax, 0x40000000
test eax, eax
je 0x427cd7
mov eax, dword [0x62e6c4]
and eax, 0x200
test eax, eax
je 0x427cd7
mov dword [0x62e6c4], 0xfffffe00
mov dword [0xaacca4], 1
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa87084], eax
mov eax, dword [0x641e2c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00414be3
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x427d84
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa86c80], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x427d60
mov dword [ebp - 0x1c], 1
jmp 0x427e4d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x40000000
test eax, eax
je 0x427e04
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e2a0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x427df3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e2a0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e2a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x427e04
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e2a0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1000000
test eax, eax
jne 0x427e49
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x62e2a0]
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 0x427d9d
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
jmp 0x427e76
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa86c84]
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 0x427fb4
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 0x427f10
cmp dword [ebp - 0x20], 1
je 0x427f10
mov eax, dword [0xaacca4]
test eax, eax
jne 0x427f10
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x427ef3
mov dword [ebp - 0x3c], 1
jmp 0x427fb4
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x427fab
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 0x427f4f
cmp dword [ebp - 0x38], 0
je 0x427f40
mov eax, dword [0xaacca4]
test eax, eax
jne 0x427f40
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x427fab
cmp dword [ebp - 0x20], 1
jne 0x427f4f
mov dword [ebp - 0x20], 2
jmp 0x427fab
cmp dword [ebp - 0x20], 2
je 0x429dae
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 + 0xa86c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041550e
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x427ea5
cmp dword [ebp - 0x3c], 0
jne 0x429db1
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x40000000
test eax, eax
jne 0x4284e5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x20000000
test eax, eax
jne 0x4284e5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4284e5
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x428067
mov dword [ebp - 0x88], 0x30
jmp 0x428495
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
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 0x42809e
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 + 0xa86c80]
mov dword [esp], eax
call fcn.0042784b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x428270
mov eax, dword [0xa86858]
mov edx, dword [0xa8685c]
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 0x4280ff
cmp edx, dword [ebp - 0x4c]
ja 0x4280f6
cmp eax, dword [ebp - 0x50]
jbe 0x4280ff
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x24], 1
jne 0x4281a2
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 0x42815a
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 0x428143
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 0x428125
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x42817c
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x8c], 1
jne 0x42818f
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4281a2
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x428259
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 0x428211
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 0x4281fa
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 0x4281c8
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x428233
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x8c], 1
jne 0x428246
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x428259
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 0x428495
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
je 0x428293
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4282b7
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 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
jne 0x428303
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x428303
cmp dword [ebp - 0x8c], 1
jne 0x4282fb
mov dword [ebp - 0x88], 0x30
jmp 0x428495
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 0x42832c
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x42832c
mov byte [ebp - 0x3d], 0
jmp 0x429693
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 0x428451
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 0x42841c
cmp dword [ebp - 0x24], 9
jg 0x42841c
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 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
je 0x4283da
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x428425
cmp edx, dword [ebp - 0x4c]
ja 0x4283d1
cmp eax, dword [ebp - 0x50]
jbe 0x428425
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp byte [ebp - 0x3e], 0
je 0x4283fe
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x428425
cmp edx, dword [ebp - 0x54]
ja 0x4283f5
cmp eax, dword [ebp - 0x58]
jbe 0x428425
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x428425
cmp edx, dword [ebp - 0x4c]
ja 0x428413
cmp eax, dword [ebp - 0x50]
jbe 0x428425
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov byte [ebp - 0x3d], 0
jmp 0x429693
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 0x428359
cmp byte [ebp - 0x3e], 0
je 0x428483
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 0x428495
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 + 0x62e6c0]
and eax, 0x1000000
test eax, eax
jne 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x40000000
test eax, eax
je 0x42854d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x428528
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x428528
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa86c80]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x40000000
test eax, eax
jne 0x4288f3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x20000000
test eax, eax
jne 0x4288f3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4288f3
cmp dword [ebp - 0x8c], 0
jne 0x4285c2
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp], eax
call fcn.0042784b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x428674
mov eax, dword [0xa86858]
mov edx, dword [0xa8685c]
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 0x428615
cmp edx, dword [ebp - 0x4c]
ja 0x42860c
cmp eax, dword [ebp - 0x50]
jbe 0x428615
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x24], 1
jne 0x42862e
cmp dword [ebp - 0x8c], 1
jne 0x42862e
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x428647
cmp dword [ebp - 0x8c], 1
jne 0x428647
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x42865a
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x429693
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
jne 0x4286d7
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4286d7
cmp dword [ebp - 0x8c], 1
jne 0x4286cf
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x429693
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 0x428700
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x428700
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x428749
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 0x428738
cmp dword [ebp - 0x24], 9
jle 0x428741
mov byte [ebp - 0x3d], 0
jmp 0x429693
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 0x428715
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
je 0x42878c
cmp dword [ebp - 0x28], 0x13
jle 0x42883c
cmp dword [ebp - 0x28], 0x14
jle 0x428782
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4287bd
cmp dword [ebp - 0x28], 0x12
jle 0x42883f
cmp dword [ebp - 0x28], 0x13
jle 0x4287a5
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp byte [ebp - 0x3e], 0
je 0x4287b5
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4287bd
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x42882d
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 0x428842
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 0x428829
mov byte [ebp - 0x3d], 0
jmp 0x429693
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4287d8
jmp 0x428843
nop
jmp 0x428843
nop
jmp 0x428843
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa86c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041550e
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x10000000
test eax, eax
je 0x4288c4
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
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 0x429693
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
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 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x20000000
test eax, eax
je 0x429693
mov dword [0xaacca8], 0
mov dword [0xaaccac], 0
mov dword [0xaaccb0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xaaccb4], 0
mov dword [0xa86c60], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x42896f
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62e2a0]
mov eax, dword [0x501bd8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x428991
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4289c8
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x62e2a0]
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 0x4289e0
mov dword [ebp - 0x88], 0x30
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp], eax
call fcn.0042784b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x428ce5
mov eax, dword [0xa86858]
mov edx, dword [0xa8685c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x428a2e
cmp dword [ebp - 0x8c], 1
jne 0x428a2e
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x428a47
cmp dword [ebp - 0x8c], 1
jne 0x428a47
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x428a5a
mov dword [ebp - 0x88], 0x30
mov dword [0xaaccb8], 0x7fffffff
mov dword [0xaaccbc], 0
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
mov edx, eax
mov eax, 0
mov dword [0xaaccb8], eax
mov dword [0xaaccbc], edx
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
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 [0xaaccb8], eax
mov dword [0xaaccbc], edx
jmp 0x428bbc
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428b24
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld dword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
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 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x428b6f
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld qword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
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 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x428bbc
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld xword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x428be0
cmp edx, dword [ebp - 0x6c]
ja 0x428bdb
cmp eax, dword [ebp - 0x70]
jb 0x428be0
mov ecx, 0
test cl, cl
jne 0x428ac8
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xaaccb8], eax
mov dword [0xaaccbc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428c44
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld dword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
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 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x428c8f
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld qword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
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 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x42968f
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld xword [eax]
mov eax, dword [0xaaccb8]
mov edx, dword [0xaaccbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x42968f
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 0x428d1e
cmp dword [ebp - 0x8c], 1
jne 0x428d16
mov dword [ebp - 0x88], 0x30
jmp 0x429693
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 0x428d65
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x429692
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 0x428e28
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x428e0f
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 0x428d9c
cmp dword [ebp - 0x24], 0x64
je 0x428d9c
cmp dword [ebp - 0x24], 0x45
je 0x428d9c
cmp dword [ebp - 0x24], 0x65
jne 0x428db8
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x428dad
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428f3e
cmp dword [ebp - 0x24], 0x2e
jne 0x428dc6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428e29
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x428dd6
cmp dword [ebp - 0x24], 9
jle 0x428ddf
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [0xaacca8]
add eax, 1
mov dword [0xaacca8], eax
mov edx, dword [0xa86c60]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa86860], al
mov eax, dword [0xa86c60]
add eax, 1
mov dword [0xa86c60], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x428d70
jmp 0x429118
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x428e4d
mov dword [ebp - 0x88], 0x30
jmp 0x429118
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x428f25
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 0x428e88
cmp dword [ebp - 0x24], 0x64
je 0x428e88
cmp dword [ebp - 0x24], 0x45
je 0x428e88
cmp dword [ebp - 0x24], 0x65
jne 0x428ead
mov eax, dword [0xa86c60]
test eax, eax
je 0x428ead
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x428ea2
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x428f3e
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x428ebd
cmp dword [ebp - 0x24], 9
jle 0x428ec6
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x24], 0
je 0x428ed3
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x428ee6
mov eax, dword [0xaaccb4]
add eax, 1
mov dword [0xaaccb4], eax
mov eax, dword [0xaaccac]
add eax, 1
mov dword [0xaaccac], eax
mov eax, dword [0xa86c60]
test eax, eax
jne 0x428f02
cmp dword [ebp - 0x24], 0
je 0x428f21
mov edx, dword [0xa86c60]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa86860], al
mov eax, dword [0xa86c60]
add eax, 1
mov dword [0xa86c60], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x428e5c
jmp 0x429118
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x428f7b
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 0x428f72
cmp dword [ebp - 0x24], 0x64
jne 0x428f7b
mov byte [ebp - 0x3d], 0
jmp 0x429693
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 0x428f9b
cmp dword [ebp - 0x24], 0x64
jne 0x428fa9
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 0x428fc6
mov dword [ebp - 0x88], 0x30
jmp 0x429118
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 0x42900f
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x429001
mov dword [ebp - 0x88], 0x30
jmp 0x429118
mov dword [0xaaccb0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x429036
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x429032
mov dword [ebp - 0x88], 0x30
jmp 0x429118
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 0x42905f
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x42905f
mov byte [ebp - 0x3d], 0
jmp 0x429693
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 0x429107
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 0x4290fe
cmp dword [ebp - 0x24], 9
jg 0x4290fe
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 0x429107
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x429089
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x429386
mov eax, dword [0xaaccb0]
test eax, eax
je 0x429143
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaaccb4]
cmp eax, 1
jne 0x42916b
mov eax, dword [0xaaccac]
cmp eax, 1
jne 0x42916b
mov dword [0xaaccac], 0
mov dword [0xaaccb4], 0
mov eax, dword [0xaaccb4]
cmp eax, 0x2b
jle 0x42917e
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [0xaacca8]
test eax, eax
jne 0x42919a
mov edx, dword [0xaaccac]
mov eax, dword [0xaaccb4]
cmp edx, eax
je 0x429314
mov eax, dword [0xaacca8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4291b2
mov eax, dword [0xaaccb4]
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 0x4291cc
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0x27
jne 0x429243
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa86c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4291ef
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x429233
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x429216
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x429242
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 0x4291f8
jmp 0x429243
nop
mov eax, dword [0xaaccac]
test eax, eax
je 0x42928f
mov eax, dword [0xaacca8]
test eax, eax
je 0x429270
mov edx, dword [0xaaccac]
mov eax, dword [0xaacca8]
add eax, edx
cmp eax, 8
jle 0x42928f
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov edx, dword [0xaaccac]
mov eax, dword [0xaaccb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x42928f
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x42929e
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x429318
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa86c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4292c1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x429305
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4292e8
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x429317
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 0x4292ca
jmp 0x429318
nop
jmp 0x429318
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa86c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041550e
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4ef34f
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x429602
mov eax, dword [0xaaccb0]
test eax, eax
je 0x4293b1
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaaccb4]
cmp eax, 1
jne 0x4293d9
mov eax, dword [0xaaccac]
cmp eax, 1
jne 0x4293d9
mov dword [0xaaccac], 0
mov dword [0xaaccb4], 0
mov eax, dword [0xaaccb4]
cmp eax, 0x142
jle 0x4293ee
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [0xaacca8]
test eax, eax
jne 0x42940a
mov edx, dword [0xaaccac]
mov eax, dword [0xaaccb4]
cmp edx, eax
je 0x429590
mov eax, dword [0xaacca8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x429422
mov eax, dword [0xaaccb4]
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 0x42943f
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0x135
jne 0x4294b9
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa86c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x429465
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4294a9
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x42948c
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4294b8
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 0x42946e
jmp 0x4294b9
nop
mov eax, dword [0xaaccac]
test eax, eax
je 0x429505
mov eax, dword [0xaacca8]
test eax, eax
je 0x4294e6
mov edx, dword [0xaaccac]
mov eax, dword [0xaacca8]
add eax, edx
cmp eax, 0x10
jle 0x429505
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov edx, dword [0xaaccac]
mov eax, dword [0xaaccb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x429505
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x429517
mov byte [ebp - 0x3d], 0
jmp 0x429693
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x429594
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa86c60]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x42953d
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x429581
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x429564
mov byte [ebp - 0x3d], 0
jmp 0x429693
mov eax, dword [ebp - 0x24]
add eax, 0xa86860
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x429593
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 0x429546
jmp 0x429594
nop
jmp 0x429594
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa86c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041550e
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x62e2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x4ef352
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x429693
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e6c0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x429693
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa86c80]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041550e
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa86c80]
mov eax, dword [eax]
mov dword [esp + 8], 0xaaccc0
mov dword [esp + 4], 0x4ef352
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x62e2a0]
fld qword [0xaaccc0]
fstp xword [eax]
jmp 0x429693
nop
jmp 0x429693
nop
cmp byte [ebp - 0x3d], 0
je 0x429db4
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00414d4a
jmp 0x4296b2
nop
mov dword [0xaaccc8], 0
jmp 0x4296bf
nop
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4298f4
mov dword [ebp - 0x1c], 1
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x429702
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x429702
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x42973c
call fcn.0040971a
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 0x42973c
mov dword [ebp - 0x1c], 0
mov eax, dword [0xaaccc8]
cmp dword [ebp - 0x1c], eax
je 0x4298f4
mov eax, dword [0xaaccc8]
xor eax, 1
mov dword [0xaaccc8], eax
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaacccc], eax
mov eax, dword [0x641e2c]
mov byte [eax + 0x50], 1
mov edx, dword [0x631450]
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaaccd0], eax
mov edx, dword [0x631454]
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaaccd4], eax
mov eax, dword [0xaaccd4]
test eax, eax
jne 0x4297b8
mov dword [0xaaccd4], 1
mov eax, dword [0xaaccd4]
mov dword [0xaaccd8], eax
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4297ed
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4297ed
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4297f7
mov dword [0xaaccd8], 1
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaaccd0]
imul eax, edx
mov dword [0xaaccdc], eax
mov dword [0xaacce0], 0
jmp 0x4298ce
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaaccd4]
imul eax, edx
mov dword [0xaacce4], eax
mov dword [0xaacce8], 0
jmp 0x4298a0
mov edx, dword [0xaaccdc]
mov eax, dword [0xaacce4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00422f82
mov edx, eax
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaaccdc]
mov eax, dword [0xaacce4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040a5e4
mov eax, dword [0xaacce4]
add eax, 1
mov dword [0xaacce4], eax
mov eax, dword [0xaacce8]
add eax, 1
mov dword [0xaacce8], eax
mov edx, dword [0xaacce8]
mov eax, dword [0xaaccd8]
cmp edx, eax
setl al
test al, al
jne 0x429846
mov eax, dword [0xaaccdc]
add eax, 1
mov dword [0xaaccdc], eax
mov eax, dword [0xaacce0]
add eax, 1
mov dword [0xaacce0], eax
mov edx, dword [0xaacce0]
mov eax, dword [0xaaccd0]
cmp edx, eax
setl al
test al, al
jne 0x429820
mov edx, dword [0x641e2c]
mov eax, dword [0xaacccc]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x429923
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.00414d4a
jmp 0x4299d6
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x4299a3
mov dword [esp], 0x4ef356
call fcn.004149cf
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00414d4a
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 0x429995
cmp dword [ebp - 0x2c], 0xa
jne 0x42996e
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x4ef357
call fcn.004149cf
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4299c3
mov dword [esp], 0xa
call fcn.00484b2c
jmp 0x4299c3
mov dword [esp], 0xa
call fcn.00484b2c
call fcn.00416d4b
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00414d4a
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.00425a8b
movzx eax, byte [0x51e279]
test al, al
jne 0x429f41
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4296be
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x429bb9
mov eax, dword [0xaaccc8]
test eax, eax
je 0x429bb9
mov dword [0xaaccc8], 0
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaaccec], eax
mov eax, dword [0x641e2c]
mov byte [eax + 0x50], 1
mov edx, dword [0x631450]
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaaccf0], eax
mov edx, dword [0x631454]
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaaccf4], eax
mov eax, dword [0xaaccf4]
test eax, eax
jne 0x429a7d
mov dword [0xaaccf4], 1
mov eax, dword [0xaaccf4]
mov dword [0xaaccf8], eax
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x429ab2
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x429ab2
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x429abc
mov dword [0xaaccf8], 1
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaaccf0]
imul eax, edx
mov dword [0xaaccfc], eax
mov dword [0xaacd00], 0
jmp 0x429b93
mov eax, dword [0x641e2c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaaccf4]
imul eax, edx
mov dword [0xaacd04], eax
mov dword [0xaacd08], 0
jmp 0x429b65
mov edx, dword [0xaaccfc]
mov eax, dword [0xaacd04]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00422f82
mov edx, eax
mov eax, dword [0x641e2c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaaccfc]
mov eax, dword [0xaacd04]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040a5e4
mov eax, dword [0xaacd04]
add eax, 1
mov dword [0xaacd04], eax
mov eax, dword [0xaacd08]
add eax, 1
mov dword [0xaacd08], eax
mov edx, dword [0xaacd08]
mov eax, dword [0xaaccf8]
cmp edx, eax
setl al
test al, al
jne 0x429b0b
mov eax, dword [0xaaccfc]
add eax, 1
mov dword [0xaaccfc], eax
mov eax, dword [0xaacd00]
add eax, 1
mov dword [0xaacd00], eax
mov edx, dword [0xaacd00]
mov eax, dword [0xaaccf0]
cmp edx, eax
setl al
test al, al
jne 0x429ae5
mov edx, dword [0x641e2c]
mov eax, dword [0xaaccec]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x429bdd
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0042500c
jmp 0x427e76
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x427e60
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x429c19
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 0x427e76
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x427e63
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x427e66
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x427e69
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x427e6c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x427e6f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x427e72
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x429d9c
mov dword [ebp - 0x1c], 1
jmp 0x429ca8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa86c80]
mov dword [esp], eax
call fcn.00414156
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x429c92
cmp byte [ebp - 0x9c], 0
je 0x429cee
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x429cee
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0042500c
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00414156
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00414156
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00414156
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00414156
mov eax, dword [0x641e2c]
mov edx, dword [0xa87084]
mov byte [eax + 0x3c], dl
mov eax, dword [0xaacc90]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0043ad8b
mov eax, dword [0xaacc94]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0043ad8b
mov eax, dword [0xaacc88]
test eax, eax
jne 0x429d89
mov dword [0x4e5298], 0xffffffff
jmp 0x429d7b
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x4e5298]
test eax, eax
setne al
test al, al
jne 0x429d6a
mov eax, dword [0xaacc8c]
mov dword [esp], eax
call fcn.0043af6f
nop
jmp 0x429f42
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x429ed5
jmp 0x429db5
nop
jmp 0x429db5
nop
jmp 0x429db5
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4296b1
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.0043b0b5
mov dword [ebp - 0x20], eax
mov edx, dword [0xaacc94]
mov eax, dword [0xaacc90]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041aaf1
mov eax, dword [0xaacc94]
mov dword [esp], eax
call fcn.0043b00c
mov edx, dword [0x641e2c]
mov eax, dword [0xaacc98]
mov word [edx + 0x38], ax
mov edx, dword [0x641e2c]
mov eax, dword [0xaacc9c]
mov word [edx + 0x3a], ax
mov edx, dword [0x641e2c]
mov eax, dword [0xaacca0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x429e5e
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.0042500c
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 0x429e33
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0043b00c
mov edx, dword [0xaacc94]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0041aaf1
mov ecx, dword [0x641e2c]
mov edx, dword [0x641e04]
mov eax, dword [0xaacc94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x641e2c]
mov edx, dword [0x641e04]
mov eax, dword [0xaacc94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x427e76
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x427e75
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0041550e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [0x641e2c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x429f27
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0042500c
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00414d4a
jmp 0x427e76
nop
jmp 0x429f42
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret