Function at 0x471de3
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 [0x58128c]
test eax, eax
jne 0x47419b
mov eax, dword [0x5352d8]
mov dword [0xa51fc8], eax
mov dword [0x5352d8], 1
call fcn.00486551
mov dword [0xa51fcc], eax
call fcn.0048655d
mov dword [esp], eax
call fcn.00486417
call fcn.0048655d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00485e5e
mov dword [0xa51fd0], eax
mov eax, dword [0xa51fd0]
cmp eax, 0xffffffff
jne 0x471e68
mov dword [esp], 0x204
call fcn.0045d5ec
call fcn.0048655d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00485e5e
mov dword [0xa51fd4], eax
mov eax, dword [0xa51fd4]
cmp eax, 0xffffffff
jne 0x471ea0
mov dword [esp], 0x205
call fcn.0045d5ec
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa51fd8], eax
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa51fdc], eax
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa51fe0], eax
mov eax, dword [0x535014]
mov dword [ebp - 0x74], eax
mov dword [0xa51fe4], 0
mov eax, dword [0x6916e4]
and eax, 0x40000000
test eax, eax
je 0x471f11
mov eax, dword [0x6916e4]
and eax, 0x200
test eax, eax
je 0x471f11
mov dword [0x6916e4], 0xfffffe00
mov dword [0xa51fe4], 1
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa2c4a4], eax
mov eax, dword [0x6a766c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045ed06
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045ed06
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045ed06
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0045ed06
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x471fbe
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045ed06
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa2c0a0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x471f9a
mov dword [ebp - 0x1c], 1
jmp 0x472087
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x40000000
test eax, eax
je 0x47203e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6912c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x47202d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6912c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6912c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x47203e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6912c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1000000
test eax, eax
jne 0x472083
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6912c0]
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 0x471fd7
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
jmp 0x4720b0
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa2c0a4]
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 0x4721ee
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 0x47214a
cmp dword [ebp - 0x20], 1
je 0x47214a
mov eax, dword [0xa51fe4]
test eax, eax
jne 0x47214a
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x47212d
mov dword [ebp - 0x3c], 1
jmp 0x4721ee
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x4721e5
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 0x472189
cmp dword [ebp - 0x38], 0
je 0x47217a
mov eax, dword [0xa51fe4]
test eax, eax
jne 0x47217a
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x4721e5
cmp dword [ebp - 0x20], 1
jne 0x472189
mov dword [ebp - 0x20], 2
jmp 0x4721e5
cmp dword [ebp - 0x20], 2
je 0x47400b
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 + 0xa2c0a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045f631
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x4720df
cmp dword [ebp - 0x3c], 0
jne 0x47400e
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x40000000
test eax, eax
jne 0x47271f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x20000000
test eax, eax
jne 0x47271f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x47271f
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4722a1
mov dword [ebp - 0x88], 0x30
jmp 0x4726cf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
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 0x4722d8
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 + 0xa2c0a0]
mov dword [esp], eax
call fcn.00471a73
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4724aa
mov eax, dword [0xa2bc78]
mov edx, dword [0xa2bc7c]
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 0x472339
cmp edx, dword [ebp - 0x4c]
ja 0x472330
cmp eax, dword [ebp - 0x50]
jbe 0x472339
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x24], 1
jne 0x4723dc
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 0x472394
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 0x47237d
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 0x47235f
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4723b6
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x8c], 1
jne 0x4723c9
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4723dc
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x472493
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 0x47244b
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 0x472434
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 0x472402
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x47246d
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x8c], 1
jne 0x472480
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x472493
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 0x4726cf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x10000000
test eax, eax
je 0x4724cd
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4724f1
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 + 0x6916e0]
and eax, 0x10000000
test eax, eax
jne 0x47253d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x47253d
cmp dword [ebp - 0x8c], 1
jne 0x472535
mov dword [ebp - 0x88], 0x30
jmp 0x4726cf
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 0x472566
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x472566
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
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 0x47268b
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 0x472656
cmp dword [ebp - 0x24], 9
jg 0x472656
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 + 0x6916e0]
and eax, 0x10000000
test eax, eax
je 0x472614
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x47265f
cmp edx, dword [ebp - 0x4c]
ja 0x47260b
cmp eax, dword [ebp - 0x50]
jbe 0x47265f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp byte [ebp - 0x3e], 0
je 0x472638
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x47265f
cmp edx, dword [ebp - 0x54]
ja 0x47262f
cmp eax, dword [ebp - 0x58]
jbe 0x47265f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x47265f
cmp edx, dword [ebp - 0x4c]
ja 0x47264d
cmp eax, dword [ebp - 0x50]
jbe 0x47265f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
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 0x472593
cmp byte [ebp - 0x3e], 0
je 0x4726bd
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 0x4726cf
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 + 0x6916e0]
and eax, 0x1000000
test eax, eax
jne 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x40000000
test eax, eax
je 0x472787
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x472762
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x472762
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2c0a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x40000000
test eax, eax
jne 0x472b2d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x20000000
test eax, eax
jne 0x472b2d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x472b2d
cmp dword [ebp - 0x8c], 0
jne 0x4727fc
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp], eax
call fcn.00471a73
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4728ae
mov eax, dword [0xa2bc78]
mov edx, dword [0xa2bc7c]
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 0x47284f
cmp edx, dword [ebp - 0x4c]
ja 0x472846
cmp eax, dword [ebp - 0x50]
jbe 0x47284f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x24], 1
jne 0x472868
cmp dword [ebp - 0x8c], 1
jne 0x472868
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x472881
cmp dword [ebp - 0x8c], 1
jne 0x472881
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x472894
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4738cd
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x10000000
test eax, eax
jne 0x472911
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x472911
cmp dword [ebp - 0x8c], 1
jne 0x472909
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4738cd
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 0x47293a
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x47293a
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x472983
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 0x472972
cmp dword [ebp - 0x24], 9
jle 0x47297b
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
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 0x47294f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x10000000
test eax, eax
je 0x4729c6
cmp dword [ebp - 0x28], 0x13
jle 0x472a76
cmp dword [ebp - 0x28], 0x14
jle 0x4729bc
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4729f7
cmp dword [ebp - 0x28], 0x12
jle 0x472a79
cmp dword [ebp - 0x28], 0x13
jle 0x4729df
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp byte [ebp - 0x3e], 0
je 0x4729ef
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4729f7
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x472a67
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 0x472a7c
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 0x472a63
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x472a12
jmp 0x472a7d
nop
jmp 0x472a7d
nop
jmp 0x472a7d
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2c0a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045f631
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x10000000
test eax, eax
je 0x472afe
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
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 0x4738cd
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
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 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x20000000
test eax, eax
je 0x4738cd
mov dword [0xa51fe8], 0
mov dword [0xa51fec], 0
mov dword [0xa51ff0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa51ff4], 0
mov dword [0xa2c080], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x472ba9
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6912c0]
mov eax, dword [0x564fd8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x472bcb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x472c02
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6912c0]
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 0x472c1a
mov dword [ebp - 0x88], 0x30
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp], eax
call fcn.00471a73
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x472f1f
mov eax, dword [0xa2bc78]
mov edx, dword [0xa2bc7c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x472c68
cmp dword [ebp - 0x8c], 1
jne 0x472c68
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x472c81
cmp dword [ebp - 0x8c], 1
jne 0x472c81
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x472c94
mov dword [ebp - 0x88], 0x30
mov dword [0xa51ff8], 0x7fffffff
mov dword [0xa51ffc], 0
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
mov edx, eax
mov eax, 0
mov dword [0xa51ff8], eax
mov dword [0xa51ffc], edx
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
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 [0xa51ff8], eax
mov dword [0xa51ffc], edx
jmp 0x472df6
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x472d5e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld dword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
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 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x472da9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld qword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
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 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x472df6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld xword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x472e1a
cmp edx, dword [ebp - 0x6c]
ja 0x472e15
cmp eax, dword [ebp - 0x70]
jb 0x472e1a
mov ecx, 0
test cl, cl
jne 0x472d02
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa51ff8], eax
mov dword [0xa51ffc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x472e7e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld dword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
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 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x472ec9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld qword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
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 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4738c9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld xword [eax]
mov eax, dword [0xa51ff8]
mov edx, dword [0xa51ffc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4738c9
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 0x472f58
cmp dword [ebp - 0x8c], 1
jne 0x472f50
mov dword [ebp - 0x88], 0x30
jmp 0x4738cd
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 0x472f9f
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4738cc
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 0x473062
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x473049
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 0x472fd6
cmp dword [ebp - 0x24], 0x64
je 0x472fd6
cmp dword [ebp - 0x24], 0x45
je 0x472fd6
cmp dword [ebp - 0x24], 0x65
jne 0x472ff2
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x472fe7
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x473178
cmp dword [ebp - 0x24], 0x2e
jne 0x473000
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x473063
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x473010
cmp dword [ebp - 0x24], 9
jle 0x473019
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [0xa51fe8]
add eax, 1
mov dword [0xa51fe8], eax
mov edx, dword [0xa2c080]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2bc80], al
mov eax, dword [0xa2c080]
add eax, 1
mov dword [0xa2c080], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x472faa
jmp 0x473352
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x473087
mov dword [ebp - 0x88], 0x30
jmp 0x473352
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x47315f
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 0x4730c2
cmp dword [ebp - 0x24], 0x64
je 0x4730c2
cmp dword [ebp - 0x24], 0x45
je 0x4730c2
cmp dword [ebp - 0x24], 0x65
jne 0x4730e7
mov eax, dword [0xa2c080]
test eax, eax
je 0x4730e7
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4730dc
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x473178
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4730f7
cmp dword [ebp - 0x24], 9
jle 0x473100
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x24], 0
je 0x47310d
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x473120
mov eax, dword [0xa51ff4]
add eax, 1
mov dword [0xa51ff4], eax
mov eax, dword [0xa51fec]
add eax, 1
mov dword [0xa51fec], eax
mov eax, dword [0xa2c080]
test eax, eax
jne 0x47313c
cmp dword [ebp - 0x24], 0
je 0x47315b
mov edx, dword [0xa2c080]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2bc80], al
mov eax, dword [0xa2c080]
add eax, 1
mov dword [0xa2c080], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x473096
jmp 0x473352
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4731b5
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 0x4731ac
cmp dword [ebp - 0x24], 0x64
jne 0x4731b5
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
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 0x4731d5
cmp dword [ebp - 0x24], 0x64
jne 0x4731e3
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 0x473200
mov dword [ebp - 0x88], 0x30
jmp 0x473352
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 0x473249
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x47323b
mov dword [ebp - 0x88], 0x30
jmp 0x473352
mov dword [0xa51ff0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x473270
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x47326c
mov dword [ebp - 0x88], 0x30
jmp 0x473352
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 0x473299
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x473299
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
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 0x473341
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 0x473338
cmp dword [ebp - 0x24], 9
jg 0x473338
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 0x473341
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4732c3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4735c0
mov eax, dword [0xa51ff0]
test eax, eax
je 0x47337d
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa51ff4]
cmp eax, 1
jne 0x4733a5
mov eax, dword [0xa51fec]
cmp eax, 1
jne 0x4733a5
mov dword [0xa51fec], 0
mov dword [0xa51ff4], 0
mov eax, dword [0xa51ff4]
cmp eax, 0x2b
jle 0x4733b8
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [0xa51fe8]
test eax, eax
jne 0x4733d4
mov edx, dword [0xa51fec]
mov eax, dword [0xa51ff4]
cmp edx, eax
je 0x47354e
mov eax, dword [0xa51fe8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4733ec
mov eax, dword [0xa51ff4]
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 0x473406
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0x27
jne 0x47347d
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2c080]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x473429
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x47346d
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x473450
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x47347c
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 0x473432
jmp 0x47347d
nop
mov eax, dword [0xa51fec]
test eax, eax
je 0x4734c9
mov eax, dword [0xa51fe8]
test eax, eax
je 0x4734aa
mov edx, dword [0xa51fec]
mov eax, dword [0xa51fe8]
add eax, edx
cmp eax, 8
jle 0x4734c9
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov edx, dword [0xa51fec]
mov eax, dword [0xa51ff4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4734c9
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4734d8
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x473552
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2c080]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4734fb
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x47353f
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x473522
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x473551
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 0x473504
jmp 0x473552
nop
jmp 0x473552
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2c0a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045f631
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5515f3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x47383c
mov eax, dword [0xa51ff0]
test eax, eax
je 0x4735eb
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa51ff4]
cmp eax, 1
jne 0x473613
mov eax, dword [0xa51fec]
cmp eax, 1
jne 0x473613
mov dword [0xa51fec], 0
mov dword [0xa51ff4], 0
mov eax, dword [0xa51ff4]
cmp eax, 0x142
jle 0x473628
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [0xa51fe8]
test eax, eax
jne 0x473644
mov edx, dword [0xa51fec]
mov eax, dword [0xa51ff4]
cmp edx, eax
je 0x4737ca
mov eax, dword [0xa51fe8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x47365c
mov eax, dword [0xa51ff4]
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 0x473679
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0x135
jne 0x4736f3
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2c080]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x47369f
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4736e3
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4736c6
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4736f2
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 0x4736a8
jmp 0x4736f3
nop
mov eax, dword [0xa51fec]
test eax, eax
je 0x47373f
mov eax, dword [0xa51fe8]
test eax, eax
je 0x473720
mov edx, dword [0xa51fec]
mov eax, dword [0xa51fe8]
add eax, edx
cmp eax, 0x10
jle 0x47373f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov edx, dword [0xa51fec]
mov eax, dword [0xa51ff4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x47373f
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x473751
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4737ce
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2c080]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x473777
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4737bb
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x47379e
mov byte [ebp - 0x3d], 0
jmp 0x4738cd
mov eax, dword [ebp - 0x24]
add eax, 0xa2bc80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4737cd
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 0x473780
jmp 0x4737ce
nop
jmp 0x4737ce
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2c0a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045f631
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6912c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5515f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4738cd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6916e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4738cd
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2c0a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045f631
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2c0a0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa52000
mov dword [esp + 4], 0x5515f6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6912c0]
fld qword [0xa52000]
fstp xword [eax]
jmp 0x4738cd
nop
jmp 0x4738cd
nop
cmp byte [ebp - 0x3d], 0
je 0x474011
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045ee6d
jmp 0x4738ec
nop
mov dword [0xa52008], 0
jmp 0x4738f9
nop
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x473b2e
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x47393c
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x47393c
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x473976
call fcn.00452f3b
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 0x473976
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa52008]
cmp dword [ebp - 0x1c], eax
je 0x473b2e
mov eax, dword [0xa52008]
xor eax, 1
mov dword [0xa52008], eax
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5200c], eax
mov eax, dword [0x6a766c]
mov byte [eax + 0x50], 1
mov edx, dword [0x696c90]
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa52010], eax
mov edx, dword [0x696c94]
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa52014], eax
mov eax, dword [0xa52014]
test eax, eax
jne 0x4739f2
mov dword [0xa52014], 1
mov eax, dword [0xa52014]
mov dword [0xa52018], eax
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x473a27
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x473a27
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x473a31
mov dword [0xa52018], 1
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa52010]
imul eax, edx
mov dword [0xa5201c], eax
mov dword [0xa52020], 0
jmp 0x473b08
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa52014]
imul eax, edx
mov dword [0xa52024], eax
mov dword [0xa52028], 0
jmp 0x473ada
mov edx, dword [0xa5201c]
mov eax, dword [0xa52024]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046d1f8
mov edx, eax
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5201c]
mov eax, dword [0xa52024]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00454086
mov eax, dword [0xa52024]
add eax, 1
mov dword [0xa52024], eax
mov eax, dword [0xa52028]
add eax, 1
mov dword [0xa52028], eax
mov edx, dword [0xa52028]
mov eax, dword [0xa52018]
cmp edx, eax
setl al
test al, al
jne 0x473a80
mov eax, dword [0xa5201c]
add eax, 1
mov dword [0xa5201c], eax
mov eax, dword [0xa52020]
add eax, 1
mov dword [0xa52020], eax
mov edx, dword [0xa52020]
mov eax, dword [0xa52010]
cmp edx, eax
setl al
test al, al
jne 0x473a5a
mov edx, dword [0x6a766c]
mov eax, dword [0xa5200c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x473b5d
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.0045ee6d
jmp 0x473c33
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x473be2
mov dword [esp], 0x54a206
call fcn.0045eaf2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045ee6d
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 0x473bcf
cmp dword [ebp - 0x2c], 0xa
jne 0x473ba8
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x5515fa
call fcn.0045eaf2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x473c20
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x473c20
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00460f46
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045ee6d
mov dword [0x696978], 1
call fcn.00423168
mov dword [0x696978], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004b1a25
movzx eax, byte [0x581299]
test al, al
jne 0x47419e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4738f8
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x473e16
mov eax, dword [0xa52008]
test eax, eax
je 0x473e16
mov dword [0xa52008], 0
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5202c], eax
mov eax, dword [0x6a766c]
mov byte [eax + 0x50], 1
mov edx, dword [0x696c90]
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa52030], eax
mov edx, dword [0x696c94]
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa52034], eax
mov eax, dword [0xa52034]
test eax, eax
jne 0x473cda
mov dword [0xa52034], 1
mov eax, dword [0xa52034]
mov dword [0xa52038], eax
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x473d0f
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x473d0f
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x473d19
mov dword [0xa52038], 1
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa52030]
imul eax, edx
mov dword [0xa5203c], eax
mov dword [0xa52040], 0
jmp 0x473df0
mov eax, dword [0x6a766c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa52034]
imul eax, edx
mov dword [0xa52044], eax
mov dword [0xa52048], 0
jmp 0x473dc2
mov edx, dword [0xa5203c]
mov eax, dword [0xa52044]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046d1f8
mov edx, eax
mov eax, dword [0x6a766c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5203c]
mov eax, dword [0xa52044]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00454086
mov eax, dword [0xa52044]
add eax, 1
mov dword [0xa52044], eax
mov eax, dword [0xa52048]
add eax, 1
mov dword [0xa52048], eax
mov edx, dword [0xa52048]
mov eax, dword [0xa52038]
cmp edx, eax
setl al
test al, al
jne 0x473d68
mov eax, dword [0xa5203c]
add eax, 1
mov dword [0xa5203c], eax
mov eax, dword [0xa52040]
add eax, 1
mov dword [0xa52040], eax
mov edx, dword [0xa52040]
mov eax, dword [0xa52030]
cmp edx, eax
setl al
test al, al
jne 0x473d42
mov edx, dword [0x6a766c]
mov eax, dword [0xa5202c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x473e3a
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046f28e
jmp 0x4720b0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x47209a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x473e76
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 0x4720b0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x47209d
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4720a0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4720a3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4720a6
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4720a9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4720ac
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x473ff9
mov dword [ebp - 0x1c], 1
jmp 0x473f05
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa2c0a0]
mov dword [esp], eax
call fcn.0045e279
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x473eef
cmp byte [ebp - 0x9c], 0
je 0x473f4b
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x473f4b
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0046f28e
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045e279
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045e279
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045e279
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045e279
mov eax, dword [0x6a766c]
mov edx, dword [0xa2c4a4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa51fd0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0048613b
mov eax, dword [0xa51fd4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0048613b
mov eax, dword [0xa51fc8]
test eax, eax
jne 0x473fe6
mov dword [0x5352d8], 0xffffffff
jmp 0x473fd8
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5352d8]
test eax, eax
setne al
test al, al
jne 0x473fc7
mov eax, dword [0xa51fcc]
mov dword [esp], eax
call fcn.00486417
nop
jmp 0x47419f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x474132
jmp 0x474012
nop
jmp 0x474012
nop
jmp 0x474012
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4738eb
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.0048655d
mov dword [ebp - 0x20], eax
mov edx, dword [0xa51fd4]
mov eax, dword [0xa51fd0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00464d67
mov eax, dword [0xa51fd4]
mov dword [esp], eax
call fcn.004864b4
mov edx, dword [0x6a766c]
mov eax, dword [0xa51fd8]
mov word [edx + 0x38], ax
mov edx, dword [0x6a766c]
mov eax, dword [0xa51fdc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6a766c]
mov eax, dword [0xa51fe0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4740bb
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.0046f28e
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 0x474090
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004864b4
mov edx, dword [0xa51fd4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00464d67
mov ecx, dword [0x6a766c]
mov edx, dword [0x6a7644]
mov eax, dword [0xa51fd4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6a766c]
mov edx, dword [0x6a7644]
mov eax, dword [0xa51fd4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4720b0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4720af
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045f631
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045ee6d
mov eax, dword [0x6a766c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x474184
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046f28e
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045ee6d
jmp 0x4720b0
nop
jmp 0x47419f
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret