Function at 0x475a8f
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 [0x58528c]
test eax, eax
jne 0x477e47
mov eax, dword [0x5392d8]
mov dword [0xa561c8], eax
mov dword [0x5392d8], 1
call fcn.0048a1fd
mov dword [0xa561cc], eax
call fcn.0048a209
mov dword [esp], eax
call fcn.0048a0c3
call fcn.0048a209
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00489b0a
mov dword [0xa561d0], eax
mov eax, dword [0xa561d0]
cmp eax, 0xffffffff
jne 0x475b14
mov dword [esp], 0x204
call fcn.00461298
call fcn.0048a209
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00489b0a
mov dword [0xa561d4], eax
mov eax, dword [0xa561d4]
cmp eax, 0xffffffff
jne 0x475b4c
mov dword [esp], 0x205
call fcn.00461298
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa561d8], eax
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa561dc], eax
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa561e0], eax
mov eax, dword [0x539014]
mov dword [ebp - 0x74], eax
mov dword [0xa561e4], 0
mov eax, dword [0x6956e4]
and eax, 0x40000000
test eax, eax
je 0x475bbd
mov eax, dword [0x6956e4]
and eax, 0x200
test eax, eax
je 0x475bbd
mov dword [0x6956e4], 0xfffffe00
mov dword [0xa561e4], 1
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa306a4], eax
mov eax, dword [0x6ab86c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004629b2
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004629b2
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004629b2
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.004629b2
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x475c6a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004629b2
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa302a0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x475c46
mov dword [ebp - 0x1c], 1
jmp 0x475d33
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
je 0x475cea
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x475cd9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x475cea
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1000000
test eax, eax
jne 0x475d2f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
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 0x475c83
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
jmp 0x475d5c
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa302a4]
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 0x475e9a
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 0x475df6
cmp dword [ebp - 0x20], 1
je 0x475df6
mov eax, dword [0xa561e4]
test eax, eax
jne 0x475df6
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x475dd9
mov dword [ebp - 0x3c], 1
jmp 0x475e9a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x475e91
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 0x475e35
cmp dword [ebp - 0x38], 0
je 0x475e26
mov eax, dword [0xa561e4]
test eax, eax
jne 0x475e26
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x475e91
cmp dword [ebp - 0x20], 1
jne 0x475e35
mov dword [ebp - 0x20], 2
jmp 0x475e91
cmp dword [ebp - 0x20], 2
je 0x477cb7
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 + 0xa302a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004632dd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x475d8b
cmp dword [ebp - 0x3c], 0
jne 0x477cba
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
jne 0x4763cb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
jne 0x4763cb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4763cb
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x475f4d
mov dword [ebp - 0x88], 0x30
jmp 0x47637b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
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 0x475f84
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 + 0xa302a0]
mov dword [esp], eax
call fcn.0047571f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x476156
mov eax, dword [0xa2fe78]
mov edx, dword [0xa2fe7c]
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 0x475fe5
cmp edx, dword [ebp - 0x4c]
ja 0x475fdc
cmp eax, dword [ebp - 0x50]
jbe 0x475fe5
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x24], 1
jne 0x476088
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 0x476040
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 0x476029
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 0x47600b
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x476062
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x8c], 1
jne 0x476075
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x476088
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x47613f
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 0x4760f7
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 0x4760e0
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 0x4760ae
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x476119
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x8c], 1
jne 0x47612c
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47613f
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 0x47637b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x476179
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x47619d
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 + 0x6956e0]
and eax, 0x10000000
test eax, eax
jne 0x4761e9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4761e9
cmp dword [ebp - 0x8c], 1
jne 0x4761e1
mov dword [ebp - 0x88], 0x30
jmp 0x47637b
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 0x476212
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x476212
mov byte [ebp - 0x3d], 0
jmp 0x477579
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 0x476337
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 0x476302
cmp dword [ebp - 0x24], 9
jg 0x476302
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 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x4762c0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x47630b
cmp edx, dword [ebp - 0x4c]
ja 0x4762b7
cmp eax, dword [ebp - 0x50]
jbe 0x47630b
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp byte [ebp - 0x3e], 0
je 0x4762e4
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x47630b
cmp edx, dword [ebp - 0x54]
ja 0x4762db
cmp eax, dword [ebp - 0x58]
jbe 0x47630b
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x47630b
cmp edx, dword [ebp - 0x4c]
ja 0x4762f9
cmp eax, dword [ebp - 0x50]
jbe 0x47630b
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov byte [ebp - 0x3d], 0
jmp 0x477579
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 0x47623f
cmp byte [ebp - 0x3e], 0
je 0x476369
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 0x47637b
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 + 0x6956e0]
and eax, 0x1000000
test eax, eax
jne 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
je 0x476433
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x47640e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x47640e
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa302a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
jne 0x4767d9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
jne 0x4767d9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4767d9
cmp dword [ebp - 0x8c], 0
jne 0x4764a8
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp], eax
call fcn.0047571f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x47655a
mov eax, dword [0xa2fe78]
mov edx, dword [0xa2fe7c]
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 0x4764fb
cmp edx, dword [ebp - 0x4c]
ja 0x4764f2
cmp eax, dword [ebp - 0x50]
jbe 0x4764fb
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x24], 1
jne 0x476514
cmp dword [ebp - 0x8c], 1
jne 0x476514
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x47652d
cmp dword [ebp - 0x8c], 1
jne 0x47652d
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x476540
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x477579
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
jne 0x4765bd
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4765bd
cmp dword [ebp - 0x8c], 1
jne 0x4765b5
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x477579
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 0x4765e6
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4765e6
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x47662f
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 0x47661e
cmp dword [ebp - 0x24], 9
jle 0x476627
mov byte [ebp - 0x3d], 0
jmp 0x477579
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 0x4765fb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x476672
cmp dword [ebp - 0x28], 0x13
jle 0x476722
cmp dword [ebp - 0x28], 0x14
jle 0x476668
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4766a3
cmp dword [ebp - 0x28], 0x12
jle 0x476725
cmp dword [ebp - 0x28], 0x13
jle 0x47668b
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp byte [ebp - 0x3e], 0
je 0x47669b
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4766a3
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x476713
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 0x476728
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 0x47670f
mov byte [ebp - 0x3d], 0
jmp 0x477579
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4766be
jmp 0x476729
nop
jmp 0x476729
nop
jmp 0x476729
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa302a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004632dd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x4767aa
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
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 0x477579
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
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 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
je 0x477579
mov dword [0xa561e8], 0
mov dword [0xa561ec], 0
mov dword [0xa561f0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa561f4], 0
mov dword [0xa30280], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476855
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [0x568fd8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476877
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4768ae
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6952c0]
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 0x4768c6
mov dword [ebp - 0x88], 0x30
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp], eax
call fcn.0047571f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x476bcb
mov eax, dword [0xa2fe78]
mov edx, dword [0xa2fe7c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x476914
cmp dword [ebp - 0x8c], 1
jne 0x476914
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x47692d
cmp dword [ebp - 0x8c], 1
jne 0x47692d
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x476940
mov dword [ebp - 0x88], 0x30
mov dword [0xa561f8], 0x7fffffff
mov dword [0xa561fc], 0
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
mov edx, eax
mov eax, 0
mov dword [0xa561f8], eax
mov dword [0xa561fc], edx
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
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 [0xa561f8], eax
mov dword [0xa561fc], edx
jmp 0x476aa2
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476a0a
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld dword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476a55
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x476aa2
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld xword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x476ac6
cmp edx, dword [ebp - 0x6c]
ja 0x476ac1
cmp eax, dword [ebp - 0x70]
jb 0x476ac6
mov ecx, 0
test cl, cl
jne 0x4769ae
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa561f8], eax
mov dword [0xa561fc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476b2a
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld dword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476b75
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x477575
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld xword [eax]
mov eax, dword [0xa561f8]
mov edx, dword [0xa561fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x477575
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 0x476c04
cmp dword [ebp - 0x8c], 1
jne 0x476bfc
mov dword [ebp - 0x88], 0x30
jmp 0x477579
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 0x476c4b
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x477578
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 0x476d0e
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x476cf5
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 0x476c82
cmp dword [ebp - 0x24], 0x64
je 0x476c82
cmp dword [ebp - 0x24], 0x45
je 0x476c82
cmp dword [ebp - 0x24], 0x65
jne 0x476c9e
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x476c93
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x476e24
cmp dword [ebp - 0x24], 0x2e
jne 0x476cac
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x476d0f
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x476cbc
cmp dword [ebp - 0x24], 9
jle 0x476cc5
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [0xa561e8]
add eax, 1
mov dword [0xa561e8], eax
mov edx, dword [0xa30280]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2fe80], al
mov eax, dword [0xa30280]
add eax, 1
mov dword [0xa30280], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x476c56
jmp 0x476ffe
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x476d33
mov dword [ebp - 0x88], 0x30
jmp 0x476ffe
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x476e0b
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 0x476d6e
cmp dword [ebp - 0x24], 0x64
je 0x476d6e
cmp dword [ebp - 0x24], 0x45
je 0x476d6e
cmp dword [ebp - 0x24], 0x65
jne 0x476d93
mov eax, dword [0xa30280]
test eax, eax
je 0x476d93
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x476d88
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x476e24
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x476da3
cmp dword [ebp - 0x24], 9
jle 0x476dac
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x24], 0
je 0x476db9
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x476dcc
mov eax, dword [0xa561f4]
add eax, 1
mov dword [0xa561f4], eax
mov eax, dword [0xa561ec]
add eax, 1
mov dword [0xa561ec], eax
mov eax, dword [0xa30280]
test eax, eax
jne 0x476de8
cmp dword [ebp - 0x24], 0
je 0x476e07
mov edx, dword [0xa30280]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2fe80], al
mov eax, dword [0xa30280]
add eax, 1
mov dword [0xa30280], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x476d42
jmp 0x476ffe
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476e61
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 0x476e58
cmp dword [ebp - 0x24], 0x64
jne 0x476e61
mov byte [ebp - 0x3d], 0
jmp 0x477579
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 0x476e81
cmp dword [ebp - 0x24], 0x64
jne 0x476e8f
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 0x476eac
mov dword [ebp - 0x88], 0x30
jmp 0x476ffe
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 0x476ef5
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x476ee7
mov dword [ebp - 0x88], 0x30
jmp 0x476ffe
mov dword [0xa561f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x476f1c
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x476f18
mov dword [ebp - 0x88], 0x30
jmp 0x476ffe
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 0x476f45
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x476f45
mov byte [ebp - 0x3d], 0
jmp 0x477579
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 0x476fed
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 0x476fe4
cmp dword [ebp - 0x24], 9
jg 0x476fe4
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 0x476fed
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x476f6f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x47726c
mov eax, dword [0xa561f0]
test eax, eax
je 0x477029
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa561f4]
cmp eax, 1
jne 0x477051
mov eax, dword [0xa561ec]
cmp eax, 1
jne 0x477051
mov dword [0xa561ec], 0
mov dword [0xa561f4], 0
mov eax, dword [0xa561f4]
cmp eax, 0x2b
jle 0x477064
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [0xa561e8]
test eax, eax
jne 0x477080
mov edx, dword [0xa561ec]
mov eax, dword [0xa561f4]
cmp edx, eax
je 0x4771fa
mov eax, dword [0xa561e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x477098
mov eax, dword [0xa561f4]
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 0x4770b2
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0x27
jne 0x477129
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30280]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4770d5
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x477119
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4770fc
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x477128
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 0x4770de
jmp 0x477129
nop
mov eax, dword [0xa561ec]
test eax, eax
je 0x477175
mov eax, dword [0xa561e8]
test eax, eax
je 0x477156
mov edx, dword [0xa561ec]
mov eax, dword [0xa561e8]
add eax, edx
cmp eax, 8
jle 0x477175
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov edx, dword [0xa561ec]
mov eax, dword [0xa561f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x477175
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x477184
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4771fe
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30280]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4771a7
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4771eb
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4771ce
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4771fd
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 0x4771b0
jmp 0x4771fe
nop
jmp 0x4771fe
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa302a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004632dd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5555f3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4774e8
mov eax, dword [0xa561f0]
test eax, eax
je 0x477297
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa561f4]
cmp eax, 1
jne 0x4772bf
mov eax, dword [0xa561ec]
cmp eax, 1
jne 0x4772bf
mov dword [0xa561ec], 0
mov dword [0xa561f4], 0
mov eax, dword [0xa561f4]
cmp eax, 0x142
jle 0x4772d4
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [0xa561e8]
test eax, eax
jne 0x4772f0
mov edx, dword [0xa561ec]
mov eax, dword [0xa561f4]
cmp edx, eax
je 0x477476
mov eax, dword [0xa561e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x477308
mov eax, dword [0xa561f4]
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 0x477325
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0x135
jne 0x47739f
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30280]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x47734b
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x47738f
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x477372
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x47739e
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 0x477354
jmp 0x47739f
nop
mov eax, dword [0xa561ec]
test eax, eax
je 0x4773eb
mov eax, dword [0xa561e8]
test eax, eax
je 0x4773cc
mov edx, dword [0xa561ec]
mov eax, dword [0xa561e8]
add eax, edx
cmp eax, 0x10
jle 0x4773eb
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov edx, dword [0xa561ec]
mov eax, dword [0xa561f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4773eb
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4773fd
mov byte [ebp - 0x3d], 0
jmp 0x477579
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x47747a
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30280]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x477423
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x477467
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x47744a
mov byte [ebp - 0x3d], 0
jmp 0x477579
mov eax, dword [ebp - 0x24]
add eax, 0xa2fe80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x477479
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 0x47742c
jmp 0x47747a
nop
jmp 0x47747a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa302a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004632dd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5555f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x477579
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x477579
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa302a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004632dd
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa302a0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa56200
mov dword [esp + 4], 0x5555f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [0xa56200]
fstp xword [eax]
jmp 0x477579
nop
jmp 0x477579
nop
cmp byte [ebp - 0x3d], 0
je 0x477cbd
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00462b19
jmp 0x477598
nop
mov dword [0xa56208], 0
jmp 0x4775a5
nop
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4777da
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4775e8
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4775e8
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x477622
call fcn.00456be7
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 0x477622
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa56208]
cmp dword [ebp - 0x1c], eax
je 0x4777da
mov eax, dword [0xa56208]
xor eax, 1
mov dword [0xa56208], eax
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5620c], eax
mov eax, dword [0x6ab86c]
mov byte [eax + 0x50], 1
mov edx, dword [0x69ae90]
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56210], eax
mov edx, dword [0x69ae94]
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56214], eax
mov eax, dword [0xa56214]
test eax, eax
jne 0x47769e
mov dword [0xa56214], 1
mov eax, dword [0xa56214]
mov dword [0xa56218], eax
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4776d3
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4776d3
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4776dd
mov dword [0xa56218], 1
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56210]
imul eax, edx
mov dword [0xa5621c], eax
mov dword [0xa56220], 0
jmp 0x4777b4
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56214]
imul eax, edx
mov dword [0xa56224], eax
mov dword [0xa56228], 0
jmp 0x477786
mov edx, dword [0xa5621c]
mov eax, dword [0xa56224]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00470ea4
mov edx, eax
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5621c]
mov eax, dword [0xa56224]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457d32
mov eax, dword [0xa56224]
add eax, 1
mov dword [0xa56224], eax
mov eax, dword [0xa56228]
add eax, 1
mov dword [0xa56228], eax
mov edx, dword [0xa56228]
mov eax, dword [0xa56218]
cmp edx, eax
setl al
test al, al
jne 0x47772c
mov eax, dword [0xa5621c]
add eax, 1
mov dword [0xa5621c], eax
mov eax, dword [0xa56220]
add eax, 1
mov dword [0xa56220], eax
mov edx, dword [0xa56220]
mov eax, dword [0xa56210]
cmp edx, eax
setl al
test al, al
jne 0x477706
mov edx, dword [0x6ab86c]
mov eax, dword [0xa5620c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x477809
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.00462b19
jmp 0x4778df
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x47788e
mov dword [esp], 0x54e206
call fcn.0046279e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462b19
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 0x47787b
cmp dword [ebp - 0x2c], 0xa
jne 0x477854
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x5555fa
call fcn.0046279e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4778cc
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x4778cc
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00464bf2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462b19
mov dword [0x69ab78], 1
call fcn.00426e15
mov dword [0x69ab78], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004b56d1
movzx eax, byte [0x585299]
test al, al
jne 0x477e4a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4775a4
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x477ac2
mov eax, dword [0xa56208]
test eax, eax
je 0x477ac2
mov dword [0xa56208], 0
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5622c], eax
mov eax, dword [0x6ab86c]
mov byte [eax + 0x50], 1
mov edx, dword [0x69ae90]
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56230], eax
mov edx, dword [0x69ae94]
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56234], eax
mov eax, dword [0xa56234]
test eax, eax
jne 0x477986
mov dword [0xa56234], 1
mov eax, dword [0xa56234]
mov dword [0xa56238], eax
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4779bb
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4779bb
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4779c5
mov dword [0xa56238], 1
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56230]
imul eax, edx
mov dword [0xa5623c], eax
mov dword [0xa56240], 0
jmp 0x477a9c
mov eax, dword [0x6ab86c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56234]
imul eax, edx
mov dword [0xa56244], eax
mov dword [0xa56248], 0
jmp 0x477a6e
mov edx, dword [0xa5623c]
mov eax, dword [0xa56244]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00470ea4
mov edx, eax
mov eax, dword [0x6ab86c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5623c]
mov eax, dword [0xa56244]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457d32
mov eax, dword [0xa56244]
add eax, 1
mov dword [0xa56244], eax
mov eax, dword [0xa56248]
add eax, 1
mov dword [0xa56248], eax
mov edx, dword [0xa56248]
mov eax, dword [0xa56238]
cmp edx, eax
setl al
test al, al
jne 0x477a14
mov eax, dword [0xa5623c]
add eax, 1
mov dword [0xa5623c], eax
mov eax, dword [0xa56240]
add eax, 1
mov dword [0xa56240], eax
mov edx, dword [0xa56240]
mov eax, dword [0xa56230]
cmp edx, eax
setl al
test al, al
jne 0x4779ee
mov edx, dword [0x6ab86c]
mov eax, dword [0xa5622c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x477ae6
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00472f3a
jmp 0x475d5c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x475d46
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x477b22
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 0x475d5c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x475d49
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x475d4c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x475d4f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x475d52
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x475d55
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x475d58
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x477ca5
mov dword [ebp - 0x1c], 1
jmp 0x477bb1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa302a0]
mov dword [esp], eax
call fcn.00461f25
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x477b9b
cmp byte [ebp - 0x9c], 0
je 0x477bf7
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x477bf7
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00472f3a
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00461f25
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00461f25
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00461f25
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00461f25
mov eax, dword [0x6ab86c]
mov edx, dword [0xa306a4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa561d0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00489de7
mov eax, dword [0xa561d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00489de7
mov eax, dword [0xa561c8]
test eax, eax
jne 0x477c92
mov dword [0x5392d8], 0xffffffff
jmp 0x477c84
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5392d8]
test eax, eax
setne al
test al, al
jne 0x477c73
mov eax, dword [0xa561cc]
mov dword [esp], eax
call fcn.0048a0c3
nop
jmp 0x477e4b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x477dde
jmp 0x477cbe
nop
jmp 0x477cbe
nop
jmp 0x477cbe
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x477597
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.0048a209
mov dword [ebp - 0x20], eax
mov edx, dword [0xa561d4]
mov eax, dword [0xa561d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00468a13
mov eax, dword [0xa561d4]
mov dword [esp], eax
call fcn.0048a160
mov edx, dword [0x6ab86c]
mov eax, dword [0xa561d8]
mov word [edx + 0x38], ax
mov edx, dword [0x6ab86c]
mov eax, dword [0xa561dc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6ab86c]
mov eax, dword [0xa561e0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x477d67
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.00472f3a
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 0x477d3c
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0048a160
mov edx, dword [0xa561d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00468a13
mov ecx, dword [0x6ab86c]
mov edx, dword [0x6ab844]
mov eax, dword [0xa561d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6ab86c]
mov edx, dword [0x6ab844]
mov eax, dword [0xa561d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x475d5c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x475d5b
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004632dd
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00462b19
mov eax, dword [0x6ab86c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x477e30
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00472f3a
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00462b19
jmp 0x475d5c
nop
jmp 0x477e4b
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret