Function at 0x46ec7b
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 [0x57e28c]
test eax, eax
jne 0x471033
mov eax, dword [0x5322d8]
mov dword [0xa4ef68], eax
mov dword [0x5322d8], 1
call fcn.004833e9
mov dword [0xa4ef6c], eax
call fcn.004833f5
mov dword [esp], eax
call fcn.004832af
call fcn.004833f5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00482cf6
mov dword [0xa4ef70], eax
mov eax, dword [0xa4ef70]
cmp eax, 0xffffffff
jne 0x46ed00
mov dword [esp], 0x204
call fcn.0045a484
call fcn.004833f5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00482cf6
mov dword [0xa4ef74], eax
mov eax, dword [0xa4ef74]
cmp eax, 0xffffffff
jne 0x46ed38
mov dword [esp], 0x205
call fcn.0045a484
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa4ef78], eax
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa4ef7c], eax
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa4ef80], eax
mov eax, dword [0x532014]
mov dword [ebp - 0x74], eax
mov dword [0xa4ef84], 0
mov eax, dword [0x68e6e4]
and eax, 0x40000000
test eax, eax
je 0x46eda9
mov eax, dword [0x68e6e4]
and eax, 0x200
test eax, eax
je 0x46eda9
mov dword [0x68e6e4], 0xfffffe00
mov dword [0xa4ef84], 1
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa29444], eax
mov eax, dword [0x6a460c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045bb9e
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045bb9e
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045bb9e
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0045bb9e
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x46ee56
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045bb9e
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa29040], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x46ee32
mov dword [ebp - 0x1c], 1
jmp 0x46ef1f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x40000000
test eax, eax
je 0x46eed6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x46eec5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x46eed6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1000000
test eax, eax
jne 0x46ef1b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68e2c0]
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 0x46ee6f
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
jmp 0x46ef48
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa29044]
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 0x46f086
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 0x46efe2
cmp dword [ebp - 0x20], 1
je 0x46efe2
mov eax, dword [0xa4ef84]
test eax, eax
jne 0x46efe2
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x46efc5
mov dword [ebp - 0x3c], 1
jmp 0x46f086
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x46f07d
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 0x46f021
cmp dword [ebp - 0x38], 0
je 0x46f012
mov eax, dword [0xa4ef84]
test eax, eax
jne 0x46f012
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x46f07d
cmp dword [ebp - 0x20], 1
jne 0x46f021
mov dword [ebp - 0x20], 2
jmp 0x46f07d
cmp dword [ebp - 0x20], 2
je 0x470ea3
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 + 0xa29040]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045c4c9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x46ef77
cmp dword [ebp - 0x3c], 0
jne 0x470ea6
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x40000000
test eax, eax
jne 0x46f5b7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x20000000
test eax, eax
jne 0x46f5b7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x46f5b7
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x46f139
mov dword [ebp - 0x88], 0x30
jmp 0x46f567
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
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 0x46f170
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 + 0xa29040]
mov dword [esp], eax
call fcn.0046e90b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46f342
mov eax, dword [0xa28c18]
mov edx, dword [0xa28c1c]
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 0x46f1d1
cmp edx, dword [ebp - 0x4c]
ja 0x46f1c8
cmp eax, dword [ebp - 0x50]
jbe 0x46f1d1
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x24], 1
jne 0x46f274
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 0x46f22c
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 0x46f215
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 0x46f1f7
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x46f24e
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x8c], 1
jne 0x46f261
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x46f274
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x46f32b
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 0x46f2e3
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 0x46f2cc
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 0x46f29a
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x46f305
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x8c], 1
jne 0x46f318
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46f32b
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 0x46f567
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
je 0x46f365
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x46f389
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 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
jne 0x46f3d5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x46f3d5
cmp dword [ebp - 0x8c], 1
jne 0x46f3cd
mov dword [ebp - 0x88], 0x30
jmp 0x46f567
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 0x46f3fe
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46f3fe
mov byte [ebp - 0x3d], 0
jmp 0x470765
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 0x46f523
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 0x46f4ee
cmp dword [ebp - 0x24], 9
jg 0x46f4ee
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 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
je 0x46f4ac
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x46f4f7
cmp edx, dword [ebp - 0x4c]
ja 0x46f4a3
cmp eax, dword [ebp - 0x50]
jbe 0x46f4f7
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp byte [ebp - 0x3e], 0
je 0x46f4d0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x46f4f7
cmp edx, dword [ebp - 0x54]
ja 0x46f4c7
cmp eax, dword [ebp - 0x58]
jbe 0x46f4f7
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x46f4f7
cmp edx, dword [ebp - 0x4c]
ja 0x46f4e5
cmp eax, dword [ebp - 0x50]
jbe 0x46f4f7
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov byte [ebp - 0x3d], 0
jmp 0x470765
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 0x46f42b
cmp byte [ebp - 0x3e], 0
je 0x46f555
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 0x46f567
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 + 0x68e6e0]
and eax, 0x1000000
test eax, eax
jne 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x40000000
test eax, eax
je 0x46f61f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x46f5fa
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x46f5fa
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa29040]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x40000000
test eax, eax
jne 0x46f9c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x20000000
test eax, eax
jne 0x46f9c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46f9c5
cmp dword [ebp - 0x8c], 0
jne 0x46f694
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp], eax
call fcn.0046e90b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46f746
mov eax, dword [0xa28c18]
mov edx, dword [0xa28c1c]
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 0x46f6e7
cmp edx, dword [ebp - 0x4c]
ja 0x46f6de
cmp eax, dword [ebp - 0x50]
jbe 0x46f6e7
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x24], 1
jne 0x46f700
cmp dword [ebp - 0x8c], 1
jne 0x46f700
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x46f719
cmp dword [ebp - 0x8c], 1
jne 0x46f719
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46f72c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x470765
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
jne 0x46f7a9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x46f7a9
cmp dword [ebp - 0x8c], 1
jne 0x46f7a1
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x470765
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 0x46f7d2
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46f7d2
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x46f81b
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 0x46f80a
cmp dword [ebp - 0x24], 9
jle 0x46f813
mov byte [ebp - 0x3d], 0
jmp 0x470765
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 0x46f7e7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
je 0x46f85e
cmp dword [ebp - 0x28], 0x13
jle 0x46f90e
cmp dword [ebp - 0x28], 0x14
jle 0x46f854
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x46f88f
cmp dword [ebp - 0x28], 0x12
jle 0x46f911
cmp dword [ebp - 0x28], 0x13
jle 0x46f877
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp byte [ebp - 0x3e], 0
je 0x46f887
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x46f88f
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x46f8ff
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 0x46f914
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 0x46f8fb
mov byte [ebp - 0x3d], 0
jmp 0x470765
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x46f8aa
jmp 0x46f915
nop
jmp 0x46f915
nop
jmp 0x46f915
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa29040]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045c4c9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x10000000
test eax, eax
je 0x46f996
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
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 0x470765
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
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 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x20000000
test eax, eax
je 0x470765
mov dword [0xa4ef88], 0
mov dword [0xa4ef8c], 0
mov dword [0xa4ef90], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa4ef94], 0
mov dword [0xa29020], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46fa41
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68e2c0]
mov eax, dword [0x561f98]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46fa63
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46fa9a
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x68e2c0]
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 0x46fab2
mov dword [ebp - 0x88], 0x30
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp], eax
call fcn.0046e90b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46fdb7
mov eax, dword [0xa28c18]
mov edx, dword [0xa28c1c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x46fb00
cmp dword [ebp - 0x8c], 1
jne 0x46fb00
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x46fb19
cmp dword [ebp - 0x8c], 1
jne 0x46fb19
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46fb2c
mov dword [ebp - 0x88], 0x30
mov dword [0xa4ef98], 0x7fffffff
mov dword [0xa4ef9c], 0
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
mov edx, eax
mov eax, 0
mov dword [0xa4ef98], eax
mov dword [0xa4ef9c], edx
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
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 [0xa4ef98], eax
mov dword [0xa4ef9c], edx
jmp 0x46fc8e
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46fbf6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld dword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
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 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46fc41
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld qword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
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 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46fc8e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld xword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x46fcb2
cmp edx, dword [ebp - 0x6c]
ja 0x46fcad
cmp eax, dword [ebp - 0x70]
jb 0x46fcb2
mov ecx, 0
test cl, cl
jne 0x46fb9a
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa4ef98], eax
mov dword [0xa4ef9c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46fd16
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld dword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
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 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46fd61
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld qword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
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 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x470761
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld xword [eax]
mov eax, dword [0xa4ef98]
mov edx, dword [0xa4ef9c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x470761
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 0x46fdf0
cmp dword [ebp - 0x8c], 1
jne 0x46fde8
mov dword [ebp - 0x88], 0x30
jmp 0x470765
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 0x46fe37
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x470764
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 0x46fefa
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46fee1
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 0x46fe6e
cmp dword [ebp - 0x24], 0x64
je 0x46fe6e
cmp dword [ebp - 0x24], 0x45
je 0x46fe6e
cmp dword [ebp - 0x24], 0x65
jne 0x46fe8a
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x46fe7f
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x470010
cmp dword [ebp - 0x24], 0x2e
jne 0x46fe98
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46fefb
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x46fea8
cmp dword [ebp - 0x24], 9
jle 0x46feb1
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [0xa4ef88]
add eax, 1
mov dword [0xa4ef88], eax
mov edx, dword [0xa29020]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa28c20], al
mov eax, dword [0xa29020]
add eax, 1
mov dword [0xa29020], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x46fe42
jmp 0x4701ea
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46ff1f
mov dword [ebp - 0x88], 0x30
jmp 0x4701ea
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46fff7
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 0x46ff5a
cmp dword [ebp - 0x24], 0x64
je 0x46ff5a
cmp dword [ebp - 0x24], 0x45
je 0x46ff5a
cmp dword [ebp - 0x24], 0x65
jne 0x46ff7f
mov eax, dword [0xa29020]
test eax, eax
je 0x46ff7f
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x46ff74
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x470010
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x46ff8f
cmp dword [ebp - 0x24], 9
jle 0x46ff98
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x24], 0
je 0x46ffa5
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x46ffb8
mov eax, dword [0xa4ef94]
add eax, 1
mov dword [0xa4ef94], eax
mov eax, dword [0xa4ef8c]
add eax, 1
mov dword [0xa4ef8c], eax
mov eax, dword [0xa29020]
test eax, eax
jne 0x46ffd4
cmp dword [ebp - 0x24], 0
je 0x46fff3
mov edx, dword [0xa29020]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa28c20], al
mov eax, dword [0xa29020]
add eax, 1
mov dword [0xa29020], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x46ff2e
jmp 0x4701ea
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x47004d
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 0x470044
cmp dword [ebp - 0x24], 0x64
jne 0x47004d
mov byte [ebp - 0x3d], 0
jmp 0x470765
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 0x47006d
cmp dword [ebp - 0x24], 0x64
jne 0x47007b
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 0x470098
mov dword [ebp - 0x88], 0x30
jmp 0x4701ea
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 0x4700e1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4700d3
mov dword [ebp - 0x88], 0x30
jmp 0x4701ea
mov dword [0xa4ef90], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x470108
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x470104
mov dword [ebp - 0x88], 0x30
jmp 0x4701ea
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 0x470131
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x470131
mov byte [ebp - 0x3d], 0
jmp 0x470765
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 0x4701d9
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 0x4701d0
cmp dword [ebp - 0x24], 9
jg 0x4701d0
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 0x4701d9
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x47015b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x470458
mov eax, dword [0xa4ef90]
test eax, eax
je 0x470215
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4ef94]
cmp eax, 1
jne 0x47023d
mov eax, dword [0xa4ef8c]
cmp eax, 1
jne 0x47023d
mov dword [0xa4ef8c], 0
mov dword [0xa4ef94], 0
mov eax, dword [0xa4ef94]
cmp eax, 0x2b
jle 0x470250
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [0xa4ef88]
test eax, eax
jne 0x47026c
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef94]
cmp edx, eax
je 0x4703e6
mov eax, dword [0xa4ef88]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x470284
mov eax, dword [0xa4ef94]
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 0x47029e
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0x27
jne 0x470315
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa29020]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4702c1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x470305
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4702e8
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x470314
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 0x4702ca
jmp 0x470315
nop
mov eax, dword [0xa4ef8c]
test eax, eax
je 0x470361
mov eax, dword [0xa4ef88]
test eax, eax
je 0x470342
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef88]
add eax, edx
cmp eax, 8
jle 0x470361
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef94]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x470361
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x470370
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4703ea
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa29020]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x470393
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4703d7
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4703ba
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4703e9
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 0x47039c
jmp 0x4703ea
nop
jmp 0x4703ea
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa29040]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045c4c9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54e5b3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4706d4
mov eax, dword [0xa4ef90]
test eax, eax
je 0x470483
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4ef94]
cmp eax, 1
jne 0x4704ab
mov eax, dword [0xa4ef8c]
cmp eax, 1
jne 0x4704ab
mov dword [0xa4ef8c], 0
mov dword [0xa4ef94], 0
mov eax, dword [0xa4ef94]
cmp eax, 0x142
jle 0x4704c0
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [0xa4ef88]
test eax, eax
jne 0x4704dc
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef94]
cmp edx, eax
je 0x470662
mov eax, dword [0xa4ef88]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4704f4
mov eax, dword [0xa4ef94]
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 0x470511
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0x135
jne 0x47058b
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa29020]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x470537
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x47057b
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x47055e
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x47058a
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 0x470540
jmp 0x47058b
nop
mov eax, dword [0xa4ef8c]
test eax, eax
je 0x4705d7
mov eax, dword [0xa4ef88]
test eax, eax
je 0x4705b8
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef88]
add eax, edx
cmp eax, 0x10
jle 0x4705d7
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov edx, dword [0xa4ef8c]
mov eax, dword [0xa4ef94]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4705d7
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4705e9
mov byte [ebp - 0x3d], 0
jmp 0x470765
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x470666
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa29020]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x47060f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x470653
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x470636
mov byte [ebp - 0x3d], 0
jmp 0x470765
mov eax, dword [ebp - 0x24]
add eax, 0xa28c20
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x470665
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 0x470618
jmp 0x470666
nop
jmp 0x470666
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa29040]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045c4c9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68e2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54e5b6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x470765
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x470765
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa29040]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045c4c9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa29040]
mov eax, dword [eax]
mov dword [esp + 8], 0xa4efa0
mov dword [esp + 4], 0x54e5b6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68e2c0]
fld qword [0xa4efa0]
fstp xword [eax]
jmp 0x470765
nop
jmp 0x470765
nop
cmp byte [ebp - 0x3d], 0
je 0x470ea9
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045bd05
jmp 0x470784
nop
mov dword [0xa4efa8], 0
jmp 0x470791
nop
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4709c6
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4707d4
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4707d4
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x47080e
call fcn.0044fdd3
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 0x47080e
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa4efa8]
cmp dword [ebp - 0x1c], eax
je 0x4709c6
mov eax, dword [0xa4efa8]
xor eax, 1
mov dword [0xa4efa8], eax
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4efac], eax
mov eax, dword [0x6a460c]
mov byte [eax + 0x50], 1
mov edx, dword [0x693c30]
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4efb0], eax
mov edx, dword [0x693c34]
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4efb4], eax
mov eax, dword [0xa4efb4]
test eax, eax
jne 0x47088a
mov dword [0xa4efb4], 1
mov eax, dword [0xa4efb4]
mov dword [0xa4efb8], eax
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4708bf
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4708bf
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4708c9
mov dword [0xa4efb8], 1
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4efb0]
imul eax, edx
mov dword [0xa4efbc], eax
mov dword [0xa4efc0], 0
jmp 0x4709a0
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4efb4]
imul eax, edx
mov dword [0xa4efc4], eax
mov dword [0xa4efc8], 0
jmp 0x470972
mov edx, dword [0xa4efbc]
mov eax, dword [0xa4efc4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a090
mov edx, eax
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4efbc]
mov eax, dword [0xa4efc4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00450f1e
mov eax, dword [0xa4efc4]
add eax, 1
mov dword [0xa4efc4], eax
mov eax, dword [0xa4efc8]
add eax, 1
mov dword [0xa4efc8], eax
mov edx, dword [0xa4efc8]
mov eax, dword [0xa4efb8]
cmp edx, eax
setl al
test al, al
jne 0x470918
mov eax, dword [0xa4efbc]
add eax, 1
mov dword [0xa4efbc], eax
mov eax, dword [0xa4efc0]
add eax, 1
mov dword [0xa4efc0], eax
mov edx, dword [0xa4efc0]
mov eax, dword [0xa4efb0]
cmp edx, eax
setl al
test al, al
jne 0x4708f2
mov edx, dword [0x6a460c]
mov eax, dword [0xa4efac]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x4709f5
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.0045bd05
jmp 0x470acb
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x470a7a
mov dword [esp], 0x5471c6
call fcn.0045b98a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045bd05
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 0x470a67
cmp dword [ebp - 0x2c], 0xa
jne 0x470a40
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x54e5ba
call fcn.0045b98a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x470ab8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x470ab8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.0045ddde
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045bd05
mov dword [0x693918], 1
call fcn.00420000
mov dword [0x693918], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004ae8bd
movzx eax, byte [0x57e299]
test al, al
jne 0x471036
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x470790
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x470cae
mov eax, dword [0xa4efa8]
test eax, eax
je 0x470cae
mov dword [0xa4efa8], 0
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4efcc], eax
mov eax, dword [0x6a460c]
mov byte [eax + 0x50], 1
mov edx, dword [0x693c30]
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4efd0], eax
mov edx, dword [0x693c34]
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4efd4], eax
mov eax, dword [0xa4efd4]
test eax, eax
jne 0x470b72
mov dword [0xa4efd4], 1
mov eax, dword [0xa4efd4]
mov dword [0xa4efd8], eax
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x470ba7
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x470ba7
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x470bb1
mov dword [0xa4efd8], 1
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4efd0]
imul eax, edx
mov dword [0xa4efdc], eax
mov dword [0xa4efe0], 0
jmp 0x470c88
mov eax, dword [0x6a460c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4efd4]
imul eax, edx
mov dword [0xa4efe4], eax
mov dword [0xa4efe8], 0
jmp 0x470c5a
mov edx, dword [0xa4efdc]
mov eax, dword [0xa4efe4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a090
mov edx, eax
mov eax, dword [0x6a460c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4efdc]
mov eax, dword [0xa4efe4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00450f1e
mov eax, dword [0xa4efe4]
add eax, 1
mov dword [0xa4efe4], eax
mov eax, dword [0xa4efe8]
add eax, 1
mov dword [0xa4efe8], eax
mov edx, dword [0xa4efe8]
mov eax, dword [0xa4efd8]
cmp edx, eax
setl al
test al, al
jne 0x470c00
mov eax, dword [0xa4efdc]
add eax, 1
mov dword [0xa4efdc], eax
mov eax, dword [0xa4efe0]
add eax, 1
mov dword [0xa4efe0], eax
mov edx, dword [0xa4efe0]
mov eax, dword [0xa4efd0]
cmp edx, eax
setl al
test al, al
jne 0x470bda
mov edx, dword [0x6a460c]
mov eax, dword [0xa4efcc]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x470cd2
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046c126
jmp 0x46ef48
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x46ef32
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x470d0e
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 0x46ef48
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x46ef35
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x46ef38
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x46ef3b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x46ef3e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x46ef41
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x46ef44
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x470e91
mov dword [ebp - 0x1c], 1
jmp 0x470d9d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa29040]
mov dword [esp], eax
call fcn.0045b111
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x470d87
cmp byte [ebp - 0x9c], 0
je 0x470de3
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x470de3
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0046c126
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045b111
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045b111
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045b111
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045b111
mov eax, dword [0x6a460c]
mov edx, dword [0xa29444]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa4ef70]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00482fd3
mov eax, dword [0xa4ef74]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00482fd3
mov eax, dword [0xa4ef68]
test eax, eax
jne 0x470e7e
mov dword [0x5322d8], 0xffffffff
jmp 0x470e70
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5322d8]
test eax, eax
setne al
test al, al
jne 0x470e5f
mov eax, dword [0xa4ef6c]
mov dword [esp], eax
call fcn.004832af
nop
jmp 0x471037
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x470fca
jmp 0x470eaa
nop
jmp 0x470eaa
nop
jmp 0x470eaa
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x470783
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.004833f5
mov dword [ebp - 0x20], eax
mov edx, dword [0xa4ef74]
mov eax, dword [0xa4ef70]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00461bff
mov eax, dword [0xa4ef74]
mov dword [esp], eax
call fcn.0048334c
mov edx, dword [0x6a460c]
mov eax, dword [0xa4ef78]
mov word [edx + 0x38], ax
mov edx, dword [0x6a460c]
mov eax, dword [0xa4ef7c]
mov word [edx + 0x3a], ax
mov edx, dword [0x6a460c]
mov eax, dword [0xa4ef80]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x470f53
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.0046c126
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 0x470f28
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0048334c
mov edx, dword [0xa4ef74]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00461bff
mov ecx, dword [0x6a460c]
mov edx, dword [0x6a45e4]
mov eax, dword [0xa4ef74]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6a460c]
mov edx, dword [0x6a45e4]
mov eax, dword [0xa4ef74]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x46ef48
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x46ef47
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045c4c9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045bd05
mov eax, dword [0x6a460c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x47101c
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046c126
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045bd05
jmp 0x46ef48
nop
jmp 0x471037
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret