Function at 0x46fa5b
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 [0x57f28c]
test eax, eax
jne 0x471e13
mov eax, dword [0x5332d8]
mov dword [0xa4ff88], eax
mov dword [0x5332d8], 1
call fcn.004841c9
mov dword [0xa4ff8c], eax
call fcn.004841d5
mov dword [esp], eax
call fcn.0048408f
call fcn.004841d5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00483ad6
mov dword [0xa4ff90], eax
mov eax, dword [0xa4ff90]
cmp eax, 0xffffffff
jne 0x46fae0
mov dword [esp], 0x204
call fcn.0045b264
call fcn.004841d5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00483ad6
mov dword [0xa4ff94], eax
mov eax, dword [0xa4ff94]
cmp eax, 0xffffffff
jne 0x46fb18
mov dword [esp], 0x205
call fcn.0045b264
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa4ff98], eax
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa4ff9c], eax
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa4ffa0], eax
mov eax, dword [0x533014]
mov dword [ebp - 0x74], eax
mov dword [0xa4ffa4], 0
mov eax, dword [0x68f6e4]
and eax, 0x40000000
test eax, eax
je 0x46fb89
mov eax, dword [0x68f6e4]
and eax, 0x200
test eax, eax
je 0x46fb89
mov dword [0x68f6e4], 0xfffffe00
mov dword [0xa4ffa4], 1
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa2a464], eax
mov eax, dword [0x6a562c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045c97e
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045c97e
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045c97e
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0045c97e
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x46fc36
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0045c97e
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa2a060], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x46fc12
mov dword [ebp - 0x1c], 1
jmp 0x46fcff
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x40000000
test eax, eax
je 0x46fcb6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x46fca5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x46fcb6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1000000
test eax, eax
jne 0x46fcfb
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x68f2c0]
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 0x46fc4f
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
jmp 0x46fd28
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa2a064]
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 0x46fe66
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 0x46fdc2
cmp dword [ebp - 0x20], 1
je 0x46fdc2
mov eax, dword [0xa4ffa4]
test eax, eax
jne 0x46fdc2
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x46fda5
mov dword [ebp - 0x3c], 1
jmp 0x46fe66
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x46fe5d
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 0x46fe01
cmp dword [ebp - 0x38], 0
je 0x46fdf2
mov eax, dword [0xa4ffa4]
test eax, eax
jne 0x46fdf2
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x46fe5d
cmp dword [ebp - 0x20], 1
jne 0x46fe01
mov dword [ebp - 0x20], 2
jmp 0x46fe5d
cmp dword [ebp - 0x20], 2
je 0x471c83
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 + 0xa2a060]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045d2a9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x46fd57
cmp dword [ebp - 0x3c], 0
jne 0x471c86
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x40000000
test eax, eax
jne 0x470397
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x20000000
test eax, eax
jne 0x470397
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x470397
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x46ff19
mov dword [ebp - 0x88], 0x30
jmp 0x470347
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
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 0x46ff50
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 + 0xa2a060]
mov dword [esp], eax
call fcn.0046f6eb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x470122
mov eax, dword [0xa29c38]
mov edx, dword [0xa29c3c]
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 0x46ffb1
cmp edx, dword [ebp - 0x4c]
ja 0x46ffa8
cmp eax, dword [ebp - 0x50]
jbe 0x46ffb1
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x24], 1
jne 0x470054
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 0x47000c
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 0x46fff5
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 0x46ffd7
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x47002e
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x8c], 1
jne 0x470041
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x470054
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x47010b
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 0x4700c3
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 0x4700ac
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 0x47007a
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4700e5
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x8c], 1
jne 0x4700f8
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47010b
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 0x470347
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
je 0x470145
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x470169
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 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
jne 0x4701b5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4701b5
cmp dword [ebp - 0x8c], 1
jne 0x4701ad
mov dword [ebp - 0x88], 0x30
jmp 0x470347
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 0x4701de
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4701de
mov byte [ebp - 0x3d], 0
jmp 0x471545
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 0x470303
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 0x4702ce
cmp dword [ebp - 0x24], 9
jg 0x4702ce
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 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
je 0x47028c
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4702d7
cmp edx, dword [ebp - 0x4c]
ja 0x470283
cmp eax, dword [ebp - 0x50]
jbe 0x4702d7
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp byte [ebp - 0x3e], 0
je 0x4702b0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x4702d7
cmp edx, dword [ebp - 0x54]
ja 0x4702a7
cmp eax, dword [ebp - 0x58]
jbe 0x4702d7
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4702d7
cmp edx, dword [ebp - 0x4c]
ja 0x4702c5
cmp eax, dword [ebp - 0x50]
jbe 0x4702d7
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov byte [ebp - 0x3d], 0
jmp 0x471545
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 0x47020b
cmp byte [ebp - 0x3e], 0
je 0x470335
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 0x470347
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 + 0x68f6e0]
and eax, 0x1000000
test eax, eax
jne 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x40000000
test eax, eax
je 0x4703ff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4703da
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x4703da
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2a060]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x40000000
test eax, eax
jne 0x4707a5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x20000000
test eax, eax
jne 0x4707a5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4707a5
cmp dword [ebp - 0x8c], 0
jne 0x470474
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp], eax
call fcn.0046f6eb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x470526
mov eax, dword [0xa29c38]
mov edx, dword [0xa29c3c]
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 0x4704c7
cmp edx, dword [ebp - 0x4c]
ja 0x4704be
cmp eax, dword [ebp - 0x50]
jbe 0x4704c7
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x24], 1
jne 0x4704e0
cmp dword [ebp - 0x8c], 1
jne 0x4704e0
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4704f9
cmp dword [ebp - 0x8c], 1
jne 0x4704f9
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47050c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x471545
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
jne 0x470589
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x470589
cmp dword [ebp - 0x8c], 1
jne 0x470581
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x471545
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 0x4705b2
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4705b2
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x4705fb
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 0x4705ea
cmp dword [ebp - 0x24], 9
jle 0x4705f3
mov byte [ebp - 0x3d], 0
jmp 0x471545
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 0x4705c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
je 0x47063e
cmp dword [ebp - 0x28], 0x13
jle 0x4706ee
cmp dword [ebp - 0x28], 0x14
jle 0x470634
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x47066f
cmp dword [ebp - 0x28], 0x12
jle 0x4706f1
cmp dword [ebp - 0x28], 0x13
jle 0x470657
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp byte [ebp - 0x3e], 0
je 0x470667
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x47066f
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x4706df
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 0x4706f4
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 0x4706db
mov byte [ebp - 0x3d], 0
jmp 0x471545
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x47068a
jmp 0x4706f5
nop
jmp 0x4706f5
nop
jmp 0x4706f5
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2a060]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045d2a9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x10000000
test eax, eax
je 0x470776
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
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 0x471545
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
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 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x20000000
test eax, eax
je 0x471545
mov dword [0xa4ffa8], 0
mov dword [0xa4ffac], 0
mov dword [0xa4ffb0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa4ffb4], 0
mov dword [0xa2a040], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x470821
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68f2c0]
mov eax, dword [0x562fb8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x470843
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x47087a
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x68f2c0]
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 0x470892
mov dword [ebp - 0x88], 0x30
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp], eax
call fcn.0046f6eb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x470b97
mov eax, dword [0xa29c38]
mov edx, dword [0xa29c3c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x4708e0
cmp dword [ebp - 0x8c], 1
jne 0x4708e0
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4708f9
cmp dword [ebp - 0x8c], 1
jne 0x4708f9
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47090c
mov dword [ebp - 0x88], 0x30
mov dword [0xa4ffb8], 0x7fffffff
mov dword [0xa4ffbc], 0
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
mov edx, eax
mov eax, 0
mov dword [0xa4ffb8], eax
mov dword [0xa4ffbc], edx
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
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 [0xa4ffb8], eax
mov dword [0xa4ffbc], edx
jmp 0x470a6e
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4709d6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld dword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
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 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x470a21
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld qword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
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 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x470a6e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld xword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x470a92
cmp edx, dword [ebp - 0x6c]
ja 0x470a8d
cmp eax, dword [ebp - 0x70]
jb 0x470a92
mov ecx, 0
test cl, cl
jne 0x47097a
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa4ffb8], eax
mov dword [0xa4ffbc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x470af6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld dword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
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 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x470b41
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld qword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
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 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x471541
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld xword [eax]
mov eax, dword [0xa4ffb8]
mov edx, dword [0xa4ffbc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x471541
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 0x470bd0
cmp dword [ebp - 0x8c], 1
jne 0x470bc8
mov dword [ebp - 0x88], 0x30
jmp 0x471545
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 0x470c17
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x471544
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 0x470cda
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x470cc1
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 0x470c4e
cmp dword [ebp - 0x24], 0x64
je 0x470c4e
cmp dword [ebp - 0x24], 0x45
je 0x470c4e
cmp dword [ebp - 0x24], 0x65
jne 0x470c6a
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x470c5f
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x470df0
cmp dword [ebp - 0x24], 0x2e
jne 0x470c78
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x470cdb
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x470c88
cmp dword [ebp - 0x24], 9
jle 0x470c91
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [0xa4ffa8]
add eax, 1
mov dword [0xa4ffa8], eax
mov edx, dword [0xa2a040]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa29c40], al
mov eax, dword [0xa2a040]
add eax, 1
mov dword [0xa2a040], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x470c22
jmp 0x470fca
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x470cff
mov dword [ebp - 0x88], 0x30
jmp 0x470fca
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x470dd7
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 0x470d3a
cmp dword [ebp - 0x24], 0x64
je 0x470d3a
cmp dword [ebp - 0x24], 0x45
je 0x470d3a
cmp dword [ebp - 0x24], 0x65
jne 0x470d5f
mov eax, dword [0xa2a040]
test eax, eax
je 0x470d5f
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x470d54
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x470df0
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x470d6f
cmp dword [ebp - 0x24], 9
jle 0x470d78
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x24], 0
je 0x470d85
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x470d98
mov eax, dword [0xa4ffb4]
add eax, 1
mov dword [0xa4ffb4], eax
mov eax, dword [0xa4ffac]
add eax, 1
mov dword [0xa4ffac], eax
mov eax, dword [0xa2a040]
test eax, eax
jne 0x470db4
cmp dword [ebp - 0x24], 0
je 0x470dd3
mov edx, dword [0xa2a040]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa29c40], al
mov eax, dword [0xa2a040]
add eax, 1
mov dword [0xa2a040], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x470d0e
jmp 0x470fca
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x470e2d
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 0x470e24
cmp dword [ebp - 0x24], 0x64
jne 0x470e2d
mov byte [ebp - 0x3d], 0
jmp 0x471545
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 0x470e4d
cmp dword [ebp - 0x24], 0x64
jne 0x470e5b
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 0x470e78
mov dword [ebp - 0x88], 0x30
jmp 0x470fca
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 0x470ec1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x470eb3
mov dword [ebp - 0x88], 0x30
jmp 0x470fca
mov dword [0xa4ffb0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x470ee8
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x470ee4
mov dword [ebp - 0x88], 0x30
jmp 0x470fca
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 0x470f11
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x470f11
mov byte [ebp - 0x3d], 0
jmp 0x471545
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 0x470fb9
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 0x470fb0
cmp dword [ebp - 0x24], 9
jg 0x470fb0
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 0x470fb9
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x470f3b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x471238
mov eax, dword [0xa4ffb0]
test eax, eax
je 0x470ff5
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4ffb4]
cmp eax, 1
jne 0x47101d
mov eax, dword [0xa4ffac]
cmp eax, 1
jne 0x47101d
mov dword [0xa4ffac], 0
mov dword [0xa4ffb4], 0
mov eax, dword [0xa4ffb4]
cmp eax, 0x2b
jle 0x471030
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [0xa4ffa8]
test eax, eax
jne 0x47104c
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffb4]
cmp edx, eax
je 0x4711c6
mov eax, dword [0xa4ffa8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x471064
mov eax, dword [0xa4ffb4]
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 0x47107e
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0x27
jne 0x4710f5
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2a040]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4710a1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4710e5
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4710c8
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4710f4
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 0x4710aa
jmp 0x4710f5
nop
mov eax, dword [0xa4ffac]
test eax, eax
je 0x471141
mov eax, dword [0xa4ffa8]
test eax, eax
je 0x471122
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffa8]
add eax, edx
cmp eax, 8
jle 0x471141
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x471141
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x471150
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4711ca
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2a040]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x471173
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4711b7
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x47119a
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4711c9
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 0x47117c
jmp 0x4711ca
nop
jmp 0x4711ca
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2a060]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045d2a9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54f5d3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4714b4
mov eax, dword [0xa4ffb0]
test eax, eax
je 0x471263
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa4ffb4]
cmp eax, 1
jne 0x47128b
mov eax, dword [0xa4ffac]
cmp eax, 1
jne 0x47128b
mov dword [0xa4ffac], 0
mov dword [0xa4ffb4], 0
mov eax, dword [0xa4ffb4]
cmp eax, 0x142
jle 0x4712a0
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [0xa4ffa8]
test eax, eax
jne 0x4712bc
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffb4]
cmp edx, eax
je 0x471442
mov eax, dword [0xa4ffa8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4712d4
mov eax, dword [0xa4ffb4]
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 0x4712f1
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0x135
jne 0x47136b
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2a040]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x471317
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x47135b
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x47133e
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x47136a
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 0x471320
jmp 0x47136b
nop
mov eax, dword [0xa4ffac]
test eax, eax
je 0x4713b7
mov eax, dword [0xa4ffa8]
test eax, eax
je 0x471398
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffa8]
add eax, edx
cmp eax, 0x10
jle 0x4713b7
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov edx, dword [0xa4ffac]
mov eax, dword [0xa4ffb4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4713b7
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4713c9
mov byte [ebp - 0x3d], 0
jmp 0x471545
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x471446
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa2a040]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4713ef
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x471433
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x471416
mov byte [ebp - 0x3d], 0
jmp 0x471545
mov eax, dword [ebp - 0x24]
add eax, 0xa29c40
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x471445
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 0x4713f8
jmp 0x471446
nop
jmp 0x471446
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2a060]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045d2a9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x68f2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x54f5d6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x471545
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x471545
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa2a060]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0045d2a9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa2a060]
mov eax, dword [eax]
mov dword [esp + 8], 0xa4ffc0
mov dword [esp + 4], 0x54f5d6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x68f2c0]
fld qword [0xa4ffc0]
fstp xword [eax]
jmp 0x471545
nop
jmp 0x471545
nop
cmp byte [ebp - 0x3d], 0
je 0x471c89
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045cae5
jmp 0x471564
nop
mov dword [0xa4ffc8], 0
jmp 0x471571
nop
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4717a6
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4715b4
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4715b4
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4715ee
call fcn.00450bb3
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 0x4715ee
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa4ffc8]
cmp dword [ebp - 0x1c], eax
je 0x4717a6
mov eax, dword [0xa4ffc8]
xor eax, 1
mov dword [0xa4ffc8], eax
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4ffcc], eax
mov eax, dword [0x6a562c]
mov byte [eax + 0x50], 1
mov edx, dword [0x694c50]
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4ffd0], eax
mov edx, dword [0x694c54]
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4ffd4], eax
mov eax, dword [0xa4ffd4]
test eax, eax
jne 0x47166a
mov dword [0xa4ffd4], 1
mov eax, dword [0xa4ffd4]
mov dword [0xa4ffd8], eax
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x47169f
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x47169f
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4716a9
mov dword [0xa4ffd8], 1
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4ffd0]
imul eax, edx
mov dword [0xa4ffdc], eax
mov dword [0xa4ffe0], 0
jmp 0x471780
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4ffd4]
imul eax, edx
mov dword [0xa4ffe4], eax
mov dword [0xa4ffe8], 0
jmp 0x471752
mov edx, dword [0xa4ffdc]
mov eax, dword [0xa4ffe4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046ae70
mov edx, eax
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4ffdc]
mov eax, dword [0xa4ffe4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451cfe
mov eax, dword [0xa4ffe4]
add eax, 1
mov dword [0xa4ffe4], eax
mov eax, dword [0xa4ffe8]
add eax, 1
mov dword [0xa4ffe8], eax
mov edx, dword [0xa4ffe8]
mov eax, dword [0xa4ffd8]
cmp edx, eax
setl al
test al, al
jne 0x4716f8
mov eax, dword [0xa4ffdc]
add eax, 1
mov dword [0xa4ffdc], eax
mov eax, dword [0xa4ffe0]
add eax, 1
mov dword [0xa4ffe0], eax
mov edx, dword [0xa4ffe0]
mov eax, dword [0xa4ffd0]
cmp edx, eax
setl al
test al, al
jne 0x4716d2
mov edx, dword [0x6a562c]
mov eax, dword [0xa4ffcc]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x4717d5
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.0045cae5
jmp 0x4718ab
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x47185a
mov dword [esp], 0x5481e6
call fcn.0045c76a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045cae5
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 0x471847
cmp dword [ebp - 0x2c], 0xa
jne 0x471820
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x54f5da
call fcn.0045c76a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x471898
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x471898
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.0045ebbe
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045cae5
mov dword [0x694938], 1
call fcn.00420de1
mov dword [0x694938], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004af69d
movzx eax, byte [0x57f299]
test al, al
jne 0x471e16
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x471570
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x471a8e
mov eax, dword [0xa4ffc8]
test eax, eax
je 0x471a8e
mov dword [0xa4ffc8], 0
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa4ffec], eax
mov eax, dword [0x6a562c]
mov byte [eax + 0x50], 1
mov edx, dword [0x694c50]
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4fff0], eax
mov edx, dword [0x694c54]
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa4fff4], eax
mov eax, dword [0xa4fff4]
test eax, eax
jne 0x471952
mov dword [0xa4fff4], 1
mov eax, dword [0xa4fff4]
mov dword [0xa4fff8], eax
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x471987
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x471987
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x471991
mov dword [0xa4fff8], 1
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4fff0]
imul eax, edx
mov dword [0xa4fffc], eax
mov dword [0xa50000], 0
jmp 0x471a68
mov eax, dword [0x6a562c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa4fff4]
imul eax, edx
mov dword [0xa50004], eax
mov dword [0xa50008], 0
jmp 0x471a3a
mov edx, dword [0xa4fffc]
mov eax, dword [0xa50004]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046ae70
mov edx, eax
mov eax, dword [0x6a562c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa4fffc]
mov eax, dword [0xa50004]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451cfe
mov eax, dword [0xa50004]
add eax, 1
mov dword [0xa50004], eax
mov eax, dword [0xa50008]
add eax, 1
mov dword [0xa50008], eax
mov edx, dword [0xa50008]
mov eax, dword [0xa4fff8]
cmp edx, eax
setl al
test al, al
jne 0x4719e0
mov eax, dword [0xa4fffc]
add eax, 1
mov dword [0xa4fffc], eax
mov eax, dword [0xa50000]
add eax, 1
mov dword [0xa50000], eax
mov edx, dword [0xa50000]
mov eax, dword [0xa4fff0]
cmp edx, eax
setl al
test al, al
jne 0x4719ba
mov edx, dword [0x6a562c]
mov eax, dword [0xa4ffec]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x471ab2
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046cf06
jmp 0x46fd28
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x46fd12
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x471aee
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 0x46fd28
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x46fd15
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x46fd18
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x46fd1b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x46fd1e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x46fd21
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x46fd24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x471c71
mov dword [ebp - 0x1c], 1
jmp 0x471b7d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa2a060]
mov dword [esp], eax
call fcn.0045bef1
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x471b67
cmp byte [ebp - 0x9c], 0
je 0x471bc3
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x471bc3
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0046cf06
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045bef1
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045bef1
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045bef1
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045bef1
mov eax, dword [0x6a562c]
mov edx, dword [0xa2a464]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa4ff90]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00483db3
mov eax, dword [0xa4ff94]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00483db3
mov eax, dword [0xa4ff88]
test eax, eax
jne 0x471c5e
mov dword [0x5332d8], 0xffffffff
jmp 0x471c50
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5332d8]
test eax, eax
setne al
test al, al
jne 0x471c3f
mov eax, dword [0xa4ff8c]
mov dword [esp], eax
call fcn.0048408f
nop
jmp 0x471e17
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x471daa
jmp 0x471c8a
nop
jmp 0x471c8a
nop
jmp 0x471c8a
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x471563
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.004841d5
mov dword [ebp - 0x20], eax
mov edx, dword [0xa4ff94]
mov eax, dword [0xa4ff90]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004629df
mov eax, dword [0xa4ff94]
mov dword [esp], eax
call fcn.0048412c
mov edx, dword [0x6a562c]
mov eax, dword [0xa4ff98]
mov word [edx + 0x38], ax
mov edx, dword [0x6a562c]
mov eax, dword [0xa4ff9c]
mov word [edx + 0x3a], ax
mov edx, dword [0x6a562c]
mov eax, dword [0xa4ffa0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x471d33
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.0046cf06
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 0x471d08
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0048412c
mov edx, dword [0xa4ff94]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004629df
mov ecx, dword [0x6a562c]
mov edx, dword [0x6a5604]
mov eax, dword [0xa4ff94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6a562c]
mov edx, dword [0x6a5604]
mov eax, dword [0xa4ff94]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x46fd28
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x46fd27
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045d2a9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0045cae5
mov eax, dword [0x6a562c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x471dfc
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0046cf06
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0045cae5
jmp 0x46fd28
nop
jmp 0x471e17
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret