Function at 0x47022f
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 [0x58028c]
test eax, eax
jne 0x4725e7
mov eax, dword [0x5342d8]
mov dword [0xa50fa8], eax
mov dword [0x5342d8], 1
call fcn.0048499d
mov dword [0xa50fac], eax
call fcn.004849a9
mov dword [esp], eax
call fcn.00484863
call fcn.004849a9
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004842aa
mov dword [0xa50fb0], eax
mov eax, dword [0xa50fb0]
cmp eax, 0xffffffff
jne 0x4702b4
mov dword [esp], 0x204
call fcn.0045ba38
call fcn.004849a9
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004842aa
mov dword [0xa50fb4], eax
mov eax, dword [0xa50fb4]
cmp eax, 0xffffffff
jne 0x4702ec
mov dword [esp], 0x205
call fcn.0045ba38
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa50fb8], eax
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa50fbc], eax
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa50fc0], eax
mov eax, dword [0x534014]
mov dword [ebp - 0x74], eax
mov dword [0xa50fc4], 0
mov eax, dword [0x6906e4]
and eax, 0x40000000
test eax, eax
je 0x47035d
mov eax, dword [0x6906e4]
and eax, 0x200
test eax, eax
je 0x47035d
mov dword [0x6906e4], 0xfffffe00
mov dword [0xa50fc4], 1
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa2b484], eax
mov eax, dword [0x6a664c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045d152
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045d152
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045d152
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0045d152
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x47040a
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045d152
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa2b080], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4703e6
mov dword [ebp - 0x1c], 1
jmp 0x4704d3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x40000000
test eax, eax
je 0x47048a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6902c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x470479
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6902c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6902c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x47048a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6902c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1000000
test eax, eax
jne 0x4704cf
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6902c0]
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 0x470423
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
jmp 0x4704fc
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa2b084]
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 0x47063a
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 0x470596
cmp dword [ebp - 0x20], 1
je 0x470596
mov eax, dword [0xa50fc4]
test eax, eax
jne 0x470596
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x470579
mov dword [ebp - 0x3c], 1
jmp 0x47063a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x470631
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 0x4705d5
cmp dword [ebp - 0x38], 0
je 0x4705c6
mov eax, dword [0xa50fc4]
test eax, eax
jne 0x4705c6
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x470631
cmp dword [ebp - 0x20], 1
jne 0x4705d5
mov dword [ebp - 0x20], 2
jmp 0x470631
cmp dword [ebp - 0x20], 2
je 0x472457
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 + 0xa2b080]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045da7d
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x47052b
cmp dword [ebp - 0x3c], 0
jne 0x47245a
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x40000000
test eax, eax
jne 0x470b6b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x20000000
test eax, eax
jne 0x470b6b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x470b6b
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4706ed
mov dword [ebp - 0x88], 0x30
jmp 0x470b1b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
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 0x470724
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 + 0xa2b080]
mov dword [esp], eax
call fcn.0046febf
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4708f6
mov eax, dword [0xa2ac58]
mov edx, dword [0xa2ac5c]
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 0x470785
cmp edx, dword [ebp - 0x4c]
ja 0x47077c
cmp eax, dword [ebp - 0x50]
jbe 0x470785
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x24], 1
jne 0x470828
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 0x4707e0
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 0x4707c9
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 0x4707ab
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x470802
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x8c], 1
jne 0x470815
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x470828
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x4708df
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 0x470897
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 0x470880
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 0x47084e
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4708b9
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x8c], 1
jne 0x4708cc
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4708df
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 0x470b1b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x10000000
test eax, eax
je 0x470919
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x47093d
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 + 0x6906e0]
and eax, 0x10000000
test eax, eax
jne 0x470989
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x470989
cmp dword [ebp - 0x8c], 1
jne 0x470981
mov dword [ebp - 0x88], 0x30
jmp 0x470b1b
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 0x4709b2
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4709b2
mov byte [ebp - 0x3d], 0
jmp 0x471d19
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 0x470ad7
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 0x470aa2
cmp dword [ebp - 0x24], 9
jg 0x470aa2
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 + 0x6906e0]
and eax, 0x10000000
test eax, eax
je 0x470a60
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x470aab
cmp edx, dword [ebp - 0x4c]
ja 0x470a57
cmp eax, dword [ebp - 0x50]
jbe 0x470aab
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp byte [ebp - 0x3e], 0
je 0x470a84
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x470aab
cmp edx, dword [ebp - 0x54]
ja 0x470a7b
cmp eax, dword [ebp - 0x58]
jbe 0x470aab
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x470aab
cmp edx, dword [ebp - 0x4c]
ja 0x470a99
cmp eax, dword [ebp - 0x50]
jbe 0x470aab
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov byte [ebp - 0x3d], 0
jmp 0x471d19
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 0x4709df
cmp byte [ebp - 0x3e], 0
je 0x470b09
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 0x470b1b
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 + 0x6906e0]
and eax, 0x1000000
test eax, eax
jne 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x40000000
test eax, eax
je 0x470bd3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x470bae
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x470bae
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2b080]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x40000000
test eax, eax
jne 0x470f79
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x20000000
test eax, eax
jne 0x470f79
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x470f79
cmp dword [ebp - 0x8c], 0
jne 0x470c48
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp], eax
call fcn.0046febf
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x470cfa
mov eax, dword [0xa2ac58]
mov edx, dword [0xa2ac5c]
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 0x470c9b
cmp edx, dword [ebp - 0x4c]
ja 0x470c92
cmp eax, dword [ebp - 0x50]
jbe 0x470c9b
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x24], 1
jne 0x470cb4
cmp dword [ebp - 0x8c], 1
jne 0x470cb4
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x470ccd
cmp dword [ebp - 0x8c], 1
jne 0x470ccd
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x470ce0
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x471d19
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x10000000
test eax, eax
jne 0x470d5d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x470d5d
cmp dword [ebp - 0x8c], 1
jne 0x470d55
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x471d19
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 0x470d86
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x470d86
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x470dcf
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 0x470dbe
cmp dword [ebp - 0x24], 9
jle 0x470dc7
mov byte [ebp - 0x3d], 0
jmp 0x471d19
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 0x470d9b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x10000000
test eax, eax
je 0x470e12
cmp dword [ebp - 0x28], 0x13
jle 0x470ec2
cmp dword [ebp - 0x28], 0x14
jle 0x470e08
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x470e43
cmp dword [ebp - 0x28], 0x12
jle 0x470ec5
cmp dword [ebp - 0x28], 0x13
jle 0x470e2b
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp byte [ebp - 0x3e], 0
je 0x470e3b
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x470e43
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x470eb3
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 0x470ec8
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 0x470eaf
mov byte [ebp - 0x3d], 0
jmp 0x471d19
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x470e5e
jmp 0x470ec9
nop
jmp 0x470ec9
nop
jmp 0x470ec9
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2b080]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045da7d
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x10000000
test eax, eax
je 0x470f4a
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
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 0x471d19
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
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 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x20000000
test eax, eax
je 0x471d19
mov dword [0xa50fc8], 0
mov dword [0xa50fcc], 0
mov dword [0xa50fd0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa50fd4], 0
mov dword [0xa2b060], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x470ff5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6902c0]
mov eax, dword [0x563fb8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x471017
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x47104e
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6902c0]
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 0x471066
mov dword [ebp - 0x88], 0x30
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp], eax
call fcn.0046febf
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x47136b
mov eax, dword [0xa2ac58]
mov edx, dword [0xa2ac5c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x4710b4
cmp dword [ebp - 0x8c], 1
jne 0x4710b4
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4710cd
cmp dword [ebp - 0x8c], 1
jne 0x4710cd
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4710e0
mov dword [ebp - 0x88], 0x30
mov dword [0xa50fd8], 0x7fffffff
mov dword [0xa50fdc], 0
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
mov edx, eax
mov eax, 0
mov dword [0xa50fd8], eax
mov dword [0xa50fdc], edx
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
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 [0xa50fd8], eax
mov dword [0xa50fdc], edx
jmp 0x471242
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4711aa
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld dword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
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 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4711f5
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld qword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
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 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x471242
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld xword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x471266
cmp edx, dword [ebp - 0x6c]
ja 0x471261
cmp eax, dword [ebp - 0x70]
jb 0x471266
mov ecx, 0
test cl, cl
jne 0x47114e
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa50fd8], eax
mov dword [0xa50fdc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4712ca
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld dword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
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 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x471315
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld qword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
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 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x471d15
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld xword [eax]
mov eax, dword [0xa50fd8]
mov edx, dword [0xa50fdc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x471d15
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 0x4713a4
cmp dword [ebp - 0x8c], 1
jne 0x47139c
mov dword [ebp - 0x88], 0x30
jmp 0x471d19
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 0x4713eb
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x471d18
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 0x4714ae
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x471495
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 0x471422
cmp dword [ebp - 0x24], 0x64
je 0x471422
cmp dword [ebp - 0x24], 0x45
je 0x471422
cmp dword [ebp - 0x24], 0x65
jne 0x47143e
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x471433
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4715c4
cmp dword [ebp - 0x24], 0x2e
jne 0x47144c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4714af
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x47145c
cmp dword [ebp - 0x24], 9
jle 0x471465
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [0xa50fc8]
add eax, 1
mov dword [0xa50fc8], eax
mov edx, dword [0xa2b060]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2ac60], al
mov eax, dword [0xa2b060]
add eax, 1
mov dword [0xa2b060], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4713f6
jmp 0x47179e
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4714d3
mov dword [ebp - 0x88], 0x30
jmp 0x47179e
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4715ab
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 0x47150e
cmp dword [ebp - 0x24], 0x64
je 0x47150e
cmp dword [ebp - 0x24], 0x45
je 0x47150e
cmp dword [ebp - 0x24], 0x65
jne 0x471533
mov eax, dword [0xa2b060]
test eax, eax
je 0x471533
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x471528
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4715c4
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x471543
cmp dword [ebp - 0x24], 9
jle 0x47154c
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x24], 0
je 0x471559
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x47156c
mov eax, dword [0xa50fd4]
add eax, 1
mov dword [0xa50fd4], eax
mov eax, dword [0xa50fcc]
add eax, 1
mov dword [0xa50fcc], eax
mov eax, dword [0xa2b060]
test eax, eax
jne 0x471588
cmp dword [ebp - 0x24], 0
je 0x4715a7
mov edx, dword [0xa2b060]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2ac60], al
mov eax, dword [0xa2b060]
add eax, 1
mov dword [0xa2b060], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4714e2
jmp 0x47179e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x471601
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 0x4715f8
cmp dword [ebp - 0x24], 0x64
jne 0x471601
mov byte [ebp - 0x3d], 0
jmp 0x471d19
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 0x471621
cmp dword [ebp - 0x24], 0x64
jne 0x47162f
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 0x47164c
mov dword [ebp - 0x88], 0x30
jmp 0x47179e
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 0x471695
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x471687
mov dword [ebp - 0x88], 0x30
jmp 0x47179e
mov dword [0xa50fd0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x4716bc
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4716b8
mov dword [ebp - 0x88], 0x30
jmp 0x47179e
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 0x4716e5
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4716e5
mov byte [ebp - 0x3d], 0
jmp 0x471d19
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 0x47178d
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 0x471784
cmp dword [ebp - 0x24], 9
jg 0x471784
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 0x47178d
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x47170f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x471a0c
mov eax, dword [0xa50fd0]
test eax, eax
je 0x4717c9
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa50fd4]
cmp eax, 1
jne 0x4717f1
mov eax, dword [0xa50fcc]
cmp eax, 1
jne 0x4717f1
mov dword [0xa50fcc], 0
mov dword [0xa50fd4], 0
mov eax, dword [0xa50fd4]
cmp eax, 0x2b
jle 0x471804
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [0xa50fc8]
test eax, eax
jne 0x471820
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fd4]
cmp edx, eax
je 0x47199a
mov eax, dword [0xa50fc8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x471838
mov eax, dword [0xa50fd4]
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 0x471852
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0x27
jne 0x4718c9
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2b060]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x471875
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4718b9
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x47189c
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4718c8
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 0x47187e
jmp 0x4718c9
nop
mov eax, dword [0xa50fcc]
test eax, eax
je 0x471915
mov eax, dword [0xa50fc8]
test eax, eax
je 0x4718f6
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fc8]
add eax, edx
cmp eax, 8
jle 0x471915
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fd4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x471915
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x471924
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x47199e
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2b060]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x471947
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x47198b
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x47196e
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x47199d
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 0x471950
jmp 0x47199e
nop
jmp 0x47199e
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2b080]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045da7d
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5505d3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x471c88
mov eax, dword [0xa50fd0]
test eax, eax
je 0x471a37
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa50fd4]
cmp eax, 1
jne 0x471a5f
mov eax, dword [0xa50fcc]
cmp eax, 1
jne 0x471a5f
mov dword [0xa50fcc], 0
mov dword [0xa50fd4], 0
mov eax, dword [0xa50fd4]
cmp eax, 0x142
jle 0x471a74
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [0xa50fc8]
test eax, eax
jne 0x471a90
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fd4]
cmp edx, eax
je 0x471c16
mov eax, dword [0xa50fc8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x471aa8
mov eax, dword [0xa50fd4]
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 0x471ac5
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0x135
jne 0x471b3f
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2b060]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x471aeb
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x471b2f
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x471b12
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x471b3e
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 0x471af4
jmp 0x471b3f
nop
mov eax, dword [0xa50fcc]
test eax, eax
je 0x471b8b
mov eax, dword [0xa50fc8]
test eax, eax
je 0x471b6c
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fc8]
add eax, edx
cmp eax, 0x10
jle 0x471b8b
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov edx, dword [0xa50fcc]
mov eax, dword [0xa50fd4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x471b8b
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x471b9d
mov byte [ebp - 0x3d], 0
jmp 0x471d19
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x471c1a
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2b060]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x471bc3
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x471c07
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x471bea
mov byte [ebp - 0x3d], 0
jmp 0x471d19
mov eax, dword [ebp - 0x24]
add eax, 0xa2ac60
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x471c19
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 0x471bcc
jmp 0x471c1a
nop
jmp 0x471c1a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2b080]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045da7d
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6902c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5505d6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x471d19
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6906e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x471d19
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2b080]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045da7d
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2b080]
mov eax, dword [eax]
mov dword [esp + 8], 0xa50fe0
mov dword [esp + 4], 0x5505d6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6902c0]
fld qword [0xa50fe0]
fstp xword [eax]
jmp 0x471d19
nop
jmp 0x471d19
nop
cmp byte [ebp - 0x3d], 0
je 0x47245d
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045d2b9
jmp 0x471d38
nop
mov dword [0xa50fe8], 0
jmp 0x471d45
nop
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x471f7a
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x471d88
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x471d88
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x471dc2
call fcn.00451387
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 0x471dc2
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa50fe8]
cmp dword [ebp - 0x1c], eax
je 0x471f7a
mov eax, dword [0xa50fe8]
xor eax, 1
mov dword [0xa50fe8], eax
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa50fec], eax
mov eax, dword [0x6a664c]
mov byte [eax + 0x50], 1
mov edx, dword [0x695c70]
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa50ff0], eax
mov edx, dword [0x695c74]
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa50ff4], eax
mov eax, dword [0xa50ff4]
test eax, eax
jne 0x471e3e
mov dword [0xa50ff4], 1
mov eax, dword [0xa50ff4]
mov dword [0xa50ff8], eax
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x471e73
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x471e73
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x471e7d
mov dword [0xa50ff8], 1
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa50ff0]
imul eax, edx
mov dword [0xa50ffc], eax
mov dword [0xa51000], 0
jmp 0x471f54
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa50ff4]
imul eax, edx
mov dword [0xa51004], eax
mov dword [0xa51008], 0
jmp 0x471f26
mov edx, dword [0xa50ffc]
mov eax, dword [0xa51004]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046b644
mov edx, eax
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa50ffc]
mov eax, dword [0xa51004]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004524d2
mov eax, dword [0xa51004]
add eax, 1
mov dword [0xa51004], eax
mov eax, dword [0xa51008]
add eax, 1
mov dword [0xa51008], eax
mov edx, dword [0xa51008]
mov eax, dword [0xa50ff8]
cmp edx, eax
setl al
test al, al
jne 0x471ecc
mov eax, dword [0xa50ffc]
add eax, 1
mov dword [0xa50ffc], eax
mov eax, dword [0xa51000]
add eax, 1
mov dword [0xa51000], eax
mov edx, dword [0xa51000]
mov eax, dword [0xa50ff0]
cmp edx, eax
setl al
test al, al
jne 0x471ea6
mov edx, dword [0x6a664c]
mov eax, dword [0xa50fec]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x471fa9
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.0045d2b9
jmp 0x47207f
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x47202e
mov dword [esp], 0x5491e6
call fcn.0045cf3e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045d2b9
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 0x47201b
cmp dword [ebp - 0x2c], 0xa
jne 0x471ff4
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x5505da
call fcn.0045cf3e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x47206c
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x47206c
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.0045f392
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045d2b9
mov dword [0x695958], 1
call fcn.004215b6
mov dword [0x695958], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004afe71
movzx eax, byte [0x580299]
test al, al
jne 0x4725ea
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x471d44
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x472262
mov eax, dword [0xa50fe8]
test eax, eax
je 0x472262
mov dword [0xa50fe8], 0
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5100c], eax
mov eax, dword [0x6a664c]
mov byte [eax + 0x50], 1
mov edx, dword [0x695c70]
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa51010], eax
mov edx, dword [0x695c74]
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa51014], eax
mov eax, dword [0xa51014]
test eax, eax
jne 0x472126
mov dword [0xa51014], 1
mov eax, dword [0xa51014]
mov dword [0xa51018], eax
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x47215b
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x47215b
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x472165
mov dword [0xa51018], 1
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa51010]
imul eax, edx
mov dword [0xa5101c], eax
mov dword [0xa51020], 0
jmp 0x47223c
mov eax, dword [0x6a664c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa51014]
imul eax, edx
mov dword [0xa51024], eax
mov dword [0xa51028], 0
jmp 0x47220e
mov edx, dword [0xa5101c]
mov eax, dword [0xa51024]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046b644
mov edx, eax
mov eax, dword [0x6a664c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5101c]
mov eax, dword [0xa51024]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004524d2
mov eax, dword [0xa51024]
add eax, 1
mov dword [0xa51024], eax
mov eax, dword [0xa51028]
add eax, 1
mov dword [0xa51028], eax
mov edx, dword [0xa51028]
mov eax, dword [0xa51018]
cmp edx, eax
setl al
test al, al
jne 0x4721b4
mov eax, dword [0xa5101c]
add eax, 1
mov dword [0xa5101c], eax
mov eax, dword [0xa51020]
add eax, 1
mov dword [0xa51020], eax
mov edx, dword [0xa51020]
mov eax, dword [0xa51010]
cmp edx, eax
setl al
test al, al
jne 0x47218e
mov edx, dword [0x6a664c]
mov eax, dword [0xa5100c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x472286
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046d6da
jmp 0x4704fc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x4704e6
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x4722c2
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 0x4704fc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x4704e9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4704ec
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4704ef
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4704f2
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4704f5
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4704f8
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x472445
mov dword [ebp - 0x1c], 1
jmp 0x472351
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa2b080]
mov dword [esp], eax
call fcn.0045c6c5
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x47233b
cmp byte [ebp - 0x9c], 0
je 0x472397
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x472397
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0046d6da
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045c6c5
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045c6c5
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045c6c5
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045c6c5
mov eax, dword [0x6a664c]
mov edx, dword [0xa2b484]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa50fb0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00484587
mov eax, dword [0xa50fb4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00484587
mov eax, dword [0xa50fa8]
test eax, eax
jne 0x472432
mov dword [0x5342d8], 0xffffffff
jmp 0x472424
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5342d8]
test eax, eax
setne al
test al, al
jne 0x472413
mov eax, dword [0xa50fac]
mov dword [esp], eax
call fcn.00484863
nop
jmp 0x4725eb
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x47257e
jmp 0x47245e
nop
jmp 0x47245e
nop
jmp 0x47245e
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x471d37
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.004849a9
mov dword [ebp - 0x20], eax
mov edx, dword [0xa50fb4]
mov eax, dword [0xa50fb0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004631b3
mov eax, dword [0xa50fb4]
mov dword [esp], eax
call fcn.00484900
mov edx, dword [0x6a664c]
mov eax, dword [0xa50fb8]
mov word [edx + 0x38], ax
mov edx, dword [0x6a664c]
mov eax, dword [0xa50fbc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6a664c]
mov eax, dword [0xa50fc0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x472507
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.0046d6da
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 0x4724dc
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.00484900
mov edx, dword [0xa50fb4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004631b3
mov ecx, dword [0x6a664c]
mov edx, dword [0x6a6624]
mov eax, dword [0xa50fb4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6a664c]
mov edx, dword [0x6a6624]
mov eax, dword [0xa50fb4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4704fc
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4704fb
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045da7d
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045d2b9
mov eax, dword [0x6a664c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4725d0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046d6da
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045d2b9
jmp 0x4704fc
nop
jmp 0x4725eb
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret