Function at 0x46ae97
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 [0x57b28c]
test eax, eax
jne 0x46d24f
mov eax, dword [0x52f2d8]
mov dword [0xa4bb88], eax
mov dword [0x52f2d8], 1
call fcn.0047f605
mov dword [0xa4bb8c], eax
call fcn.0047f611
mov dword [esp], eax
call fcn.0047f4cb
call fcn.0047f611
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0047ef12
mov dword [0xa4bb90], eax
mov eax, dword [0xa4bb90]
cmp eax, 0xffffffff
jne 0x46af1c
mov dword [esp], 0x204
call fcn.004566a0
call fcn.0047f611
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0047ef12
mov dword [0xa4bb94], eax
mov eax, dword [0xa4bb94]
cmp eax, 0xffffffff
jne 0x46af54
mov dword [esp], 0x205
call fcn.004566a0
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa4bb98], eax
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa4bb9c], eax
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa4bba0], eax
mov eax, dword [0x52f014]
mov dword [ebp - 0x74], eax
mov dword [0xa4bba4], 0
mov eax, dword [0x68b6e4]
and eax, 0x40000000
test eax, eax
je 0x46afc5
mov eax, dword [0x68b6e4]
and eax, 0x200
test eax, eax
je 0x46afc5
mov dword [0x68b6e4], 0xfffffe00
mov dword [0xa4bba4], 1
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa26064], eax
mov eax, dword [0x6a122c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00457dba
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00457dba
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00457dba
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00457dba
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x46b072
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00457dba
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa25c60], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x46b04e
mov dword [ebp - 0x1c], 1
jmp 0x46b13b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x40000000
test eax, eax
je 0x46b0f2
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x46b0e1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x46b0f2
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1000000
test eax, eax
jne 0x46b137
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68b2c0]
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 0x46b08b
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
jmp 0x46b164
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa25c64]
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 0x46b2a2
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 0x46b1fe
cmp dword [ebp - 0x20], 1
je 0x46b1fe
mov eax, dword [0xa4bba4]
test eax, eax
jne 0x46b1fe
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x46b1e1
mov dword [ebp - 0x3c], 1
jmp 0x46b2a2
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x46b299
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 0x46b23d
cmp dword [ebp - 0x38], 0
je 0x46b22e
mov eax, dword [0xa4bba4]
test eax, eax
jne 0x46b22e
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x46b299
cmp dword [ebp - 0x20], 1
jne 0x46b23d
mov dword [ebp - 0x20], 2
jmp 0x46b299
cmp dword [ebp - 0x20], 2
je 0x46d0bf
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 + 0xa25c60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004586e5
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x46b193
cmp dword [ebp - 0x3c], 0
jne 0x46d0c2
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x40000000
test eax, eax
jne 0x46b7d3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x20000000
test eax, eax
jne 0x46b7d3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x46b7d3
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x46b355
mov dword [ebp - 0x88], 0x30
jmp 0x46b783
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
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 0x46b38c
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 + 0xa25c60]
mov dword [esp], eax
call fcn.0046ab27
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46b55e
mov eax, dword [0xa25838]
mov edx, dword [0xa2583c]
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 0x46b3ed
cmp edx, dword [ebp - 0x4c]
ja 0x46b3e4
cmp eax, dword [ebp - 0x50]
jbe 0x46b3ed
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x24], 1
jne 0x46b490
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 0x46b448
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 0x46b431
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 0x46b413
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x46b46a
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x8c], 1
jne 0x46b47d
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x46b490
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x46b547
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 0x46b4ff
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 0x46b4e8
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 0x46b4b6
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x46b521
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x8c], 1
jne 0x46b534
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46b547
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 0x46b783
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
je 0x46b581
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x46b5a5
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 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
jne 0x46b5f1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x46b5f1
cmp dword [ebp - 0x8c], 1
jne 0x46b5e9
mov dword [ebp - 0x88], 0x30
jmp 0x46b783
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 0x46b61a
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46b61a
mov byte [ebp - 0x3d], 0
jmp 0x46c981
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 0x46b73f
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 0x46b70a
cmp dword [ebp - 0x24], 9
jg 0x46b70a
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 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
je 0x46b6c8
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x46b713
cmp edx, dword [ebp - 0x4c]
ja 0x46b6bf
cmp eax, dword [ebp - 0x50]
jbe 0x46b713
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp byte [ebp - 0x3e], 0
je 0x46b6ec
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x46b713
cmp edx, dword [ebp - 0x54]
ja 0x46b6e3
cmp eax, dword [ebp - 0x58]
jbe 0x46b713
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x46b713
cmp edx, dword [ebp - 0x4c]
ja 0x46b701
cmp eax, dword [ebp - 0x50]
jbe 0x46b713
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov byte [ebp - 0x3d], 0
jmp 0x46c981
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 0x46b647
cmp byte [ebp - 0x3e], 0
je 0x46b771
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 0x46b783
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 + 0x68b6e0]
and eax, 0x1000000
test eax, eax
jne 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x40000000
test eax, eax
je 0x46b83b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x46b816
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x46b816
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa25c60]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x40000000
test eax, eax
jne 0x46bbe1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x20000000
test eax, eax
jne 0x46bbe1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46bbe1
cmp dword [ebp - 0x8c], 0
jne 0x46b8b0
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp], eax
call fcn.0046ab27
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46b962
mov eax, dword [0xa25838]
mov edx, dword [0xa2583c]
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 0x46b903
cmp edx, dword [ebp - 0x4c]
ja 0x46b8fa
cmp eax, dword [ebp - 0x50]
jbe 0x46b903
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x24], 1
jne 0x46b91c
cmp dword [ebp - 0x8c], 1
jne 0x46b91c
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x46b935
cmp dword [ebp - 0x8c], 1
jne 0x46b935
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46b948
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x46c981
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
jne 0x46b9c5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x46b9c5
cmp dword [ebp - 0x8c], 1
jne 0x46b9bd
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x46c981
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 0x46b9ee
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46b9ee
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x46ba37
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 0x46ba26
cmp dword [ebp - 0x24], 9
jle 0x46ba2f
mov byte [ebp - 0x3d], 0
jmp 0x46c981
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 0x46ba03
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
je 0x46ba7a
cmp dword [ebp - 0x28], 0x13
jle 0x46bb2a
cmp dword [ebp - 0x28], 0x14
jle 0x46ba70
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x46baab
cmp dword [ebp - 0x28], 0x12
jle 0x46bb2d
cmp dword [ebp - 0x28], 0x13
jle 0x46ba93
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp byte [ebp - 0x3e], 0
je 0x46baa3
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x46baab
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x46bb1b
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 0x46bb30
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 0x46bb17
mov byte [ebp - 0x3d], 0
jmp 0x46c981
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x46bac6
jmp 0x46bb31
nop
jmp 0x46bb31
nop
jmp 0x46bb31
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa25c60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004586e5
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x10000000
test eax, eax
je 0x46bbb2
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
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 0x46c981
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
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 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x20000000
test eax, eax
je 0x46c981
mov dword [0xa4bba8], 0
mov dword [0xa4bbac], 0
mov dword [0xa4bbb0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa4bbb4], 0
mov dword [0xa25c40], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46bc5d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68b2c0]
mov eax, dword [0x55eef8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46bc7f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46bcb6
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x68b2c0]
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 0x46bcce
mov dword [ebp - 0x88], 0x30
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp], eax
call fcn.0046ab27
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x46bfd3
mov eax, dword [0xa25838]
mov edx, dword [0xa2583c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x46bd1c
cmp dword [ebp - 0x8c], 1
jne 0x46bd1c
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x46bd35
cmp dword [ebp - 0x8c], 1
jne 0x46bd35
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x46bd48
mov dword [ebp - 0x88], 0x30
mov dword [0xa4bbb8], 0x7fffffff
mov dword [0xa4bbbc], 0
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
mov edx, eax
mov eax, 0
mov dword [0xa4bbb8], eax
mov dword [0xa4bbbc], edx
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
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 [0xa4bbb8], eax
mov dword [0xa4bbbc], edx
jmp 0x46beaa
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46be12
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld dword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
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 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46be5d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld qword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
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 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46beaa
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld xword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x46bece
cmp edx, dword [ebp - 0x6c]
ja 0x46bec9
cmp eax, dword [ebp - 0x70]
jb 0x46bece
mov ecx, 0
test cl, cl
jne 0x46bdb6
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa4bbb8], eax
mov dword [0xa4bbbc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46bf32
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld dword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
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 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46bf7d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld qword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
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 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46c97d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld xword [eax]
mov eax, dword [0xa4bbb8]
mov edx, dword [0xa4bbbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x46c97d
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 0x46c00c
cmp dword [ebp - 0x8c], 1
jne 0x46c004
mov dword [ebp - 0x88], 0x30
jmp 0x46c981
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 0x46c053
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46c980
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 0x46c116
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46c0fd
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 0x46c08a
cmp dword [ebp - 0x24], 0x64
je 0x46c08a
cmp dword [ebp - 0x24], 0x45
je 0x46c08a
cmp dword [ebp - 0x24], 0x65
jne 0x46c0a6
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x46c09b
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46c22c
cmp dword [ebp - 0x24], 0x2e
jne 0x46c0b4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46c117
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x46c0c4
cmp dword [ebp - 0x24], 9
jle 0x46c0cd
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [0xa4bba8]
add eax, 1
mov dword [0xa4bba8], eax
mov edx, dword [0xa25c40]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa25840], al
mov eax, dword [0xa25c40]
add eax, 1
mov dword [0xa25c40], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x46c05e
jmp 0x46c406
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46c13b
mov dword [ebp - 0x88], 0x30
jmp 0x46c406
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46c213
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 0x46c176
cmp dword [ebp - 0x24], 0x64
je 0x46c176
cmp dword [ebp - 0x24], 0x45
je 0x46c176
cmp dword [ebp - 0x24], 0x65
jne 0x46c19b
mov eax, dword [0xa25c40]
test eax, eax
je 0x46c19b
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x46c190
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x46c22c
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x46c1ab
cmp dword [ebp - 0x24], 9
jle 0x46c1b4
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x24], 0
je 0x46c1c1
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x46c1d4
mov eax, dword [0xa4bbb4]
add eax, 1
mov dword [0xa4bbb4], eax
mov eax, dword [0xa4bbac]
add eax, 1
mov dword [0xa4bbac], eax
mov eax, dword [0xa25c40]
test eax, eax
jne 0x46c1f0
cmp dword [ebp - 0x24], 0
je 0x46c20f
mov edx, dword [0xa25c40]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa25840], al
mov eax, dword [0xa25c40]
add eax, 1
mov dword [0xa25c40], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x46c14a
jmp 0x46c406
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46c269
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 0x46c260
cmp dword [ebp - 0x24], 0x64
jne 0x46c269
mov byte [ebp - 0x3d], 0
jmp 0x46c981
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 0x46c289
cmp dword [ebp - 0x24], 0x64
jne 0x46c297
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 0x46c2b4
mov dword [ebp - 0x88], 0x30
jmp 0x46c406
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 0x46c2fd
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46c2ef
mov dword [ebp - 0x88], 0x30
jmp 0x46c406
mov dword [0xa4bbb0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x46c324
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x46c320
mov dword [ebp - 0x88], 0x30
jmp 0x46c406
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 0x46c34d
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x46c34d
mov byte [ebp - 0x3d], 0
jmp 0x46c981
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 0x46c3f5
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 0x46c3ec
cmp dword [ebp - 0x24], 9
jg 0x46c3ec
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 0x46c3f5
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x46c377
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x46c674
mov eax, dword [0xa4bbb0]
test eax, eax
je 0x46c431
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4bbb4]
cmp eax, 1
jne 0x46c459
mov eax, dword [0xa4bbac]
cmp eax, 1
jne 0x46c459
mov dword [0xa4bbac], 0
mov dword [0xa4bbb4], 0
mov eax, dword [0xa4bbb4]
cmp eax, 0x2b
jle 0x46c46c
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [0xa4bba8]
test eax, eax
jne 0x46c488
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bbb4]
cmp edx, eax
je 0x46c602
mov eax, dword [0xa4bba8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x46c4a0
mov eax, dword [0xa4bbb4]
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 0x46c4ba
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0x27
jne 0x46c531
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa25c40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46c4dd
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x46c521
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x46c504
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x46c530
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 0x46c4e6
jmp 0x46c531
nop
mov eax, dword [0xa4bbac]
test eax, eax
je 0x46c57d
mov eax, dword [0xa4bba8]
test eax, eax
je 0x46c55e
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bba8]
add eax, edx
cmp eax, 8
jle 0x46c57d
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bbb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x46c57d
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x46c58c
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x46c606
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa25c40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46c5af
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x46c5f3
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x46c5d6
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x46c605
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 0x46c5b8
jmp 0x46c606
nop
jmp 0x46c606
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa25c60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004586e5
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54b513
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x46c8f0
mov eax, dword [0xa4bbb0]
test eax, eax
je 0x46c69f
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4bbb4]
cmp eax, 1
jne 0x46c6c7
mov eax, dword [0xa4bbac]
cmp eax, 1
jne 0x46c6c7
mov dword [0xa4bbac], 0
mov dword [0xa4bbb4], 0
mov eax, dword [0xa4bbb4]
cmp eax, 0x142
jle 0x46c6dc
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [0xa4bba8]
test eax, eax
jne 0x46c6f8
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bbb4]
cmp edx, eax
je 0x46c87e
mov eax, dword [0xa4bba8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x46c710
mov eax, dword [0xa4bbb4]
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 0x46c72d
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0x135
jne 0x46c7a7
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa25c40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x46c753
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x46c797
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x46c77a
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x46c7a6
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 0x46c75c
jmp 0x46c7a7
nop
mov eax, dword [0xa4bbac]
test eax, eax
je 0x46c7f3
mov eax, dword [0xa4bba8]
test eax, eax
je 0x46c7d4
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bba8]
add eax, edx
cmp eax, 0x10
jle 0x46c7f3
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov edx, dword [0xa4bbac]
mov eax, dword [0xa4bbb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x46c7f3
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x46c805
mov byte [ebp - 0x3d], 0
jmp 0x46c981
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x46c882
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa25c40]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x46c82b
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x46c86f
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x46c852
mov byte [ebp - 0x3d], 0
jmp 0x46c981
mov eax, dword [ebp - 0x24]
add eax, 0xa25840
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x46c881
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 0x46c834
jmp 0x46c882
nop
jmp 0x46c882
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa25c60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004586e5
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68b2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54b516
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x46c981
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x46c981
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa25c60]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004586e5
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa25c60]
mov eax, dword [eax]
mov dword [esp + 8], 0xa4bbc0
mov dword [esp + 4], 0x54b516
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68b2c0]
fld qword [0xa4bbc0]
fstp xword [eax]
jmp 0x46c981
nop
jmp 0x46c981
nop
cmp byte [ebp - 0x3d], 0
je 0x46d0c5
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00457f21
jmp 0x46c9a0
nop
mov dword [0xa4bbc8], 0
jmp 0x46c9ad
nop
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x46cbe2
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x46c9f0
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x46c9f0
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x46ca2a
call fcn.0044bfef
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 0x46ca2a
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa4bbc8]
cmp dword [ebp - 0x1c], eax
je 0x46cbe2
mov eax, dword [0xa4bbc8]
xor eax, 1
mov dword [0xa4bbc8], eax
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4bbcc], eax
mov eax, dword [0x6a122c]
mov byte [eax + 0x50], 1
mov edx, dword [0x690850]
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4bbd0], eax
mov edx, dword [0x690854]
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4bbd4], eax
mov eax, dword [0xa4bbd4]
test eax, eax
jne 0x46caa6
mov dword [0xa4bbd4], 1
mov eax, dword [0xa4bbd4]
mov dword [0xa4bbd8], eax
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x46cadb
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x46cadb
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x46cae5
mov dword [0xa4bbd8], 1
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4bbd0]
imul eax, edx
mov dword [0xa4bbdc], eax
mov dword [0xa4bbe0], 0
jmp 0x46cbbc
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4bbd4]
imul eax, edx
mov dword [0xa4bbe4], eax
mov dword [0xa4bbe8], 0
jmp 0x46cb8e
mov edx, dword [0xa4bbdc]
mov eax, dword [0xa4bbe4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004662ac
mov edx, eax
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4bbdc]
mov eax, dword [0xa4bbe4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044d13a
mov eax, dword [0xa4bbe4]
add eax, 1
mov dword [0xa4bbe4], eax
mov eax, dword [0xa4bbe8]
add eax, 1
mov dword [0xa4bbe8], eax
mov edx, dword [0xa4bbe8]
mov eax, dword [0xa4bbd8]
cmp edx, eax
setl al
test al, al
jne 0x46cb34
mov eax, dword [0xa4bbdc]
add eax, 1
mov dword [0xa4bbdc], eax
mov eax, dword [0xa4bbe0]
add eax, 1
mov dword [0xa4bbe0], eax
mov edx, dword [0xa4bbe0]
mov eax, dword [0xa4bbd0]
cmp edx, eax
setl al
test al, al
jne 0x46cb0e
mov edx, dword [0x6a122c]
mov eax, dword [0xa4bbcc]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x46cc11
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.00457f21
jmp 0x46cce7
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x46cc96
mov dword [esp], 0x544126
call fcn.00457ba6
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00457f21
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 0x46cc83
cmp dword [ebp - 0x2c], 0xa
jne 0x46cc5c
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x54b51a
call fcn.00457ba6
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x46ccd4
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x46ccd4
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00459ffa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00457f21
mov dword [0x690538], 1
call fcn.0041c21c
mov dword [0x690538], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004aaad9
movzx eax, byte [0x57b299]
test al, al
jne 0x46d252
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x46c9ac
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x46ceca
mov eax, dword [0xa4bbc8]
test eax, eax
je 0x46ceca
mov dword [0xa4bbc8], 0
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4bbec], eax
mov eax, dword [0x6a122c]
mov byte [eax + 0x50], 1
mov edx, dword [0x690850]
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4bbf0], eax
mov edx, dword [0x690854]
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4bbf4], eax
mov eax, dword [0xa4bbf4]
test eax, eax
jne 0x46cd8e
mov dword [0xa4bbf4], 1
mov eax, dword [0xa4bbf4]
mov dword [0xa4bbf8], eax
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x46cdc3
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x46cdc3
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x46cdcd
mov dword [0xa4bbf8], 1
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4bbf0]
imul eax, edx
mov dword [0xa4bbfc], eax
mov dword [0xa4bc00], 0
jmp 0x46cea4
mov eax, dword [0x6a122c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4bbf4]
imul eax, edx
mov dword [0xa4bc04], eax
mov dword [0xa4bc08], 0
jmp 0x46ce76
mov edx, dword [0xa4bbfc]
mov eax, dword [0xa4bc04]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004662ac
mov edx, eax
mov eax, dword [0x6a122c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4bbfc]
mov eax, dword [0xa4bc04]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044d13a
mov eax, dword [0xa4bc04]
add eax, 1
mov dword [0xa4bc04], eax
mov eax, dword [0xa4bc08]
add eax, 1
mov dword [0xa4bc08], eax
mov edx, dword [0xa4bc08]
mov eax, dword [0xa4bbf8]
cmp edx, eax
setl al
test al, al
jne 0x46ce1c
mov eax, dword [0xa4bbfc]
add eax, 1
mov dword [0xa4bbfc], eax
mov eax, dword [0xa4bc00]
add eax, 1
mov dword [0xa4bc00], eax
mov edx, dword [0xa4bc00]
mov eax, dword [0xa4bbf0]
cmp edx, eax
setl al
test al, al
jne 0x46cdf6
mov edx, dword [0x6a122c]
mov eax, dword [0xa4bbec]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x46ceee
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00468342
jmp 0x46b164
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x46b14e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x46cf2a
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 0x46b164
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x46b151
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x46b154
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x46b157
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x46b15a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x46b15d
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x46b160
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x46d0ad
mov dword [ebp - 0x1c], 1
jmp 0x46cfb9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa25c60]
mov dword [esp], eax
call fcn.0045732d
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x46cfa3
cmp byte [ebp - 0x9c], 0
je 0x46cfff
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x46cfff
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00468342
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045732d
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045732d
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045732d
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045732d
mov eax, dword [0x6a122c]
mov edx, dword [0xa26064]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa4bb90]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0047f1ef
mov eax, dword [0xa4bb94]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0047f1ef
mov eax, dword [0xa4bb88]
test eax, eax
jne 0x46d09a
mov dword [0x52f2d8], 0xffffffff
jmp 0x46d08c
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x52f2d8]
test eax, eax
setne al
test al, al
jne 0x46d07b
mov eax, dword [0xa4bb8c]
mov dword [esp], eax
call fcn.0047f4cb
nop
jmp 0x46d253
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x46d1e6
jmp 0x46d0c6
nop
jmp 0x46d0c6
nop
jmp 0x46d0c6
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x46c99f
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.0047f611
mov dword [ebp - 0x20], eax
mov edx, dword [0xa4bb94]
mov eax, dword [0xa4bb90]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045de1b
mov eax, dword [0xa4bb94]
mov dword [esp], eax
call fcn.0047f568
mov edx, dword [0x6a122c]
mov eax, dword [0xa4bb98]
mov word [edx + 0x38], ax
mov edx, dword [0x6a122c]
mov eax, dword [0xa4bb9c]
mov word [edx + 0x3a], ax
mov edx, dword [0x6a122c]
mov eax, dword [0xa4bba0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x46d16f
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.00468342
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 0x46d144
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0047f568
mov edx, dword [0xa4bb94]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045de1b
mov ecx, dword [0x6a122c]
mov edx, dword [0x6a1204]
mov eax, dword [0xa4bb94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6a122c]
mov edx, dword [0x6a1204]
mov eax, dword [0xa4bb94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x46b164
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x46b163
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004586e5
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00457f21
mov eax, dword [0x6a122c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x46d238
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00468342
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00457f21
jmp 0x46b164
nop
jmp 0x46d253
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret