Function at 0x475ddb
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 [0x58528c]
test eax, eax
jne 0x478193
mov eax, dword [0x5392d8]
mov dword [0xa560c8], eax
mov dword [0x5392d8], 1
call fcn.0048a549
mov dword [0xa560cc], eax
call fcn.0048a555
mov dword [esp], eax
call fcn.0048a40f
call fcn.0048a555
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00489e56
mov dword [0xa560d0], eax
mov eax, dword [0xa560d0]
cmp eax, 0xffffffff
jne 0x475e60
mov dword [esp], 0x204
call fcn.004615e4
call fcn.0048a555
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00489e56
mov dword [0xa560d4], eax
mov eax, dword [0xa560d4]
cmp eax, 0xffffffff
jne 0x475e98
mov dword [esp], 0x205
call fcn.004615e4
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa560d8], eax
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa560dc], eax
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa560e0], eax
mov eax, dword [0x539014]
mov dword [ebp - 0x74], eax
mov dword [0xa560e4], 0
mov eax, dword [0x6956e4]
and eax, 0x40000000
test eax, eax
je 0x475f09
mov eax, dword [0x6956e4]
and eax, 0x200
test eax, eax
je 0x475f09
mov dword [0x6956e4], 0xfffffe00
mov dword [0xa560e4], 1
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa305a4], eax
mov eax, dword [0x6ab76c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00462cfe
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00462cfe
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00462cfe
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00462cfe
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x475fb6
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00462cfe
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa301a0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x475f92
mov dword [ebp - 0x1c], 1
jmp 0x47607f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
je 0x476036
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x476025
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x476036
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1000000
test eax, eax
jne 0x47607b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6952c0]
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 0x475fcf
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
jmp 0x4760a8
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa301a4]
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 0x4761e6
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 0x476142
cmp dword [ebp - 0x20], 1
je 0x476142
mov eax, dword [0xa560e4]
test eax, eax
jne 0x476142
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x476125
mov dword [ebp - 0x3c], 1
jmp 0x4761e6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x4761dd
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 0x476181
cmp dword [ebp - 0x38], 0
je 0x476172
mov eax, dword [0xa560e4]
test eax, eax
jne 0x476172
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x4761dd
cmp dword [ebp - 0x20], 1
jne 0x476181
mov dword [ebp - 0x20], 2
jmp 0x4761dd
cmp dword [ebp - 0x20], 2
je 0x478003
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 + 0xa301a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00463629
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x4760d7
cmp dword [ebp - 0x3c], 0
jne 0x478006
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
jne 0x476717
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
jne 0x476717
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x476717
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x476299
mov dword [ebp - 0x88], 0x30
jmp 0x4766c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
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 0x4762d0
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 + 0xa301a0]
mov dword [esp], eax
call fcn.00475a6b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4764a2
mov eax, dword [0xa2fd78]
mov edx, dword [0xa2fd7c]
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 0x476331
cmp edx, dword [ebp - 0x4c]
ja 0x476328
cmp eax, dword [ebp - 0x50]
jbe 0x476331
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x24], 1
jne 0x4763d4
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 0x47638c
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 0x476375
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 0x476357
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4763ae
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x8c], 1
jne 0x4763c1
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4763d4
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x47648b
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 0x476443
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 0x47642c
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 0x4763fa
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x476465
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x8c], 1
jne 0x476478
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47648b
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 0x4766c7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x4764c5
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4764e9
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 + 0x6956e0]
and eax, 0x10000000
test eax, eax
jne 0x476535
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x476535
cmp dword [ebp - 0x8c], 1
jne 0x47652d
mov dword [ebp - 0x88], 0x30
jmp 0x4766c7
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 0x47655e
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x47655e
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
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 0x476683
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 0x47664e
cmp dword [ebp - 0x24], 9
jg 0x47664e
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 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x47660c
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x476657
cmp edx, dword [ebp - 0x4c]
ja 0x476603
cmp eax, dword [ebp - 0x50]
jbe 0x476657
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp byte [ebp - 0x3e], 0
je 0x476630
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x476657
cmp edx, dword [ebp - 0x54]
ja 0x476627
cmp eax, dword [ebp - 0x58]
jbe 0x476657
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x476657
cmp edx, dword [ebp - 0x4c]
ja 0x476645
cmp eax, dword [ebp - 0x50]
jbe 0x476657
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
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 0x47658b
cmp byte [ebp - 0x3e], 0
je 0x4766b5
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 0x4766c7
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 + 0x6956e0]
and eax, 0x1000000
test eax, eax
jne 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
je 0x47677f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x47675a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x47675a
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa301a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x40000000
test eax, eax
jne 0x476b25
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
jne 0x476b25
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476b25
cmp dword [ebp - 0x8c], 0
jne 0x4767f4
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp], eax
call fcn.00475a6b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4768a6
mov eax, dword [0xa2fd78]
mov edx, dword [0xa2fd7c]
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 0x476847
cmp edx, dword [ebp - 0x4c]
ja 0x47683e
cmp eax, dword [ebp - 0x50]
jbe 0x476847
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x24], 1
jne 0x476860
cmp dword [ebp - 0x8c], 1
jne 0x476860
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x476879
cmp dword [ebp - 0x8c], 1
jne 0x476879
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x47688c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4778c5
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
jne 0x476909
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x476909
cmp dword [ebp - 0x8c], 1
jne 0x476901
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4778c5
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 0x476932
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x476932
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x47697b
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 0x47696a
cmp dword [ebp - 0x24], 9
jle 0x476973
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
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 0x476947
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x4769be
cmp dword [ebp - 0x28], 0x13
jle 0x476a6e
cmp dword [ebp - 0x28], 0x14
jle 0x4769b4
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4769ef
cmp dword [ebp - 0x28], 0x12
jle 0x476a71
cmp dword [ebp - 0x28], 0x13
jle 0x4769d7
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp byte [ebp - 0x3e], 0
je 0x4769e7
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4769ef
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x476a5f
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 0x476a74
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 0x476a5b
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x476a0a
jmp 0x476a75
nop
jmp 0x476a75
nop
jmp 0x476a75
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa301a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00463629
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x10000000
test eax, eax
je 0x476af6
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
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 0x4778c5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
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 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x20000000
test eax, eax
je 0x4778c5
mov dword [0xa560e8], 0
mov dword [0xa560ec], 0
mov dword [0xa560f0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa560f4], 0
mov dword [0xa30180], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476ba1
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [0x568b78]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476bc3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x476bfa
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6952c0]
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 0x476c12
mov dword [ebp - 0x88], 0x30
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp], eax
call fcn.00475a6b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x476f17
mov eax, dword [0xa2fd78]
mov edx, dword [0xa2fd7c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x476c60
cmp dword [ebp - 0x8c], 1
jne 0x476c60
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x476c79
cmp dword [ebp - 0x8c], 1
jne 0x476c79
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x476c8c
mov dword [ebp - 0x88], 0x30
mov dword [0xa560f8], 0x7fffffff
mov dword [0xa560fc], 0
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
mov edx, eax
mov eax, 0
mov dword [0xa560f8], eax
mov dword [0xa560fc], edx
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
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 [0xa560f8], eax
mov dword [0xa560fc], edx
jmp 0x476dee
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476d56
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld dword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476da1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x476dee
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld xword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x476e12
cmp edx, dword [ebp - 0x6c]
ja 0x476e0d
cmp eax, dword [ebp - 0x70]
jb 0x476e12
mov ecx, 0
test cl, cl
jne 0x476cfa
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa560f8], eax
mov dword [0xa560fc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x476e76
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld dword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x476ec1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
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 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4778c1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld xword [eax]
mov eax, dword [0xa560f8]
mov edx, dword [0xa560fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4778c1
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 0x476f50
cmp dword [ebp - 0x8c], 1
jne 0x476f48
mov dword [ebp - 0x88], 0x30
jmp 0x4778c5
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 0x476f97
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4778c4
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 0x47705a
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x477041
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 0x476fce
cmp dword [ebp - 0x24], 0x64
je 0x476fce
cmp dword [ebp - 0x24], 0x45
je 0x476fce
cmp dword [ebp - 0x24], 0x65
jne 0x476fea
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x476fdf
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x477170
cmp dword [ebp - 0x24], 0x2e
jne 0x476ff8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x47705b
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x477008
cmp dword [ebp - 0x24], 9
jle 0x477011
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [0xa560e8]
add eax, 1
mov dword [0xa560e8], eax
mov edx, dword [0xa30180]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2fd80], al
mov eax, dword [0xa30180]
add eax, 1
mov dword [0xa30180], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x476fa2
jmp 0x47734a
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x47707f
mov dword [ebp - 0x88], 0x30
jmp 0x47734a
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x477157
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 0x4770ba
cmp dword [ebp - 0x24], 0x64
je 0x4770ba
cmp dword [ebp - 0x24], 0x45
je 0x4770ba
cmp dword [ebp - 0x24], 0x65
jne 0x4770df
mov eax, dword [0xa30180]
test eax, eax
je 0x4770df
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4770d4
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x477170
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4770ef
cmp dword [ebp - 0x24], 9
jle 0x4770f8
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x24], 0
je 0x477105
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x477118
mov eax, dword [0xa560f4]
add eax, 1
mov dword [0xa560f4], eax
mov eax, dword [0xa560ec]
add eax, 1
mov dword [0xa560ec], eax
mov eax, dword [0xa30180]
test eax, eax
jne 0x477134
cmp dword [ebp - 0x24], 0
je 0x477153
mov edx, dword [0xa30180]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa2fd80], al
mov eax, dword [0xa30180]
add eax, 1
mov dword [0xa30180], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x47708e
jmp 0x47734a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4771ad
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 0x4771a4
cmp dword [ebp - 0x24], 0x64
jne 0x4771ad
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
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 0x4771cd
cmp dword [ebp - 0x24], 0x64
jne 0x4771db
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 0x4771f8
mov dword [ebp - 0x88], 0x30
jmp 0x47734a
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 0x477241
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x477233
mov dword [ebp - 0x88], 0x30
jmp 0x47734a
mov dword [0xa560f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x477268
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x477264
mov dword [ebp - 0x88], 0x30
jmp 0x47734a
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 0x477291
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x477291
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
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 0x477339
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 0x477330
cmp dword [ebp - 0x24], 9
jg 0x477330
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 0x477339
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4772bb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4775b8
mov eax, dword [0xa560f0]
test eax, eax
je 0x477375
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa560f4]
cmp eax, 1
jne 0x47739d
mov eax, dword [0xa560ec]
cmp eax, 1
jne 0x47739d
mov dword [0xa560ec], 0
mov dword [0xa560f4], 0
mov eax, dword [0xa560f4]
cmp eax, 0x2b
jle 0x4773b0
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [0xa560e8]
test eax, eax
jne 0x4773cc
mov edx, dword [0xa560ec]
mov eax, dword [0xa560f4]
cmp edx, eax
je 0x477546
mov eax, dword [0xa560e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4773e4
mov eax, dword [0xa560f4]
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 0x4773fe
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0x27
jne 0x477475
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30180]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x477421
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x477465
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x477448
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x477474
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 0x47742a
jmp 0x477475
nop
mov eax, dword [0xa560ec]
test eax, eax
je 0x4774c1
mov eax, dword [0xa560e8]
test eax, eax
je 0x4774a2
mov edx, dword [0xa560ec]
mov eax, dword [0xa560e8]
add eax, edx
cmp eax, 8
jle 0x4774c1
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov edx, dword [0xa560ec]
mov eax, dword [0xa560f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4774c1
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4774d0
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x47754a
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30180]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4774f3
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x477537
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x47751a
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x477549
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 0x4774fc
jmp 0x47754a
nop
jmp 0x47754a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa301a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00463629
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x555193
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x477834
mov eax, dword [0xa560f0]
test eax, eax
je 0x4775e3
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa560f4]
cmp eax, 1
jne 0x47760b
mov eax, dword [0xa560ec]
cmp eax, 1
jne 0x47760b
mov dword [0xa560ec], 0
mov dword [0xa560f4], 0
mov eax, dword [0xa560f4]
cmp eax, 0x142
jle 0x477620
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [0xa560e8]
test eax, eax
jne 0x47763c
mov edx, dword [0xa560ec]
mov eax, dword [0xa560f4]
cmp edx, eax
je 0x4777c2
mov eax, dword [0xa560e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x477654
mov eax, dword [0xa560f4]
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 0x477671
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0x135
jne 0x4776eb
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30180]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x477697
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4776db
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4776be
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4776ea
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 0x4776a0
jmp 0x4776eb
nop
mov eax, dword [0xa560ec]
test eax, eax
je 0x477737
mov eax, dword [0xa560e8]
test eax, eax
je 0x477718
mov edx, dword [0xa560ec]
mov eax, dword [0xa560e8]
add eax, edx
cmp eax, 0x10
jle 0x477737
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov edx, dword [0xa560ec]
mov eax, dword [0xa560f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x477737
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x477749
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4777c6
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa30180]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x47776f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4777b3
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x477796
mov byte [ebp - 0x3d], 0
jmp 0x4778c5
mov eax, dword [ebp - 0x24]
add eax, 0xa2fd80
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4777c5
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 0x477778
jmp 0x4777c6
nop
jmp 0x4777c6
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa301a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00463629
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6952c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x555196
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4778c5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6956e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4778c5
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa301a0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00463629
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa301a0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa56100
mov dword [esp + 4], 0x555196
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6952c0]
fld qword [0xa56100]
fstp xword [eax]
jmp 0x4778c5
nop
jmp 0x4778c5
nop
cmp byte [ebp - 0x3d], 0
je 0x478009
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00462e65
jmp 0x4778e4
nop
mov dword [0xa56108], 0
jmp 0x4778f1
nop
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x477b26
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x477934
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x477934
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x47796e
call fcn.00456f33
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 0x47796e
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa56108]
cmp dword [ebp - 0x1c], eax
je 0x477b26
mov eax, dword [0xa56108]
xor eax, 1
mov dword [0xa56108], eax
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5610c], eax
mov eax, dword [0x6ab76c]
mov byte [eax + 0x50], 1
mov edx, dword [0x69ad90]
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56110], eax
mov edx, dword [0x69ad94]
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56114], eax
mov eax, dword [0xa56114]
test eax, eax
jne 0x4779ea
mov dword [0xa56114], 1
mov eax, dword [0xa56114]
mov dword [0xa56118], eax
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x477a1f
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x477a1f
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x477a29
mov dword [0xa56118], 1
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56110]
imul eax, edx
mov dword [0xa5611c], eax
mov dword [0xa56120], 0
jmp 0x477b00
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56114]
imul eax, edx
mov dword [0xa56124], eax
mov dword [0xa56128], 0
jmp 0x477ad2
mov edx, dword [0xa5611c]
mov eax, dword [0xa56124]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004711f0
mov edx, eax
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5611c]
mov eax, dword [0xa56124]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045807e
mov eax, dword [0xa56124]
add eax, 1
mov dword [0xa56124], eax
mov eax, dword [0xa56128]
add eax, 1
mov dword [0xa56128], eax
mov edx, dword [0xa56128]
mov eax, dword [0xa56118]
cmp edx, eax
setl al
test al, al
jne 0x477a78
mov eax, dword [0xa5611c]
add eax, 1
mov dword [0xa5611c], eax
mov eax, dword [0xa56120]
add eax, 1
mov dword [0xa56120], eax
mov edx, dword [0xa56120]
mov eax, dword [0xa56110]
cmp edx, eax
setl al
test al, al
jne 0x477a52
mov edx, dword [0x6ab76c]
mov eax, dword [0xa5610c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x477b55
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.00462e65
jmp 0x477c2b
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x477bda
mov dword [esp], 0x54dda6
call fcn.00462aea
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462e65
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 0x477bc7
cmp dword [ebp - 0x2c], 0xa
jne 0x477ba0
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x55519a
call fcn.00462aea
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x477c18
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x477c18
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00464f3e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462e65
mov dword [0x69aa78], 1
call fcn.00427160
mov dword [0x69aa78], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004b5a1d
movzx eax, byte [0x585299]
test al, al
jne 0x478196
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4778f0
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x477e0e
mov eax, dword [0xa56108]
test eax, eax
je 0x477e0e
mov dword [0xa56108], 0
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa5612c], eax
mov eax, dword [0x6ab76c]
mov byte [eax + 0x50], 1
mov edx, dword [0x69ad90]
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56130], eax
mov edx, dword [0x69ad94]
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa56134], eax
mov eax, dword [0xa56134]
test eax, eax
jne 0x477cd2
mov dword [0xa56134], 1
mov eax, dword [0xa56134]
mov dword [0xa56138], eax
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x477d07
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x477d07
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x477d11
mov dword [0xa56138], 1
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56130]
imul eax, edx
mov dword [0xa5613c], eax
mov dword [0xa56140], 0
jmp 0x477de8
mov eax, dword [0x6ab76c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa56134]
imul eax, edx
mov dword [0xa56144], eax
mov dword [0xa56148], 0
jmp 0x477dba
mov edx, dword [0xa5613c]
mov eax, dword [0xa56144]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004711f0
mov edx, eax
mov eax, dword [0x6ab76c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa5613c]
mov eax, dword [0xa56144]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045807e
mov eax, dword [0xa56144]
add eax, 1
mov dword [0xa56144], eax
mov eax, dword [0xa56148]
add eax, 1
mov dword [0xa56148], eax
mov edx, dword [0xa56148]
mov eax, dword [0xa56138]
cmp edx, eax
setl al
test al, al
jne 0x477d60
mov eax, dword [0xa5613c]
add eax, 1
mov dword [0xa5613c], eax
mov eax, dword [0xa56140]
add eax, 1
mov dword [0xa56140], eax
mov edx, dword [0xa56140]
mov eax, dword [0xa56130]
cmp edx, eax
setl al
test al, al
jne 0x477d3a
mov edx, dword [0x6ab76c]
mov eax, dword [0xa5612c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x477e32
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00473286
jmp 0x4760a8
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x476092
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x477e6e
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 0x4760a8
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x476095
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x476098
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x47609b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x47609e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4760a1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4760a4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x477ff1
mov dword [ebp - 0x1c], 1
jmp 0x477efd
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa301a0]
mov dword [esp], eax
call fcn.00462271
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x477ee7
cmp byte [ebp - 0x9c], 0
je 0x477f43
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x477f43
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00473286
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00462271
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00462271
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00462271
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00462271
mov eax, dword [0x6ab76c]
mov edx, dword [0xa305a4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa560d0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0048a133
mov eax, dword [0xa560d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0048a133
mov eax, dword [0xa560c8]
test eax, eax
jne 0x477fde
mov dword [0x5392d8], 0xffffffff
jmp 0x477fd0
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5392d8]
test eax, eax
setne al
test al, al
jne 0x477fbf
mov eax, dword [0xa560cc]
mov dword [esp], eax
call fcn.0048a40f
nop
jmp 0x478197
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x47812a
jmp 0x47800a
nop
jmp 0x47800a
nop
jmp 0x47800a
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4778e3
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.0048a555
mov dword [ebp - 0x20], eax
mov edx, dword [0xa560d4]
mov eax, dword [0xa560d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00468d5f
mov eax, dword [0xa560d4]
mov dword [esp], eax
call fcn.0048a4ac
mov edx, dword [0x6ab76c]
mov eax, dword [0xa560d8]
mov word [edx + 0x38], ax
mov edx, dword [0x6ab76c]
mov eax, dword [0xa560dc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6ab76c]
mov eax, dword [0xa560e0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4780b3
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.00473286
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 0x478088
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0048a4ac
mov edx, dword [0xa560d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00468d5f
mov ecx, dword [0x6ab76c]
mov edx, dword [0x6ab744]
mov eax, dword [0xa560d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6ab76c]
mov edx, dword [0x6ab744]
mov eax, dword [0xa560d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4760a8
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4760a7
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00463629
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00462e65
mov eax, dword [0x6ab76c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x47817c
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00473286
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00462e65
jmp 0x4760a8
nop
jmp 0x478197
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret