Function at 0x486f7f
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 [0x59828c]
test eax, eax
jne 0x489337
mov eax, dword [0x54b2d8]
mov dword [0xa694c8], eax
mov dword [0x54b2d8], 1
call fcn.0049b6ed
mov dword [0xa694cc], eax
call fcn.0049b6f9
mov dword [esp], eax
call fcn.0049b5b3
call fcn.0049b6f9
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0049affa
mov dword [0xa694d0], eax
mov eax, dword [0xa694d0]
cmp eax, 0xffffffff
jne 0x487004
mov dword [esp], 0x204
call fcn.00472788
call fcn.0049b6f9
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0049affa
mov dword [0xa694d4], eax
mov eax, dword [0xa694d4]
cmp eax, 0xffffffff
jne 0x48703c
mov dword [esp], 0x205
call fcn.00472788
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa694d8], eax
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa694dc], eax
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa694e0], eax
mov eax, dword [0x54b014]
mov dword [ebp - 0x74], eax
mov dword [0xa694e4], 0
mov eax, dword [0x6a86e4]
and eax, 0x40000000
test eax, eax
je 0x4870ad
mov eax, dword [0x6a86e4]
and eax, 0x200
test eax, eax
je 0x4870ad
mov dword [0x6a86e4], 0xfffffe00
mov dword [0xa694e4], 1
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa439a4], eax
mov eax, dword [0x6beb6c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00473ea2
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x48715a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00473ea2
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa435a0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x487136
mov dword [ebp - 0x1c], 1
jmp 0x487223
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x40000000
test eax, eax
je 0x4871da
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a82c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4871c9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a82c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a82c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x4871da
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a82c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1000000
test eax, eax
jne 0x48721f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6a82c0]
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 0x487173
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
jmp 0x48724c
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa435a4]
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 0x48738a
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 0x4872e6
cmp dword [ebp - 0x20], 1
je 0x4872e6
mov eax, dword [0xa694e4]
test eax, eax
jne 0x4872e6
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x4872c9
mov dword [ebp - 0x3c], 1
jmp 0x48738a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x487381
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 0x487325
cmp dword [ebp - 0x38], 0
je 0x487316
mov eax, dword [0xa694e4]
test eax, eax
jne 0x487316
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x487381
cmp dword [ebp - 0x20], 1
jne 0x487325
mov dword [ebp - 0x20], 2
jmp 0x487381
cmp dword [ebp - 0x20], 2
je 0x4891a7
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 + 0xa435a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004747cd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x48727b
cmp dword [ebp - 0x3c], 0
jne 0x4891aa
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x40000000
test eax, eax
jne 0x4878bb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x20000000
test eax, eax
jne 0x4878bb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4878bb
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x48743d
mov dword [ebp - 0x88], 0x30
jmp 0x48786b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
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 0x487474
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 + 0xa435a0]
mov dword [esp], eax
call fcn.00486c0f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x487646
mov eax, dword [0xa43178]
mov edx, dword [0xa4317c]
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 0x4874d5
cmp edx, dword [ebp - 0x4c]
ja 0x4874cc
cmp eax, dword [ebp - 0x50]
jbe 0x4874d5
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x24], 1
jne 0x487578
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 0x487530
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 0x487519
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 0x4874fb
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x487552
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x8c], 1
jne 0x487565
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x487578
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x48762f
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 0x4875e7
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 0x4875d0
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 0x48759e
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x487609
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x8c], 1
jne 0x48761c
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x48762f
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 0x48786b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
je 0x487669
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x48768d
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 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
jne 0x4876d9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4876d9
cmp dword [ebp - 0x8c], 1
jne 0x4876d1
mov dword [ebp - 0x88], 0x30
jmp 0x48786b
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 0x487702
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x487702
mov byte [ebp - 0x3d], 0
jmp 0x488a69
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 0x487827
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 0x4877f2
cmp dword [ebp - 0x24], 9
jg 0x4877f2
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 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
je 0x4877b0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4877fb
cmp edx, dword [ebp - 0x4c]
ja 0x4877a7
cmp eax, dword [ebp - 0x50]
jbe 0x4877fb
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp byte [ebp - 0x3e], 0
je 0x4877d4
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x4877fb
cmp edx, dword [ebp - 0x54]
ja 0x4877cb
cmp eax, dword [ebp - 0x58]
jbe 0x4877fb
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4877fb
cmp edx, dword [ebp - 0x4c]
ja 0x4877e9
cmp eax, dword [ebp - 0x50]
jbe 0x4877fb
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov byte [ebp - 0x3d], 0
jmp 0x488a69
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 0x48772f
cmp byte [ebp - 0x3e], 0
je 0x487859
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 0x48786b
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 + 0x6a86e0]
and eax, 0x1000000
test eax, eax
jne 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x40000000
test eax, eax
je 0x487923
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4878fe
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x4878fe
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa435a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x40000000
test eax, eax
jne 0x487cc9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x20000000
test eax, eax
jne 0x487cc9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x487cc9
cmp dword [ebp - 0x8c], 0
jne 0x487998
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp], eax
call fcn.00486c0f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x487a4a
mov eax, dword [0xa43178]
mov edx, dword [0xa4317c]
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 0x4879eb
cmp edx, dword [ebp - 0x4c]
ja 0x4879e2
cmp eax, dword [ebp - 0x50]
jbe 0x4879eb
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x24], 1
jne 0x487a04
cmp dword [ebp - 0x8c], 1
jne 0x487a04
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x487a1d
cmp dword [ebp - 0x8c], 1
jne 0x487a1d
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x487a30
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x488a69
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
jne 0x487aad
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x487aad
cmp dword [ebp - 0x8c], 1
jne 0x487aa5
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x488a69
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 0x487ad6
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x487ad6
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x487b1f
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 0x487b0e
cmp dword [ebp - 0x24], 9
jle 0x487b17
mov byte [ebp - 0x3d], 0
jmp 0x488a69
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 0x487aeb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
je 0x487b62
cmp dword [ebp - 0x28], 0x13
jle 0x487c12
cmp dword [ebp - 0x28], 0x14
jle 0x487b58
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x487b93
cmp dword [ebp - 0x28], 0x12
jle 0x487c15
cmp dword [ebp - 0x28], 0x13
jle 0x487b7b
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp byte [ebp - 0x3e], 0
je 0x487b8b
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x487b93
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x487c03
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 0x487c18
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 0x487bff
mov byte [ebp - 0x3d], 0
jmp 0x488a69
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x487bae
jmp 0x487c19
nop
jmp 0x487c19
nop
jmp 0x487c19
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa435a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004747cd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x10000000
test eax, eax
je 0x487c9a
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
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 0x488a69
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
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 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x20000000
test eax, eax
je 0x488a69
mov dword [0xa694e8], 0
mov dword [0xa694ec], 0
mov dword [0xa694f0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa694f4], 0
mov dword [0xa43580], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x487d45
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6a82c0]
mov eax, dword [0x57b2d8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x487d67
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x487d9e
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6a82c0]
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 0x487db6
mov dword [ebp - 0x88], 0x30
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp], eax
call fcn.00486c0f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4880bb
mov eax, dword [0xa43178]
mov edx, dword [0xa4317c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x487e04
cmp dword [ebp - 0x8c], 1
jne 0x487e04
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x487e1d
cmp dword [ebp - 0x8c], 1
jne 0x487e1d
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x487e30
mov dword [ebp - 0x88], 0x30
mov dword [0xa694f8], 0x7fffffff
mov dword [0xa694fc], 0
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
mov edx, eax
mov eax, 0
mov dword [0xa694f8], eax
mov dword [0xa694fc], edx
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
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 [0xa694f8], eax
mov dword [0xa694fc], edx
jmp 0x487f92
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x487efa
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld dword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
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 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x487f45
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld qword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
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 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x487f92
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld xword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x487fb6
cmp edx, dword [ebp - 0x6c]
ja 0x487fb1
cmp eax, dword [ebp - 0x70]
jb 0x487fb6
mov ecx, 0
test cl, cl
jne 0x487e9e
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa694f8], eax
mov dword [0xa694fc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x48801a
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld dword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
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 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x488065
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld qword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
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 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x488a65
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld xword [eax]
mov eax, dword [0xa694f8]
mov edx, dword [0xa694fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x488a65
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 0x4880f4
cmp dword [ebp - 0x8c], 1
jne 0x4880ec
mov dword [ebp - 0x88], 0x30
jmp 0x488a69
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 0x48813b
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x488a68
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 0x4881fe
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4881e5
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 0x488172
cmp dword [ebp - 0x24], 0x64
je 0x488172
cmp dword [ebp - 0x24], 0x45
je 0x488172
cmp dword [ebp - 0x24], 0x65
jne 0x48818e
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x488183
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x488314
cmp dword [ebp - 0x24], 0x2e
jne 0x48819c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4881ff
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4881ac
cmp dword [ebp - 0x24], 9
jle 0x4881b5
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [0xa694e8]
add eax, 1
mov dword [0xa694e8], eax
mov edx, dword [0xa43580]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa43180], al
mov eax, dword [0xa43580]
add eax, 1
mov dword [0xa43580], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x488146
jmp 0x4884ee
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x488223
mov dword [ebp - 0x88], 0x30
jmp 0x4884ee
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4882fb
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 0x48825e
cmp dword [ebp - 0x24], 0x64
je 0x48825e
cmp dword [ebp - 0x24], 0x45
je 0x48825e
cmp dword [ebp - 0x24], 0x65
jne 0x488283
mov eax, dword [0xa43580]
test eax, eax
je 0x488283
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x488278
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x488314
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x488293
cmp dword [ebp - 0x24], 9
jle 0x48829c
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x24], 0
je 0x4882a9
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x4882bc
mov eax, dword [0xa694f4]
add eax, 1
mov dword [0xa694f4], eax
mov eax, dword [0xa694ec]
add eax, 1
mov dword [0xa694ec], eax
mov eax, dword [0xa43580]
test eax, eax
jne 0x4882d8
cmp dword [ebp - 0x24], 0
je 0x4882f7
mov edx, dword [0xa43580]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa43180], al
mov eax, dword [0xa43580]
add eax, 1
mov dword [0xa43580], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x488232
jmp 0x4884ee
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x488351
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 0x488348
cmp dword [ebp - 0x24], 0x64
jne 0x488351
mov byte [ebp - 0x3d], 0
jmp 0x488a69
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 0x488371
cmp dword [ebp - 0x24], 0x64
jne 0x48837f
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 0x48839c
mov dword [ebp - 0x88], 0x30
jmp 0x4884ee
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 0x4883e5
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4883d7
mov dword [ebp - 0x88], 0x30
jmp 0x4884ee
mov dword [0xa694f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x48840c
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x488408
mov dword [ebp - 0x88], 0x30
jmp 0x4884ee
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 0x488435
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x488435
mov byte [ebp - 0x3d], 0
jmp 0x488a69
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 0x4884dd
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 0x4884d4
cmp dword [ebp - 0x24], 9
jg 0x4884d4
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 0x4884dd
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x48845f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x48875c
mov eax, dword [0xa694f0]
test eax, eax
je 0x488519
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa694f4]
cmp eax, 1
jne 0x488541
mov eax, dword [0xa694ec]
cmp eax, 1
jne 0x488541
mov dword [0xa694ec], 0
mov dword [0xa694f4], 0
mov eax, dword [0xa694f4]
cmp eax, 0x2b
jle 0x488554
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [0xa694e8]
test eax, eax
jne 0x488570
mov edx, dword [0xa694ec]
mov eax, dword [0xa694f4]
cmp edx, eax
je 0x4886ea
mov eax, dword [0xa694e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x488588
mov eax, dword [0xa694f4]
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 0x4885a2
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0x27
jne 0x488619
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa43580]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4885c5
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x488609
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4885ec
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x488618
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 0x4885ce
jmp 0x488619
nop
mov eax, dword [0xa694ec]
test eax, eax
je 0x488665
mov eax, dword [0xa694e8]
test eax, eax
je 0x488646
mov edx, dword [0xa694ec]
mov eax, dword [0xa694e8]
add eax, edx
cmp eax, 8
jle 0x488665
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov edx, dword [0xa694ec]
mov eax, dword [0xa694f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x488665
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x488674
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4886ee
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa43580]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x488697
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4886db
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4886be
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4886ed
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 0x4886a0
jmp 0x4886ee
nop
jmp 0x4886ee
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa435a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004747cd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5678f3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4889d8
mov eax, dword [0xa694f0]
test eax, eax
je 0x488787
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa694f4]
cmp eax, 1
jne 0x4887af
mov eax, dword [0xa694ec]
cmp eax, 1
jne 0x4887af
mov dword [0xa694ec], 0
mov dword [0xa694f4], 0
mov eax, dword [0xa694f4]
cmp eax, 0x142
jle 0x4887c4
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [0xa694e8]
test eax, eax
jne 0x4887e0
mov edx, dword [0xa694ec]
mov eax, dword [0xa694f4]
cmp edx, eax
je 0x488966
mov eax, dword [0xa694e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4887f8
mov eax, dword [0xa694f4]
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 0x488815
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0x135
jne 0x48888f
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa43580]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x48883b
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x48887f
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x488862
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x48888e
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 0x488844
jmp 0x48888f
nop
mov eax, dword [0xa694ec]
test eax, eax
je 0x4888db
mov eax, dword [0xa694e8]
test eax, eax
je 0x4888bc
mov edx, dword [0xa694ec]
mov eax, dword [0xa694e8]
add eax, edx
cmp eax, 0x10
jle 0x4888db
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov edx, dword [0xa694ec]
mov eax, dword [0xa694f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4888db
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4888ed
mov byte [ebp - 0x3d], 0
jmp 0x488a69
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x48896a
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa43580]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x488913
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x488957
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x48893a
mov byte [ebp - 0x3d], 0
jmp 0x488a69
mov eax, dword [ebp - 0x24]
add eax, 0xa43180
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x488969
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 0x48891c
jmp 0x48896a
nop
jmp 0x48896a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa435a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004747cd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6a82c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5678f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x488a69
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a86e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x488a69
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa435a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004747cd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00474009
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa435a0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa69500
mov dword [esp + 4], 0x5678f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6a82c0]
fld qword [0xa69500]
fstp xword [eax]
jmp 0x488a69
nop
jmp 0x488a69
nop
cmp byte [ebp - 0x3d], 0
je 0x4891ad
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00474009
jmp 0x488a88
nop
mov dword [0xa69508], 0
jmp 0x488a95
nop
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x488cca
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x488ad8
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x488ad8
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x488b12
call fcn.004680d7
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 0x488b12
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa69508]
cmp dword [ebp - 0x1c], eax
je 0x488cca
mov eax, dword [0xa69508]
xor eax, 1
mov dword [0xa69508], eax
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa6950c], eax
mov eax, dword [0x6beb6c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6ae190]
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa69510], eax
mov edx, dword [0x6ae194]
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa69514], eax
mov eax, dword [0xa69514]
test eax, eax
jne 0x488b8e
mov dword [0xa69514], 1
mov eax, dword [0xa69514]
mov dword [0xa69518], eax
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x488bc3
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x488bc3
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x488bcd
mov dword [0xa69518], 1
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa69510]
imul eax, edx
mov dword [0xa6951c], eax
mov dword [0xa69520], 0
jmp 0x488ca4
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa69514]
imul eax, edx
mov dword [0xa69524], eax
mov dword [0xa69528], 0
jmp 0x488c76
mov edx, dword [0xa6951c]
mov eax, dword [0xa69524]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00482394
mov edx, eax
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa6951c]
mov eax, dword [0xa69524]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00469222
mov eax, dword [0xa69524]
add eax, 1
mov dword [0xa69524], eax
mov eax, dword [0xa69528]
add eax, 1
mov dword [0xa69528], eax
mov edx, dword [0xa69528]
mov eax, dword [0xa69518]
cmp edx, eax
setl al
test al, al
jne 0x488c1c
mov eax, dword [0xa6951c]
add eax, 1
mov dword [0xa6951c], eax
mov eax, dword [0xa69520]
add eax, 1
mov dword [0xa69520], eax
mov edx, dword [0xa69520]
mov eax, dword [0xa69510]
cmp edx, eax
setl al
test al, al
jne 0x488bf6
mov edx, dword [0x6beb6c]
mov eax, dword [0xa6950c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x488cf9
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.00474009
jmp 0x488dcf
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x488d7e
mov dword [esp], 0x560506
call fcn.00473c8e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00474009
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 0x488d6b
cmp dword [ebp - 0x2c], 0xa
jne 0x488d44
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x5678fa
call fcn.00473c8e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00474009
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x488dbc
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x488dbc
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.004760e2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00474009
mov dword [0x6ade78], 1
call fcn.00438306
mov dword [0x6ade78], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004c6bc1
movzx eax, byte [0x598299]
test al, al
jne 0x48933a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x488a94
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x488fb2
mov eax, dword [0xa69508]
test eax, eax
je 0x488fb2
mov dword [0xa69508], 0
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa6952c], eax
mov eax, dword [0x6beb6c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6ae190]
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa69530], eax
mov edx, dword [0x6ae194]
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa69534], eax
mov eax, dword [0xa69534]
test eax, eax
jne 0x488e76
mov dword [0xa69534], 1
mov eax, dword [0xa69534]
mov dword [0xa69538], eax
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x488eab
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x488eab
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x488eb5
mov dword [0xa69538], 1
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa69530]
imul eax, edx
mov dword [0xa6953c], eax
mov dword [0xa69540], 0
jmp 0x488f8c
mov eax, dword [0x6beb6c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa69534]
imul eax, edx
mov dword [0xa69544], eax
mov dword [0xa69548], 0
jmp 0x488f5e
mov edx, dword [0xa6953c]
mov eax, dword [0xa69544]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00482394
mov edx, eax
mov eax, dword [0x6beb6c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa6953c]
mov eax, dword [0xa69544]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00469222
mov eax, dword [0xa69544]
add eax, 1
mov dword [0xa69544], eax
mov eax, dword [0xa69548]
add eax, 1
mov dword [0xa69548], eax
mov edx, dword [0xa69548]
mov eax, dword [0xa69538]
cmp edx, eax
setl al
test al, al
jne 0x488f04
mov eax, dword [0xa6953c]
add eax, 1
mov dword [0xa6953c], eax
mov eax, dword [0xa69540]
add eax, 1
mov dword [0xa69540], eax
mov edx, dword [0xa69540]
mov eax, dword [0xa69530]
cmp edx, eax
setl al
test al, al
jne 0x488ede
mov edx, dword [0x6beb6c]
mov eax, dword [0xa6952c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x488fd6
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0048442a
jmp 0x48724c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x487236
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x489012
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 0x48724c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x487239
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x48723c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x48723f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x487242
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x487245
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x487248
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x489195
mov dword [ebp - 0x1c], 1
jmp 0x4890a1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa435a0]
mov dword [esp], eax
call fcn.00473415
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x48908b
cmp byte [ebp - 0x9c], 0
je 0x4890e7
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4890e7
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0048442a
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00473415
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00473415
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00473415
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00473415
mov eax, dword [0x6beb6c]
mov edx, dword [0xa439a4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa694d0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0049b2d7
mov eax, dword [0xa694d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0049b2d7
mov eax, dword [0xa694c8]
test eax, eax
jne 0x489182
mov dword [0x54b2d8], 0xffffffff
jmp 0x489174
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x54b2d8]
test eax, eax
setne al
test al, al
jne 0x489163
mov eax, dword [0xa694cc]
mov dword [esp], eax
call fcn.0049b5b3
nop
jmp 0x48933b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x4892ce
jmp 0x4891ae
nop
jmp 0x4891ae
nop
jmp 0x4891ae
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x488a87
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.0049b6f9
mov dword [ebp - 0x20], eax
mov edx, dword [0xa694d4]
mov eax, dword [0xa694d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00479f03
mov eax, dword [0xa694d4]
mov dword [esp], eax
call fcn.0049b650
mov edx, dword [0x6beb6c]
mov eax, dword [0xa694d8]
mov word [edx + 0x38], ax
mov edx, dword [0x6beb6c]
mov eax, dword [0xa694dc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6beb6c]
mov eax, dword [0xa694e0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x489257
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.0048442a
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 0x48922c
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0049b650
mov edx, dword [0xa694d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00479f03
mov ecx, dword [0x6beb6c]
mov edx, dword [0x6beb44]
mov eax, dword [0xa694d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6beb6c]
mov edx, dword [0x6beb44]
mov eax, dword [0xa694d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x48724c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x48724b
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004747cd
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00474009
mov eax, dword [0x6beb6c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x489320
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0048442a
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00474009
jmp 0x48724c
nop
jmp 0x48933b
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret