Function at 0x4c5420
Capabilities:
Encrypt data using speck

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5516c3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xad4
mov eax, dword [0x5f7268]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x648], 0
mov byte [ebp - 0x611], 0
mov dword [ebp - 0x57c], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0xaa4], 0
mov dword [ebp - 0xa8c], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5c0], xmm0
jmp 0x4c54fb
movsd xmm0, qword [ebp - 0x5c0]
addsd xmm0, qword [0x5540e8]
movsd qword [ebp - 0x5c0], xmm0
movsd xmm0, qword [0x554ba8]
comisd xmm0, xmmword [ebp - 0x5c0]
jbe 0x4c55ac
movsd xmm0, qword [0x554a88]
mulsd xmm0, qword [ebp - 0x5c0]
mulsd xmm0, qword [ebp - 0x5c0]
movsd xmm1, qword [ebp - 0x5c0]
mulsd xmm1, qword [ebp - 0x5c0]
subsd xmm0, xmm1
movsd xmm1, qword [0x554890]
mulsd xmm1, qword [ebp - 0x5c0]
mulsd xmm1, qword [ebp - 0x5c0]
addsd xmm1, qword [0x554948]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x5d0]
movsd qword [ebp - 0x5d0], xmm0
movsd xmm0, qword [ebp - 0x5d0]
comisd xmm0, xmmword [0x554960]
jbe 0x4c55a7
movsd xmm0, qword [0x554788]
mulsd xmm0, qword [ebp - 0x5c0]
movsd xmm1, qword [ebp - 0x5d0]
subsd xmm1, xmm0
movsd qword [ebp - 0x5d0], xmm1
jmp 0x4c54e3
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x5d0]
jbe 0x4c55f1
xor al, 0x3d
jne 0x4c562f
dec edi
pushal
push esi
jp 0x4c560d
jp 0x4c5611
dec esp
jns 0x4c5624
push esp
jp 0x4c5627
sub dword [eax], esi
jp 0x4c5618
imul ebx, ebp, 0xd451d54e
dec esp
iretd
mov dword [ebp - 0x380], 0x4c55d2
mov dword [ebp - 0x37c], 0x4c55b9
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x53c], eax
invalid
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x7ac], ecx
mov byte [ebp - 0x4f9], 0x1d
lea edx, [eax + edi*8 - 1]
inc esi
test dword [edi], eax
sti
invalid
mov dword [ebp - 0x400], 0
jmp 0x4c563f
cld
invalid
jnp 0x4856ca
mov edx, dword [ebp - 0x400]
add edx, 1
mov dword [ebp - 0x400], edx
inc dword [ebx - 0x6a76fe3e]
add ah, bh
invalid
cmp dword [ebp - 0x400], 0x100
jae 0x4c5660
mov eax, dword [ebp - 0x400]
mov cl, byte [ebp - 0x400]
mov byte [ebp + eax - 0xa88], cl
jmp 0x4c5630
mov dword [ebp - 0x5a0], 0
mov byte [ebp - 0x3a0], 0
mov dword [ebp - 0x400], 0xff
jmp 0x4c568c
mov edx, dword [ebp - 0x400]
sub edx, 1
mov dword [ebp - 0x400], edx
cmp dword [ebp - 0x400], 0
jbe 0x4c592c
mov dword [ebp - 0x63c], 0
mov dword [ebp - 0x5e4], 1
mov eax, dword [ebp - 0x5e4]
cmp eax, dword [ebp - 0x400]
jae 0x4c56cd
mov ecx, dword [ebp - 0x5e4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5e4], edx
jmp 0x4c56ad
mov eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x670], eax
cmp dword [ebp - 0x670], 3
ja case.default.0x4c56ec
mov ecx, dword [ebp - 0x670]
jmp dword [ecx*4 + 0x4cbd60]
movzx edx, byte [ebp - 0x3a0]
movzx eax, byte [ebp + edx - 0xa88]
movsd xmm0, qword [ebp - 0x5d0]
mov dword [ebp - 0x79c], eax
call fcn.0053fc00
and eax, 0xff
mov ecx, dword [ebp - 0x79c]
add ecx, eax
mov byte [ebp - 0x3a0], cl
jmp 0x4c5805
movzx eax, byte [ebp - 0x3a0]
movzx eax, byte [ebp + eax - 0xa88]
movsd xmm0, qword [ebp - 0x5d0]
mov dword [ebp - 0x7a0], eax
call fcn.0053fc00
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x7a0]
add ecx, eax
mov byte [ebp - 0x3a0], cl
jmp 0x4c5805
movzx ecx, byte [ebp - 0x3a0]
movzx eax, byte [ebp + ecx - 0xa88]
movsd xmm0, qword [ebp - 0x5d0]
mov dword [ebp - 0x7a4], eax
call fcn.0053fc00
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x7a4]
add ecx, eax
mov byte [ebp - 0x3a0], cl
jmp 0x4c5805
movzx edx, byte [ebp - 0x3a0]
movzx eax, byte [ebp + edx - 0xa88]
movsd xmm0, qword [ebp - 0x5d0]
mov dword [ebp - 0x7a8], eax
call fcn.0053fc00
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x7a8]
add ecx, eax
mov byte [ebp - 0x3a0], cl
jmp 0x4c5805
movzx eax, byte [ebp - 0x3a0]
movzx ecx, byte [ebp + eax - 0xa88]
mov edx, dword [ebp - 0x7ac]
add edx, dword [ebp - 0x5a0]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x3a0], cl
mov ecx, dword [ebp - 0x5a0]
add ecx, 1
mov dword [ebp - 0x5a0], ecx
movzx edx, byte [ebp - 0x4f9]
cmp dword [ebp - 0x5a0], edx
jb 0x4c5843
mov dword [ebp - 0x5a0], 0
movzx eax, byte [ebp - 0x4f9]
movzx ecx, byte [ebp - 0x3a0]
add ecx, eax
mov byte [ebp - 0x3a0], cl
movzx edx, byte [ebp - 0x3a0]
and edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x63c]
add eax, 1
mov dword [ebp - 0x63c], eax
cmp dword [ebp - 0x63c], 0xb
jbe 0x4c5882
mov eax, dword [ebp - 0x534]
xor edx, edx
div dword [ebp - 0x400]
mov dword [ebp - 0x534], edx
mov ecx, dword [ebp - 0x534]
cmp ecx, dword [ebp - 0x400]
ja 0x4c56cd
mov edx, dword [ebp - 0x400]
cmp edx, dword [ebp - 0x534]
je 0x4c5927
mov eax, dword [ebp - 0x534]
movzx ecx, byte [ebp + eax - 0xa88]
mov edx, dword [ebp - 0x400]
movzx eax, byte [ebp + edx - 0xa88]
xor eax, ecx
mov ecx, dword [ebp - 0x400]
mov byte [ebp + ecx - 0xa88], al
mov edx, dword [ebp - 0x400]
movzx eax, byte [ebp + edx - 0xa88]
mov ecx, dword [ebp - 0x534]
movzx edx, byte [ebp + ecx - 0xa88]
xor edx, eax
mov eax, dword [ebp - 0x534]
mov byte [ebp + eax - 0xa88], dl
mov ecx, dword [ebp - 0x534]
movzx edx, byte [ebp + ecx - 0xa88]
mov eax, dword [ebp - 0x400]
movzx ecx, byte [ebp + eax - 0xa88]
xor ecx, edx
mov edx, dword [ebp - 0x400]
mov byte [ebp + edx - 0xa88], cl
jmp 0x4c567d
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0xa88]
mov byte [ebp - 0x397], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0xa88]
mov byte [ebp - 0x39a], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0xa88]
mov byte [ebp - 0x3aa], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0xa88]
mov byte [ebp - 0x399], cl
movzx edx, byte [ebp - 0x3a0]
mov al, byte [ebp + edx - 0xa88]
mov byte [ebp - 0x39f], al
mov dword [ebp - 0x66c], 0x1a
cmp dword [ebp - 0x66c], 2
jle 0x4c6497
mov ecx, dword [ebp - 0x66c]
and ecx, 1
jne 0x4c6497
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x458], 0
mov edx, dword [ebp - 0x458]
add edx, 1
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x538], 0
mov eax, dword [ebp - 0x3dc]
shl eax, 1
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x514], 0
mov ecx, dword [ebp - 0x53c]
add ecx, dword [ebp - 0x538]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x514]
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x518], 0
mov eax, dword [ebp - 0x518]
add eax, 0xcf
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x540], 0
mov ecx, dword [ebp - 0x3dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x540], edx
mov dword [ebp - 0x51c], 0
mov eax, dword [ebp - 0x53c]
add eax, dword [ebp - 0x540]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x520], 0
mov edx, dword [ebp - 0x520]
add edx, 0x46
mov dword [ebp - 0x520], edx
mov dword [ebp - 0x524], 0
mov eax, dword [ebp - 0x514]
sub eax, dword [ebp - 0x518]
add eax, dword [ebp - 0x524]
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x528], 0
mov ecx, dword [ebp - 0x51c]
sub ecx, dword [ebp - 0x520]
add ecx, dword [ebp - 0x528]
mov dword [ebp - 0x528], ecx
mov dword [ebp - 0x544], 0
mov edx, dword [ebp - 0x524]
shl edx, 4
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x548], 0
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x54c], 0
mov ecx, dword [ebp - 0x544]
or ecx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], ecx
mov byte [ebp - 0x3ab], 0
mov dl, byte [ebp - 0x54c]
mov byte [ebp - 0x3ab], dl
mov byte [ebp - 0x3a9], 0
movzx eax, byte [ebp - 0x39f]
mov cl, byte [ebp + eax - 0xa88]
mov byte [ebp - 0x3a9], cl
movzx edx, byte [ebp - 0x397]
movzx eax, byte [ebp + edx - 0xa88]
mov dword [ebp - 0x7b0], eax
mov cl, byte [ebp - 0x397]
add cl, 1
mov byte [ebp - 0x397], cl
movzx edx, byte [ebp - 0x39a]
add edx, dword [ebp - 0x7b0]
mov byte [ebp - 0x39a], dl
movzx eax, byte [ebp - 0x39a]
movzx ecx, byte [ebp - 0x39f]
mov dl, byte [ebp + eax - 0xa88]
mov byte [ebp + ecx - 0xa88], dl
movzx eax, byte [ebp - 0x399]
movzx ecx, byte [ebp - 0x39a]
mov dl, byte [ebp + eax - 0xa88]
mov byte [ebp + ecx - 0xa88], dl
movzx eax, byte [ebp - 0x397]
movzx ecx, byte [ebp - 0x399]
mov dl, byte [ebp + eax - 0xa88]
mov byte [ebp + ecx - 0xa88], dl
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp - 0x3a9]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x3a9]
movzx eax, byte [ebp + edx - 0xa88]
movzx ecx, byte [ebp - 0x3aa]
add ecx, eax
mov byte [ebp - 0x3aa], cl
movzx edx, byte [ebp - 0x3ab]
movzx eax, byte [ebp - 0x39a]
movzx ecx, byte [ebp + eax - 0xa88]
movzx eax, byte [ebp - 0x397]
movzx eax, byte [ebp + eax - 0xa88]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xa88]
xor edx, ecx
movzx eax, byte [ebp - 0x399]
movzx ecx, byte [ebp + eax - 0xa88]
movzx eax, byte [ebp - 0x39f]
movzx eax, byte [ebp + eax - 0xa88]
add ecx, eax
movzx eax, byte [ebp - 0x3aa]
movzx eax, byte [ebp + eax - 0xa88]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xa88]
movzx eax, byte [ebp + ecx - 0xa88]
xor edx, eax
mov byte [ebp - 0x399], dl
mov cl, byte [ebp - 0x3ab]
mov byte [ebp - 0x39f], cl
mov dl, byte [ebp - 0x399]
mov byte [ebp - 0x3b9], dl
cmp dword [ebp - 0x3dc], 0
jle 0x4c5cc1
movsx ax, byte [ebp - 0x3b9]
mov ecx, dword [ebp - 0x3dc]
mov word [ebp + ecx*2 - 0x6a], ax
mov edx, dword [ebp - 0x458]
add edx, 5
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x3dc]
add eax, 1
mov dword [ebp - 0x640], eax
jmp 0x4c5cf0
mov ecx, dword [ebp - 0x640]
add ecx, 1
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x640]
cmp edx, dword [ebp - 0x458]
jge 0x4c5f57
mov eax, dword [ebp - 0x3dc]
add eax, 1
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
shl ecx, 1
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x53c]
add edx, dword [ebp - 0x538]
movzx eax, byte [edx]
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x518], 0xcf
mov ecx, dword [ebp - 0x3dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x53c]
add eax, dword [ebp - 0x540]
movzx ecx, byte [eax]
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x520], 0x46
mov edx, dword [ebp - 0x514]
sub edx, dword [ebp - 0x518]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x51c]
sub eax, dword [ebp - 0x520]
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x524]
shl ecx, 4
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x544]
or eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov cl, byte [ebp - 0x54c]
mov byte [ebp - 0x3ab], cl
movzx edx, byte [ebp - 0x39f]
mov al, byte [ebp + edx - 0xa88]
mov byte [ebp - 0x3a9], al
movzx ecx, byte [ebp - 0x397]
movzx edx, byte [ebp + ecx - 0xa88]
mov dword [ebp - 0x7b4], edx
mov al, byte [ebp - 0x397]
add al, 1
mov byte [ebp - 0x397], al
movzx ecx, byte [ebp - 0x39a]
add ecx, dword [ebp - 0x7b4]
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp - 0x39f]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp - 0x39a]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
movzx eax, byte [ebp - 0x399]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp - 0x3a9]
mov byte [ebp + edx - 0xa88], al
movzx ecx, byte [ebp - 0x3a9]
movzx edx, byte [ebp + ecx - 0xa88]
movzx eax, byte [ebp - 0x3aa]
add eax, edx
mov byte [ebp - 0x3aa], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x397]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
xor ecx, eax
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x39f]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
movzx edx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
movzx edx, byte [ebp + eax - 0xa88]
xor ecx, edx
mov byte [ebp - 0x399], cl
mov al, byte [ebp - 0x3ab]
mov byte [ebp - 0x39f], al
mov cl, byte [ebp - 0x399]
mov byte [ebp - 0x3b9], cl
cmp dword [ebp - 0x3dc], 0
jle 0x4c5f52
movsx dx, byte [ebp - 0x3b9]
mov eax, dword [ebp - 0x3dc]
mov word [ebp + eax*2 - 0x6a], dx
jmp 0x4c5ce1
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
add edx, 6
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x3dc]
add eax, 1
mov dword [ebp - 0x638], eax
jmp 0x4c5f95
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
mov edx, dword [ebp - 0x638]
cmp edx, dword [ebp - 0x458]
jge 0x4c61fc
mov eax, dword [ebp - 0x3dc]
add eax, 1
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
shl ecx, 1
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x53c]
add edx, dword [ebp - 0x538]
movzx eax, byte [edx]
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x518], 0xcf
mov ecx, dword [ebp - 0x3dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x53c]
add eax, dword [ebp - 0x540]
movzx ecx, byte [eax]
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x520], 0x46
mov edx, dword [ebp - 0x514]
sub edx, dword [ebp - 0x518]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x51c]
sub eax, dword [ebp - 0x520]
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x524]
shl ecx, 4
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x544]
or eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov cl, byte [ebp - 0x54c]
mov byte [ebp - 0x3ab], cl
movzx edx, byte [ebp - 0x39f]
mov al, byte [ebp + edx - 0xa88]
mov byte [ebp - 0x3a9], al
movzx ecx, byte [ebp - 0x397]
movzx edx, byte [ebp + ecx - 0xa88]
mov dword [ebp - 0x7b8], edx
mov al, byte [ebp - 0x397]
add al, 1
mov byte [ebp - 0x397], al
movzx ecx, byte [ebp - 0x39a]
add ecx, dword [ebp - 0x7b8]
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp - 0x39f]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp - 0x39a]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
movzx eax, byte [ebp - 0x399]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp - 0x3a9]
mov byte [ebp + edx - 0xa88], al
movzx ecx, byte [ebp - 0x3a9]
movzx edx, byte [ebp + ecx - 0xa88]
movzx eax, byte [ebp - 0x3aa]
add eax, edx
mov byte [ebp - 0x3aa], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x397]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
xor ecx, eax
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x39f]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
movzx edx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
movzx edx, byte [ebp + eax - 0xa88]
xor ecx, edx
mov byte [ebp - 0x399], cl
mov al, byte [ebp - 0x3ab]
mov byte [ebp - 0x39f], al
mov cl, byte [ebp - 0x399]
mov byte [ebp - 0x3b9], cl
cmp dword [ebp - 0x3dc], 0
jle 0x4c61f7
movsx dx, byte [ebp - 0x3b9]
mov eax, dword [ebp - 0x3dc]
mov word [ebp + eax*2 - 0x6a], dx
jmp 0x4c5f86
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x3dc]
add edx, 1
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x458]
add eax, 1
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x3dc]
shl ecx, 1
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x53c]
add edx, dword [ebp - 0x538]
movzx eax, byte [edx]
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x518], 0xcf
mov ecx, dword [ebp - 0x3dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x53c]
add eax, dword [ebp - 0x540]
movzx ecx, byte [eax]
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x520], 0x46
mov edx, dword [ebp - 0x514]
sub edx, dword [ebp - 0x518]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x51c]
sub eax, dword [ebp - 0x520]
mov dword [ebp - 0x528], eax
mov ecx, dword [ebp - 0x524]
shl ecx, 4
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x544]
or eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov cl, byte [ebp - 0x54c]
mov byte [ebp - 0x3ab], cl
movzx edx, byte [ebp - 0x39f]
mov al, byte [ebp + edx - 0xa88]
mov byte [ebp - 0x3a9], al
movzx ecx, byte [ebp - 0x397]
movzx edx, byte [ebp + ecx - 0xa88]
mov dword [ebp - 0x7bc], edx
mov al, byte [ebp - 0x397]
add al, 1
mov byte [ebp - 0x397], al
movzx ecx, byte [ebp - 0x39a]
add ecx, dword [ebp - 0x7bc]
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp - 0x39f]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp - 0x39a]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
movzx eax, byte [ebp - 0x399]
mov cl, byte [ebp + edx - 0xa88]
mov byte [ebp + eax - 0xa88], cl
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp - 0x3a9]
mov byte [ebp + edx - 0xa88], al
movzx ecx, byte [ebp - 0x3a9]
movzx edx, byte [ebp + ecx - 0xa88]
movzx eax, byte [ebp - 0x3aa]
add eax, edx
mov byte [ebp - 0x3aa], al
movzx ecx, byte [ebp - 0x3ab]
movzx edx, byte [ebp - 0x39a]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x397]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
xor ecx, eax
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0xa88]
movzx edx, byte [ebp - 0x39f]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
movzx edx, byte [ebp - 0x3aa]
movzx edx, byte [ebp + edx - 0xa88]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xa88]
movzx edx, byte [ebp + eax - 0xa88]
xor ecx, edx
mov byte [ebp - 0x399], cl
mov al, byte [ebp - 0x3ab]
mov byte [ebp - 0x39f], al
mov cl, byte [ebp - 0x399]
mov byte [ebp - 0x3b9], cl
cmp dword [ebp - 0x3dc], 0
jle 0x4c646a
movsx dx, byte [ebp - 0x3b9]
mov eax, dword [ebp - 0x3dc]
mov word [ebp + eax*2 - 0x6a], dx
mov ecx, 2
imul edx, ecx, 0xc
mov dword [ebp - 0x690], edx
cmp dword [ebp - 0x690], 0x1a
jae 0x4c6483
jmp 0x4c6488
call fcn.0053f597
xor eax, eax
mov ecx, dword [ebp - 0x690]
mov word [ebp + ecx - 0x68], ax
jmp 0x4c64e8
mov dword [ebp - 0x5e8], 0
jmp 0x4c64b2
mov edx, dword [ebp - 0x5e8]
add edx, 1
mov dword [ebp - 0x5e8], edx
cmp dword [ebp - 0x5e8], 0xd
jge 0x4c64e8
mov eax, dword [ebp - 0x5e8]
shl eax, 1
mov dword [ebp - 0x694], eax
cmp dword [ebp - 0x694], 0x1a
jae 0x4c64d4
jmp 0x4c64d9
call fcn.0053f597
xor ecx, ecx
mov edx, dword [ebp - 0x694]
mov word [ebp + edx - 0x68], cx
jmp 0x4c64a3
push 4
call fcn.0053f24d
add esp, 4
mov dword [ebp - 0x634], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x634], 0
je 0x4c652c
push 4
mov ecx, dword [ebp - 0x634]
call fcn.0047de50
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x634]
call fcn.004b3290
mov dword [ebp - 0x68c], eax
jmp 0x4c6536
mov dword [ebp - 0x68c], 0
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c0]
mov dword [ebp - 0x964], edx
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x5e0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5b8], xmm0
jmp 0x4c65a4
movsd xmm0, qword [ebp - 0x5b8]
addsd xmm0, qword [0x5540e8]
movsd qword [ebp - 0x5b8], xmm0
movsd xmm0, qword [0x556220]
comisd xmm0, xmmword [ebp - 0x5b8]
jbe 0x4c6655
movsd xmm0, qword [0x5561b8]
mulsd xmm0, qword [ebp - 0x5b8]
mulsd xmm0, qword [ebp - 0x5b8]
movsd xmm1, qword [ebp - 0x5b8]
mulsd xmm1, qword [ebp - 0x5b8]
subsd xmm0, xmm1
movsd xmm1, qword [0x554858]
mulsd xmm1, qword [ebp - 0x5b8]
mulsd xmm1, qword [ebp - 0x5b8]
push edx
mulps xmm1, xmmword [ebp - 0x5b8]
addsd xmm1, qword [0x556160]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x5e0]
movsd qword [ebp - 0x5e0], xmm0
movsd xmm0, qword [ebp - 0x5e0]
comisd xmm0, xmmword [0x556178]
jbe 0x4c6650
movsd xmm0, qword [0x556130]
mulsd xmm0, qword [ebp - 0x5b8]
movsd xmm1, qword [ebp - 0x5e0]
subsd xmm1, xmm0
movsd qword [ebp - 0x5e0], xmm1
jmp 0x4c658c
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x5e0]
jbe 0x4c66a0
add byte [esi + 0x7d82797e], 0x89
jle 0x4c66e9
jl 0x4c65f5
jge 0x4c66ee
test dword [esp + eax*4 - 0x7c847b7f], eax
jg 0x4c66f0
xchg dword [edi + edi*2 + 0x7a7c7c83], eax
test byte [esi + 0x297e827e], al
jae 0x4c66a7
daa
sub al, 0x7a
cmp esi, dword [ecx]
push esi
push 0x5e
sub ch, byte [ebx]
dec esp
cmp eax, 0x387a7020
pushal
inc eax
jmp 0x4c8f8d
mov dword [ebp - 0x38c], 0x4c6662
mov dword [ebp - 0x388], 0x4c6684
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x980], ecx
mov byte [ebp - 0x4fa], 0x1b
mov dword [ebp - 0x404], 0
jmp 0x4c66ee
dec sp
add bh, al
test dword [eax - 4], edi
invalid
mov edx, dword [ebp - 0x404]
add edx, 1
mov dword [ebp - 0x404], edx
xchg ebp, eax
cld
sti
invalid
cmp dword [ebp - 0x404], 0x100
jae 0x4c670f
cld
sti
invalid
mov eax, dword [ebp - 0x404]
mov cl, byte [ebp - 0x404]
mov byte [ebp + eax - 0x8f0], cl
jmp 0x4c66df
mov dword [ebp - 0x5a4], 0
mov byte [ebp - 0x3a1], 0
mov dword [ebp - 0x404], 0xff
jmp 0x4c673b
mov edx, dword [ebp - 0x404]
sub edx, 1
mov dword [ebp - 0x404], edx
cmp dword [ebp - 0x404], 0
jbe 0x4c69db
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x5ec], 1
mov eax, dword [ebp - 0x5ec]
cmp eax, dword [ebp - 0x404]
jae 0x4c677c
mov ecx, dword [ebp - 0x5ec]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x5ec], edx
jmp 0x4c675c
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 3
ja case.default.0x4c679b
mov ecx, dword [ebp - 0x65c]
jmp dword [ecx*4 + 0x4cbd70]
movzx edx, byte [ebp - 0x3a1]
movzx eax, byte [ebp + edx - 0x8f0]
movsd xmm0, qword [ebp - 0x5e0]
mov dword [ebp - 0x7c4], eax
call fcn.0053fc00
and eax, 0xff
mov ecx, dword [ebp - 0x7c4]
add ecx, eax
mov byte [ebp - 0x3a1], cl
jmp 0x4c68b4
movzx eax, byte [ebp - 0x3a1]
movzx eax, byte [ebp + eax - 0x8f0]
movsd xmm0, qword [ebp - 0x5e0]
mov dword [ebp - 0x7f0], eax
call fcn.0053fc00
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x7f0]
add ecx, eax
mov byte [ebp - 0x3a1], cl
jmp 0x4c68b4
movzx ecx, byte [ebp - 0x3a1]
movzx eax, byte [ebp + ecx - 0x8f0]
movsd xmm0, qword [ebp - 0x5e0]
mov dword [ebp - 0x988], eax
call fcn.0053fc00
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x988]
add ecx, eax
mov byte [ebp - 0x3a1], cl
jmp 0x4c68b4
movzx edx, byte [ebp - 0x3a1]
movzx eax, byte [ebp + edx - 0x8f0]
movsd xmm0, qword [ebp - 0x5e0]
mov dword [ebp - 0x984], eax
call fcn.0053fc00
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x984]
add ecx, eax
mov byte [ebp - 0x3a1], cl
jmp 0x4c68b4
movzx eax, byte [ebp - 0x3a1]
movzx ecx, byte [ebp + eax - 0x8f0]
mov edx, dword [ebp - 0x980]
add edx, dword [ebp - 0x5a4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x3a1], cl
mov ecx, dword [ebp - 0x5a4]
add ecx, 1
mov dword [ebp - 0x5a4], ecx
movzx edx, byte [ebp - 0x4fa]
cmp dword [ebp - 0x5a4], edx
jb 0x4c68f2
mov dword [ebp - 0x5a4], 0
movzx eax, byte [ebp - 0x4fa]
movzx ecx, byte [ebp - 0x3a1]
add ecx, eax
mov byte [ebp - 0x3a1], cl
movzx edx, byte [ebp - 0x3a1]
and edx, dword [ebp - 0x5ec]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x630]
add eax, 1
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0xb
jbe 0x4c6931
mov eax, dword [ebp - 0x550]
xor edx, edx
div dword [ebp - 0x404]
mov dword [ebp - 0x550], edx
mov ecx, dword [ebp - 0x550]
cmp ecx, dword [ebp - 0x404]
ja 0x4c677c
mov edx, dword [ebp - 0x404]
cmp edx, dword [ebp - 0x550]
je 0x4c69d6
mov eax, dword [ebp - 0x550]
movzx ecx, byte [ebp + eax - 0x8f0]
mov edx, dword [ebp - 0x404]
movzx eax, byte [ebp + edx - 0x8f0]
xor eax, ecx
mov ecx, dword [ebp - 0x404]
mov byte [ebp + ecx - 0x8f0], al
mov edx, dword [ebp - 0x404]
movzx eax, byte [ebp + edx - 0x8f0]
mov ecx, dword [ebp - 0x550]
movzx edx, byte [ebp + ecx - 0x8f0]
xor edx, eax
mov eax, dword [ebp - 0x550]
mov byte [ebp + eax - 0x8f0], dl
mov ecx, dword [ebp - 0x550]
movzx edx, byte [ebp + ecx - 0x8f0]
mov eax, dword [ebp - 0x404]
movzx ecx, byte [ebp + eax - 0x8f0]
xor ecx, edx
mov edx, dword [ebp - 0x404]
mov byte [ebp + edx - 0x8f0], cl
jmp 0x4c672c
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x390], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x392], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x39c], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x393], cl
movzx edx, byte [ebp - 0x3a1]
mov al, byte [ebp + edx - 0x8f0]
mov byte [ebp - 0x398], al
mov dword [ebp - 0x660], 0x22
cmp dword [ebp - 0x660], 2
jle 0x4c8f40
mov ecx, dword [ebp - 0x660]
and ecx, 1
jne 0x4c8f40
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x408], 0
mov edx, dword [ebp - 0x408]
add edx, 1
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x4e4], 0
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4bc], 0
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [ebp - 0x4e4]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4a4], 0
mov eax, dword [ebp - 0x4a4]
add eax, 0x7a
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4ec], 0
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4ec], edx
mov dword [ebp - 0x4a8], 0
mov eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4ec]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4ac], 0
mov edx, dword [ebp - 0x4ac]
add edx, 0x77
mov dword [ebp - 0x4ac], edx
mov dword [ebp - 0x4b0], 0
mov eax, dword [ebp - 0x4bc]
sub eax, dword [ebp - 0x4a4]
add eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4b4], 0
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [ebp - 0x4ac]
add ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x4c0], 0
mov edx, dword [ebp - 0x4b0]
shl edx, 4
mov dword [ebp - 0x4c0], edx
mov dword [ebp - 0x4c4], 0
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c8], 0
mov ecx, dword [ebp - 0x4c0]
or ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], ecx
mov byte [ebp - 0x39d], 0
mov dl, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], dl
mov byte [ebp - 0x39b], 0
movss xmm0, dword [0x556418]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [0x5563f4]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [0x5563b4]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [0x555110]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3d4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3d4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3d4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3d4]
comiss xmm0, dword [ebp - 0x3b8]
jbe 0x4c6f64
movss xmm0, dword [ebp - 0x3c0]
divss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c0]
divss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3b8]
divss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3d4]
divss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c0]
addss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c4]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c4]
addss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3d4]
comiss xmm0, dword [ebp - 0x3c0]
jbe 0x4c6f02
movss xmm0, dword [ebp - 0x3c0]
divss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c4]
divss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c0]
divss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3d4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c0]
mulss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c4]
comiss xmm0, dword [ebp - 0x3b8]
jbe 0x4c6ea0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3d4]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3c0]
mulss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3b8]
divss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
jmp 0x4c6f00
movss xmm0, dword [ebp - 0x3d4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
movss xmm0, dword [ebp - 0x3c4]
addss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c4]
addss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3d4]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3d4], xmm0
jmp 0x4c6f62
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c4]
mulss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c4]
divss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
jmp 0x4c6fd8
movss xmm0, dword [ebp - 0x3c4]
addss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c0]
subss xmm0, dword [ebp - 0x3d4]
movss dword [ebp - 0x3c0], xmm0
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x39b], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp + edx - 0x8f0]
mov dword [ebp - 0x97c], eax
mov cl, byte [ebp - 0x390]
add cl, 1
mov byte [ebp - 0x390], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0x97c]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x390]
mov cl, byte [ebp - 0x39b]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp + edx - 0x8f0]
movzx ecx, byte [ebp - 0x39c]
add ecx, eax
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x390]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x398]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
movzx eax, byte [ebp - 0x39c]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
movzx eax, byte [ebp + ecx - 0x8f0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39d]
mov byte [ebp - 0x398], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4c714c
mov eax, dword [ebp - 0x3b0]
mov cl, byte [ebp - 0x3ac]
mov byte [ebp + eax - 0x29], cl
mov edx, dword [ebp - 0x408]
add edx, 6
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x3b0]
add eax, 1
mov dword [ebp - 0x62c], eax
jmp 0x4c717b
mov ecx, dword [ebp - 0x62c]
add ecx, 1
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x62c]
cmp edx, dword [ebp - 0x408]
jge 0x4c7875
mov eax, dword [ebp - 0x3b0]
add eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b0]
shl ecx, 1
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e8]
add edx, dword [ebp - 0x4e4]
movzx eax, byte [edx]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4a4], 0x7a
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4ec]
movzx ecx, byte [eax]
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4ac], 0x77
mov edx, dword [ebp - 0x4bc]
sub edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4a8]
sub eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b0]
shl ecx, 4
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c0]
or eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
mov cl, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + edx - 0x8f0]
mov byte [ebp - 0x39b], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp + ecx - 0x8f0]
mov dword [ebp - 0x978], edx
mov al, byte [ebp - 0x390]
add al, 1
mov byte [ebp - 0x390], al
movzx ecx, byte [ebp - 0x392]
add ecx, dword [ebp - 0x978]
mov byte [ebp - 0x392], cl
movsd xmm0, qword [0x556310]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [0x5562f8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [0x5562d0]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [0x556290]
movsd qword [ebp - 0x588], xmm0
movsd xmm0, qword [0x556268]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [0x556218]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [0x5561c8]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x560]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [ebp - 0x530]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x560]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x530]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x490]
comisd xmm0, xmmword [ebp - 0x560]
jbe 0x4c768d
movsd xmm0, qword [ebp - 0x5c8]
subsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x568]
mulsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x588]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x588]
divsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x588], xmm0
movsd xmm0, qword [ebp - 0x4e0]
mulsd xmm0, qword [ebp - 0x588]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x490]
mulsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x588]
mulsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x588], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x530]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x530]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x490]
addsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x588]
divsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x588], xmm0
movsd xmm0, qword [ebp - 0x5c8]
subsd xmm0, qword [ebp - 0x588]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x568]
comisd xmm0, xmmword [ebp - 0x560]
jbe 0x4c75e0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x560]
mulsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [ebp - 0x490]
divsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x530]
subsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x568]
divsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x568], xmm0
jmp 0x4c7688
movsd xmm0, qword [ebp - 0x4e0]
subsd xmm0, qword [ebp - 0x588]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x530]
addsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x490]
addsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x530]
mulsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x490]
mulsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x588]
addsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x588], xmm0
jmp 0x4c7751
movsd xmm0, qword [ebp - 0x4e0]
subsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x568]
mulsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e0]
mulsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x5c8]
mulsd xmm0, qword [ebp - 0x588]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x588]
mulsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x588], xmm0
movsd xmm0, qword [ebp - 0x560]
addsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x560], xmm0
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp - 0x392]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp - 0x393]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x390]
mov al, byte [ebp - 0x39b]
mov byte [ebp + edx - 0x8f0], al
movzx ecx, byte [ebp - 0x39b]
movzx edx, byte [ebp + ecx - 0x8f0]
movzx eax, byte [ebp - 0x39c]
add eax, edx
mov byte [ebp - 0x39c], al
movzx ecx, byte [ebp - 0x39d]
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp + edx - 0x8f0]
movzx edx, byte [ebp - 0x390]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f0]
xor ecx, eax
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp + edx - 0x8f0]
movzx edx, byte [ebp - 0x398]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
movzx edx, byte [ebp - 0x39c]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f0]
movzx edx, byte [ebp + eax - 0x8f0]
xor ecx, edx
mov byte [ebp - 0x393], cl
mov al, byte [ebp - 0x39d]
mov byte [ebp - 0x398], al
mov cl, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], cl
cmp dword [ebp - 0x3b0], 0
jle 0x4c7870
mov edx, dword [ebp - 0x3b0]
mov al, byte [ebp - 0x3ac]
mov byte [ebp + edx - 0x29], al
jmp 0x4c716c
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x3b0]
add edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x408]
add eax, 1
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x3b0]
shl ecx, 1
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e8]
add edx, dword [ebp - 0x4e4]
movzx eax, byte [edx]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4a4], 0x7a
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4ec]
movzx ecx, byte [eax]
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4ac], 0x77
mov edx, dword [ebp - 0x4bc]
sub edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4a8]
sub eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b0]
shl ecx, 4
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c0]
or eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
mov cl, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + edx - 0x8f0]
mov byte [ebp - 0x39b], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp + ecx - 0x8f0]
mov dword [ebp - 0x974], edx
mov al, byte [ebp - 0x390]
add al, 1
mov byte [ebp - 0x390], al
movzx ecx, byte [ebp - 0x392]
add ecx, dword [ebp - 0x974]
mov byte [ebp - 0x392], cl
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp - 0x392]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp - 0x393]
mov cl, byte [ebp + edx - 0x8f0]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x390]
mov al, byte [ebp - 0x39b]
mov byte [ebp + edx - 0x8f0], al
movzx ecx, byte [ebp - 0x39b]
movzx edx, byte [ebp + ecx - 0x8f0]
movzx eax, byte [ebp - 0x39c]
add eax, edx
mov byte [ebp - 0x39c], al
movzx ecx, byte [ebp - 0x39d]
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp + edx - 0x8f0]
movzx edx, byte [ebp - 0x390]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f0]
xor ecx, eax
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp + edx - 0x8f0]
movzx edx, byte [ebp - 0x398]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
movzx edx, byte [ebp - 0x39c]
movzx edx, byte [ebp + edx - 0x8f0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f0]
movzx edx, byte [ebp + eax - 0x8f0]
xor ecx, edx
mov byte [ebp - 0x393], cl
mov al, byte [ebp - 0x39d]
mov byte [ebp - 0x398], al
mov cl, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], cl
cmp dword [ebp - 0x3b0], 0
jle 0x4c7ae0
mov edx, dword [ebp - 0x3b0]
mov al, byte [ebp - 0x3ac]
mov byte [ebp + edx - 0x29], al
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x408]
add edx, 1
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [ebp - 0x4e4]
movzx edx, byte [ecx]
mov dword [ebp - 0x4bc], edx
mov dword [ebp - 0x4a4], 0x7a
mov eax, dword [ebp - 0x3b0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4e8]
add edx, dword [ebp - 0x4ec]
movzx eax, byte [edx]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4ac], 0x77
mov ecx, dword [ebp - 0x4bc]
sub ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x4a8]
sub edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x4b0]
shl eax, 4
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c0]
or edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], edx
mov al, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + ecx - 0x8f0]
mov byte [ebp - 0x39b], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp + eax - 0x8f0]
mov dword [ebp - 0x970], ecx
mov dl, byte [ebp - 0x390]
add dl, 1
mov byte [ebp - 0x390], dl
movzx eax, byte [ebp - 0x392]
add eax, dword [ebp - 0x970]
mov byte [ebp - 0x392], al
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + ecx - 0x8f0]
mov byte [ebp + edx - 0x8f0], al
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp - 0x392]
mov al, byte [ebp + ecx - 0x8f0]
mov byte [ebp + edx - 0x8f0], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp - 0x393]
mov al, byte [ebp + ecx - 0x8f0]
mov byte [ebp + edx - 0x8f0], al
movzx ecx, byte [ebp - 0x390]
mov dl, byte [ebp - 0x39b]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x39b]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx edx, byte [ebp - 0x39c]
add edx, ecx
mov byte [ebp - 0x39c], dl
movzx eax, byte [ebp - 0x39d]
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp + ecx - 0x8f0]
movzx ecx, byte [ebp - 0x390]
movzx ecx, byte [ebp + ecx - 0x8f0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f0]
xor eax, edx
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp + ecx - 0x8f0]
movzx ecx, byte [ebp - 0x398]
movzx ecx, byte [ebp + ecx - 0x8f0]
add edx, ecx
movzx ecx, byte [ebp - 0x39c]
movzx ecx, byte [ebp + ecx - 0x8f0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f0]
movzx ecx, byte [ebp + edx - 0x8f0]
xor eax, ecx
mov byte [ebp - 0x393], al
mov dl, byte [ebp - 0x39d]
mov byte [ebp - 0x398], dl
mov al, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], al
cmp dword [ebp - 0x3b0], 0
jle 0x4c7d3f
mov ecx, dword [ebp - 0x3b0]
mov dl, byte [ebp - 0x3ac]
mov byte [ebp + ecx - 0x29], dl
mov eax, dword [ebp - 0x408]
add eax, 7
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x628], ecx
jmp 0x4c7d6e
mov edx, dword [ebp - 0x628]
add edx, 1
mov dword [ebp - 0x628], edx
mov eax, dword [ebp - 0x628]
cmp eax, dword [ebp - 0x408]
jge 0x4c81e2
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b0]
shl edx, 1
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4e4]
movzx ecx, byte [eax]
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4a4], 0x7a
mov edx, dword [ebp - 0x3b0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [ebp - 0x4ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4ac], 0x77
mov eax, dword [ebp - 0x4bc]
sub eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x4b0]
shl edx, 4
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x4c0]
or ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], ecx
mov dl, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x39b], cl
movss xmm0, dword [0x5563d4]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [0x556398]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [0x556368]
movss dword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x454]
mulss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [ebp - 0x454]
comiss xmm0, dword [ebp - 0x434]
jbe 0x4c7f6d
movss xmm0, dword [ebp - 0x3d0]
addss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
addss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x454]
mulss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x454], xmm0
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp + edx - 0x8f0]
mov dword [ebp - 0x96c], eax
mov cl, byte [ebp - 0x390]
add cl, 1
mov byte [ebp - 0x390], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0x96c]
mov byte [ebp - 0x392], dl
jmp 0x4c80a0
movss xmm0, dword [ebp - 0x454]
subss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
addss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x434]
mulss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x454]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
addss xmm0, dword [ebp - 0x454]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
comiss xmm0, dword [ebp - 0x434]
jbe 0x4c8058
movss xmm0, dword [ebp - 0x434]
subss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x434], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x454]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x454]
movss dword [ebp - 0x3d0], xmm0
jmp 0x4c80a0
movss xmm0, dword [ebp - 0x454]
mulss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [ebp - 0x454]
subss xmm0, dword [ebp - 0x434]
movss dword [ebp - 0x454], xmm0
movss xmm0, dword [ebp - 0x434]
divss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x434], xmm0
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x390]
mov cl, byte [ebp - 0x39b]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp + edx - 0x8f0]
movzx ecx, byte [ebp - 0x39c]
add ecx, eax
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x390]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x398]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
movzx eax, byte [ebp - 0x39c]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
movzx eax, byte [ebp + ecx - 0x8f0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39d]
mov byte [ebp - 0x398], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4c81dd
mov eax, dword [ebp - 0x3b0]
mov cl, byte [ebp - 0x3ac]
mov byte [ebp + eax - 0x29], cl
jmp 0x4c7d5f
mov edx, dword [ebp - 0x408]
add edx, 1
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x3b0]
add eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
movsd xmm0, qword [0x5562b0]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [0x556280]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [0x556230]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [0x5561d0]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x440]
subsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x440]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x440]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x440]
comisd xmm0, xmmword [ebp - 0x4d8]
jbe 0x4c8334
movsd xmm0, qword [ebp - 0x440]
mulsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x4d8]
subsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x440]
mulsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x440], xmm0
mov edx, dword [ebp - 0x3b0]
shl edx, 1
mov dword [ebp - 0x4e4], edx
jmp 0x4c85ff
movsd xmm0, qword [ebp - 0x510]
subsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x440]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x510]
addsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x4d8]
addsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x440]
addsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x440]
divsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x430]
comisd xmm0, xmmword [ebp - 0x440]
jbe 0x4c846b
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x430]
divsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x4d8]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x510]
divsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x510], xmm0
jmp 0x4c85ff
movsd xmm0, qword [ebp - 0x510]
subsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x440]
divsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x4d8]
subsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x4d8]
divsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x510]
divsd xmm0, qword [ebp - 0x430]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x440]
subsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x440], xmm0
movsd xmm0, qword [ebp - 0x430]
subsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x4d8]
comisd xmm0, xmmword [ebp - 0x510]
jbe 0x4c859f
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x430]
subsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x510]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x510], xmm0
jmp 0x4c85ff
movsd xmm0, qword [ebp - 0x4d8]
divsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x4d8]
subsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x430]
subsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
movsd xmm0, qword [ebp - 0x430]
mulsd xmm0, qword [ebp - 0x440]
movsd qword [ebp - 0x430], xmm0
mov eax, dword [ebp - 0x4e8]
add eax, dword [ebp - 0x4e4]
movzx ecx, byte [eax]
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4a4], 0x7a
mov edx, dword [ebp - 0x3b0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4e8]
add ecx, dword [ebp - 0x4ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4ac], 0x77
mov eax, dword [ebp - 0x4bc]
sub eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x4a8]
sub ecx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x4b0]
shl edx, 4
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x4c0]
or ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], ecx
movsd xmm0, qword [0x556320]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [0x5562c8]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [0x556240]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x428]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x428]
mulsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x4a0]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x4a0]
comisd xmm0, xmmword [ebp - 0x428]
jbe 0x4c8952
movsd xmm0, qword [ebp - 0x4a0]
subsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x428]
addsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x4a0]
addsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x428]
mulsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x4a0]
divsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4a0]
comisd xmm0, xmmword [ebp - 0x428]
jbe 0x4c8908
movsd xmm0, qword [ebp - 0x4f8]
divsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4f8]
divsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4f8]
divsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x428]
divsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x428]
subsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x4f8]
subsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4f8]
comisd xmm0, xmmword [ebp - 0x428]
jbe 0x4c88be
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4a0]
divsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x4f8]
addsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4f8], xmm0
jmp 0x4c8906
movsd xmm0, qword [ebp - 0x428]
addsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x428]
mulsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x428]
addsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
jmp 0x4c8950
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x428]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x428]
divsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x428]
addsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
jmp 0x4c89a6
movsd xmm0, qword [ebp - 0x428]
addsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
movsd xmm0, qword [ebp - 0x4a0]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4a0], xmm0
movsd xmm0, qword [ebp - 0x428]
subsd xmm0, qword [ebp - 0x4a0]
movsd qword [ebp - 0x428], xmm0
mov dl, byte [ebp - 0x4c8]
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + eax - 0x8f0]
mov byte [ebp - 0x39b], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp + edx - 0x8f0]
mov dword [ebp - 0x968], eax
mov cl, byte [ebp - 0x390]
add cl, 1
mov byte [ebp - 0x390], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0x968]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
movsd xmm0, qword [0x556300]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [0x5562b8]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [0x556270]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [0x556200]
movsd qword [ebp - 0x498], xmm0
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
addsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x470]
mulsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x470]
comisd xmm0, xmmword [ebp - 0x498]
jbe 0x4c8b60
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x470]
mulsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x498]
addsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x498], xmm0
movsd xmm0, qword [ebp - 0x478]
mulsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x478], xmm0
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8f0]
mov byte [ebp + ecx - 0x8f0], dl
jmp 0x4c8e2c
movsd xmm0, qword [ebp - 0x498]
divsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x498], xmm0
movsd xmm0, qword [ebp - 0x468]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x498]
subsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x498], xmm0
movsd xmm0, qword [ebp - 0x468]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x468]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x468]
subsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x470]
addsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x498]
comisd xmm0, xmmword [ebp - 0x470]
jbe 0x4c8dcc
movsd xmm0, qword [ebp - 0x468]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x478]
addsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x498]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x498], xmm0
movsd xmm0, qword [ebp - 0x470]
addsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x468]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x468]
subsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x468]
mulsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x468]
comisd xmm0, xmmword [ebp - 0x478]
jbe 0x4c8d6a
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
addsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
addsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x478], xmm0
jmp 0x4c8dca
movsd xmm0, qword [ebp - 0x478]
mulsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x498]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
addsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x498]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x498], xmm0
jmp 0x4c8e2c
movsd xmm0, qword [ebp - 0x468]
addsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x470]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x468]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x468], xmm0
movsd xmm0, qword [ebp - 0x498]
addsd xmm0, qword [ebp - 0x468]
movsd qword [ebp - 0x498], xmm0
movzx eax, byte [ebp - 0x390]
mov cl, byte [ebp - 0x39b]
mov byte [ebp + eax - 0x8f0], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp + edx - 0x8f0]
movzx ecx, byte [ebp - 0x39c]
add ecx, eax
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x390]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8f0]
movzx eax, byte [ebp - 0x398]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
movzx eax, byte [ebp - 0x39c]
movzx eax, byte [ebp + eax - 0x8f0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f0]
movzx eax, byte [ebp + ecx - 0x8f0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39d]
mov byte [ebp - 0x398], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3ac], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4c8f15
mov eax, dword [ebp - 0x3b0]
mov cl, byte [ebp - 0x3ac]
mov byte [ebp + eax - 0x29], cl
mov edx, 1
shl edx, 4
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 0x11
jae 0x4c8f2e
jmp 0x4c8f33
call fcn.0053f597
mov eax, dword [ebp - 0x664]
mov byte [ebp + eax - 0x28], 0
jmp 0x4c8f8d
mov dword [ebp - 0x5f0], 0
jmp 0x4c8f5b
mov ecx, dword [ebp - 0x5f0]
add ecx, 1
mov dword [ebp - 0x5f0], ecx
cmp dword [ebp - 0x5f0], 0x11
jge 0x4c8f8d
mov edx, dword [ebp - 0x5f0]
mov dword [ebp - 0x668], edx
cmp dword [ebp - 0x668], 0x11
jae 0x4c8f7b
jmp 0x4c8f80
call fcn.0053f597
mov eax, dword [ebp - 0x668]
mov byte [ebp + eax - 0x28], 0
jmp 0x4c8f4c
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x964]
call fcn.004b32b0
mov dword [ebp - 0x960], eax
mov edx, dword [ebp - 0x960]
mov dword [ebp - 0x958], edx
lea eax, [ebp - 0x384]
push eax
push 0xf01ff
mov ecx, dword [ebp - 0x610]
push ecx
call dword [ebp - 0x958]
mov dword [ebp - 0x954], eax
push 0xc
lea ecx, [ebp - 0x2a8]
call fcn.0047de50
lea ecx, [ebp - 0x2a8]
call fcn.004c1910
mov dword [ebp - 4], 1
lea edx, [ebp - 0x2ac]
push edx
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, dword [ebp - 0x570]
call fcn.004ce0c0
cmp dword [ebp - 0x954], 0
je 0x4cbd10
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x378], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5b0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5b0], xmm0
jmp 0x4c9068
movsd xmm0, qword [ebp - 0x5b0]
addsd xmm0, qword [0x553948]
movsd qword [ebp - 0x5b0], xmm0
movsd xmm0, qword [0x5561e8]
comisd xmm0, xmmword [ebp - 0x5b0]
jbe 0x4c9119
movsd xmm0, qword [0x5561a8]
mulsd xmm0, qword [ebp - 0x5b0]
mulsd xmm0, qword [ebp - 0x5b0]
movsd xmm1, qword [ebp - 0x5b0]
mulsd xmm1, qword [ebp - 0x5b0]
subsd xmm0, xmm1
movsd xmm1, qword [0x555318]
mulsd xmm1, qword [ebp - 0x5b0]
mulsd xmm1, qword [ebp - 0x5b0]
addsd xmm1, qword [0x556150]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x5d8]
movsd qword [ebp - 0x5d8], xmm0
movsd xmm0, qword [ebp - 0x5d8]
comisd xmm0, xmmword [0x556188]
jbe 0x4c9114
movsd xmm0, qword [0x556138]
mulsd xmm0, qword [ebp - 0x5b0]
movsd xmm1, qword [ebp - 0x5d8]
subsd xmm1, xmm0
movsd qword [ebp - 0x5d8], xmm1
jmp 0x4c9050
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x5d8]
jbe 0x4c916c
jb 0x4c9175
cmp al, 0x69
inc ebp
arpl word ss:[eax + 0x2d], dx
pop edx
push esp
sub eax, 0x64702663
inc edx
insd dword es:[edi], dx
imul esi, dword [ebp + 0x7a], 0x56
push ebp
pop edx
xor eax, 0x23704e77
aam 0x5f
enter 0xffffffffffffc768, 0x60
invalid
mov dword [ebp - 0x374], 0x4c9145
mov dword [ebp - 0x378], 0x4c9126
mov edx, dword [ebp - 0x374]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x940], eax
mov byte [ebp - 0x4fb], 0x23
add bh, al
test dword [eax + 0x26fffffc], ecx
xchg ecx, eax
dec esp
add byte [ebx - 0x3736b], cl
dec dword [ecx - 0x4136b]
dec dword [ebx - 0x3777b]
dec dword [ecx - 0x93f7b]
inc esi
test dword [0x23fffffb], eax
mov dword [ebp - 0x40c], 0
jmp 0x4c91ba
mov ecx, dword [ebp - 0x40c]
add ecx, 1
mov dword [ebp - 0x40c], ecx
cmp dword [ebp - 0x40c], 0x100
jae 0x4c91db
mov edx, dword [ebp - 0x40c]
mov al, byte [ebp - 0x40c]
mov byte [ebp + edx - 0x798], al
jmp 0x4c91ab
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x3a2], 0
mov dword [ebp - 0x40c], 0xff
jmp 0x4c9207
mov ecx, dword [ebp - 0x40c]
sub ecx, 1
mov dword [ebp - 0x40c], ecx
cmp dword [ebp - 0x40c], 0
jbe 0x4c94a7
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x5f4], 1
mov edx, dword [ebp - 0x5f4]
cmp edx, dword [ebp - 0x40c]
jae 0x4c9248
mov eax, dword [ebp - 0x5f4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x5f4], ecx
jmp 0x4c9228
mov edx, dword [ebp - 0x594]
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 3
ja case.default.0x4c9267
mov eax, dword [ebp - 0x674]
jmp dword [eax*4 + 0x4cbd80]
movzx ecx, byte [ebp - 0x3a2]
movzx eax, byte [ebp + ecx - 0x798]
movsd xmm0, qword [ebp - 0x5d8]
mov dword [ebp - 0x950], eax
call fcn.0053fc00
and eax, 0xff
mov ecx, dword [ebp - 0x950]
add ecx, eax
mov byte [ebp - 0x3a2], cl
jmp 0x4c9380
movzx edx, byte [ebp - 0x3a2]
movzx eax, byte [ebp + edx - 0x798]
movsd xmm0, qword [ebp - 0x5d8]
mov dword [ebp - 0x94c], eax
call fcn.0053fc00
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x94c]
add ecx, eax
mov byte [ebp - 0x3a2], cl
jmp 0x4c9380
movzx eax, byte [ebp - 0x3a2]
movzx eax, byte [ebp + eax - 0x798]
movsd xmm0, qword [ebp - 0x5d8]
mov dword [ebp - 0x948], eax
call fcn.0053fc00
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x948]
add ecx, eax
mov byte [ebp - 0x3a2], cl
jmp 0x4c9380
movzx ecx, byte [ebp - 0x3a2]
movzx eax, byte [ebp + ecx - 0x798]
movsd xmm0, qword [ebp - 0x5d8]
mov dword [ebp - 0x944], eax
call fcn.0053fc00
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x944]
add ecx, eax
mov byte [ebp - 0x3a2], cl
jmp 0x4c9380
movzx edx, byte [ebp - 0x3a2]
movzx eax, byte [ebp + edx - 0x798]
mov ecx, dword [ebp - 0x940]
add ecx, dword [ebp - 0x594]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x3a2], al
mov eax, dword [ebp - 0x594]
add eax, 1
mov dword [ebp - 0x594], eax
movzx ecx, byte [ebp - 0x4fb]
cmp dword [ebp - 0x594], ecx
jb 0x4c93be
mov dword [ebp - 0x594], 0
movzx edx, byte [ebp - 0x4fb]
movzx eax, byte [ebp - 0x3a2]
add eax, edx
mov byte [ebp - 0x3a2], al
movzx ecx, byte [ebp - 0x3a2]
and ecx, dword [ebp - 0x5f4]
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x624]
add edx, 1
mov dword [ebp - 0x624], edx
cmp dword [ebp - 0x624], 0xb
jbe 0x4c93fd
mov eax, dword [ebp - 0x554]
xor edx, edx
div dword [ebp - 0x40c]
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x554]
cmp eax, dword [ebp - 0x40c]
ja 0x4c9248
mov ecx, dword [ebp - 0x40c]
cmp ecx, dword [ebp - 0x554]
je 0x4c94a2
mov edx, dword [ebp - 0x554]
movzx eax, byte [ebp + edx - 0x798]
mov ecx, dword [ebp - 0x40c]
movzx edx, byte [ebp + ecx - 0x798]
xor edx, eax
mov eax, dword [ebp - 0x40c]
mov byte [ebp + eax - 0x798], dl
mov ecx, dword [ebp - 0x40c]
movzx edx, byte [ebp + ecx - 0x798]
mov eax, dword [ebp - 0x554]
movzx ecx, byte [ebp + eax - 0x798]
xor ecx, edx
mov edx, dword [ebp - 0x554]
mov byte [ebp + edx - 0x798], cl
mov eax, dword [ebp - 0x554]
movzx ecx, byte [ebp + eax - 0x798]
mov edx, dword [ebp - 0x40c]
movzx eax, byte [ebp + edx - 0x798]
xor eax, ecx
mov ecx, dword [ebp - 0x40c]
mov byte [ebp + ecx - 0x798], al
jmp 0x4c91f8
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x38d], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x38e], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x395], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x38f], al
movzx ecx, byte [ebp - 0x3a2]
mov dl, byte [ebp + ecx - 0x798]
mov byte [ebp - 0x391], dl
mov dword [ebp - 0x678], 0x22
cmp dword [ebp - 0x678], 2
jle 0x4cb79e
mov eax, dword [ebp - 0x678]
and eax, 1
jne 0x4cb79e
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x410], 0
mov edx, dword [ebp - 0x3a8]
shl edx, 1
mov dword [ebp - 0x410], edx
mov dword [ebp - 0x3e8], 0
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x410]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3ec], 0
mov edx, dword [ebp - 0x3ec]
add edx, 0xc5
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x3a8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3e4], 0
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x3fc]
movzx eax, byte [edx]
add eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], 0
mov ecx, dword [ebp - 0x3f0]
add ecx, 0x5a
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x3f4], 0
mov edx, dword [ebp - 0x3e8]
sub edx, dword [ebp - 0x3ec]
add edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x3f4], edx
mov dword [ebp - 0x3e0], 0
mov eax, dword [ebp - 0x3e4]
sub eax, dword [ebp - 0x3f0]
add eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x418], 0
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x41c], 0
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x418]
or eax, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], eax
mov byte [ebp - 0x396], 0
mov cl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], cl
mov byte [ebp - 0x394], 0
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x798]
mov dword [ebp - 0x93c], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x38e]
add ecx, dword [ebp - 0x93c]
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x394]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp - 0x395]
add eax, edx
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x396]
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
xor ecx, eax
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x391]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
movzx edx, byte [ebp - 0x395]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
movzx edx, byte [ebp + eax - 0x798]
xor ecx, edx
mov byte [ebp - 0x38f], cl
mov al, byte [ebp - 0x396]
mov byte [ebp - 0x391], al
mov cl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], cl
cmp dword [ebp - 0x3a8], 0
jle 0x4c983a
movsx dx, byte [ebp - 0x39e]
mov eax, dword [ebp - 0x3a8]
mov word [ebp + eax*2 - 0x4e], dx
mov ecx, dword [ebp - 0x3a8]
add ecx, 1
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3a8]
shl eax, 1
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x414]
add ecx, dword [ebp - 0x410]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3ec], 0xc5
mov eax, dword [ebp - 0x3a8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x3fc]
movzx eax, byte [edx]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], 0x5a
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3e4]
sub edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3f4]
shl eax, 4
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x418]
or edx, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], edx
mov al, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], al
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + ecx - 0x798]
mov byte [ebp - 0x394], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp + eax - 0x798]
mov dword [ebp - 0x938], ecx
mov dl, byte [ebp - 0x38d]
add dl, 1
mov byte [ebp - 0x38d], dl
movzx eax, byte [ebp - 0x38e]
add eax, dword [ebp - 0x938]
mov byte [ebp - 0x38e], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x38e]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp - 0x38f]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38d]
mov dl, byte [ebp - 0x394]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x798]
movzx edx, byte [ebp - 0x395]
add edx, ecx
mov byte [ebp - 0x395], dl
movzx eax, byte [ebp - 0x396]
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x38d]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
xor eax, edx
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x391]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
movzx ecx, byte [ebp - 0x395]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
movzx ecx, byte [ebp + edx - 0x798]
xor eax, ecx
mov byte [ebp - 0x38f], al
mov dl, byte [ebp - 0x396]
mov byte [ebp - 0x391], dl
mov al, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], al
cmp dword [ebp - 0x3a8], 0
jle 0x4c9a9c
movsx cx, byte [ebp - 0x39e]
mov edx, dword [ebp - 0x3a8]
mov word [ebp + edx*2 - 0x4e], cx
mov eax, dword [ebp - 0x3a8]
add eax, 1
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3a8]
shl edx, 1
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x410]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3ec], 0xc5
mov edx, dword [ebp - 0x3a8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x414]
add ecx, dword [ebp - 0x3fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0x3f0], 0x5a
mov eax, dword [ebp - 0x3e8]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3e4]
sub ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3f4]
shl edx, 4
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x418]
or ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], ecx
mov dl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], dl
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + eax - 0x798]
mov byte [ebp - 0x394], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x798]
mov dword [ebp - 0x934], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x38e]
add edx, dword [ebp - 0x934]
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x38f]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x394]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp + edx - 0x798]
movzx ecx, byte [ebp - 0x395]
add ecx, eax
mov byte [ebp - 0x395], cl
movzx edx, byte [ebp - 0x396]
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x798]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x798]
xor edx, ecx
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp + eax - 0x798]
movzx eax, byte [ebp - 0x391]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
movzx eax, byte [ebp - 0x395]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp + ecx - 0x798]
xor edx, eax
mov byte [ebp - 0x38f], dl
mov cl, byte [ebp - 0x396]
mov byte [ebp - 0x391], cl
mov dl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], dl
cmp dword [ebp - 0x3a8], 0
jle 0x4c9cfe
movsx ax, byte [ebp - 0x39e]
mov ecx, dword [ebp - 0x3a8]
mov word [ebp + ecx*2 - 0x4e], ax
mov edx, dword [ebp - 0x3d8]
add edx, 5
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3a8]
add eax, 1
mov dword [ebp - 0x620], eax
jmp 0x4c9d2d
mov ecx, dword [ebp - 0x620]
add ecx, 1
mov dword [ebp - 0x620], ecx
mov edx, dword [ebp - 0x620]
cmp edx, dword [ebp - 0x3d8]
jge 0x4ca28c
mov eax, dword [ebp - 0x3a8]
add eax, 1
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3a8]
shl ecx, 1
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x410]
movzx eax, byte [edx]
mov dword [ebp - 0x3e8], eax
movss xmm0, dword [0x55641c]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [0x5563dc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [0x556388]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3b4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3b4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3b4]
comiss xmm0, dword [ebp - 0x3cc]
jbe 0x4c9e51
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3b4]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3cc], xmm0
mov dword [ebp - 0x3ec], 0xc5
jmp 0x4ca073
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3b4]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3b4]
addss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3cc]
comiss xmm0, dword [ebp - 0x3b4]
jbe 0x4ca02b
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3b4]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3c8]
comiss xmm0, dword [ebp - 0x3cc]
jbe 0x4c9fe1
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3c8], xmm0
jmp 0x4ca029
movss xmm0, dword [ebp - 0x3b4]
addss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3b4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
movss xmm0, dword [ebp - 0x3b4]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3b4], xmm0
jmp 0x4ca073
movss xmm0, dword [ebp - 0x3cc]
mulss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x3b4]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3b4]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3b4], xmm0
mov ecx, dword [ebp - 0x3a8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x3fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3f0], 0x5a
mov edx, dword [ebp - 0x3e8]
sub edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3e4]
sub eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x418]
or eax, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], eax
mov cl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], cl
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x798]
mov dword [ebp - 0x930], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x38e]
add ecx, dword [ebp - 0x930]
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x394]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp - 0x395]
add eax, edx
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x396]
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
xor ecx, eax
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x391]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
movzx edx, byte [ebp - 0x395]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
movzx edx, byte [ebp + eax - 0x798]
xor ecx, edx
mov byte [ebp - 0x38f], cl
mov al, byte [ebp - 0x396]
mov byte [ebp - 0x391], al
mov cl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], cl
cmp dword [ebp - 0x3a8], 0
jle 0x4ca287
movsx dx, byte [ebp - 0x39e]
mov eax, dword [ebp - 0x3a8]
mov word [ebp + eax*2 - 0x4e], dx
jmp 0x4c9d1e
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3a8]
add edx, 1
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x3d8]
add eax, 1
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3a8]
shl ecx, 1
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x410]
movzx eax, byte [edx]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3ec], 0xc5
mov ecx, dword [ebp - 0x3a8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x3fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3f0], 0x5a
mov edx, dword [ebp - 0x3e8]
sub edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3e4]
sub eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x418]
or eax, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], eax
mov cl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], cl
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x798]
mov dword [ebp - 0x92c], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x38e]
add ecx, dword [ebp - 0x92c]
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movsd xmm0, qword [0x5562c0]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [0x556288]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [0x556278]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [0x556238]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [0x556210]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [0x5561c0]
movsd qword [ebp - 0x488], xmm0
movsd xmm0, qword [ebp - 0x460]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x450]
addsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x450]
mulsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x460]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x460]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x460]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x450]
comisd xmm0, xmmword [ebp - 0x460]
jbe 0x4ca5ab
movsd xmm0, qword [ebp - 0x460]
mulsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x488]
subsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x488], xmm0
movsd xmm0, qword [ebp - 0x4d0]
subsd xmm0, qword [ebp - 0x508]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x450]
mulsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x488]
mulsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x488], xmm0
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
jmp 0x4ca9d1
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x450]
mulsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x4d0]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x4d0]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x508]
subsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x4d0]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x508]
mulsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x450]
divsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x450]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x508]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x4d0]
comisd xmm0, xmmword [ebp - 0x450]
jbe 0x4ca776
movsd xmm0, qword [ebp - 0x488]
subsd xmm0, qword [ebp - 0x508]
movsd qword [ebp - 0x488], xmm0
movsd xmm0, qword [ebp - 0x508]
addsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x450]
subsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x460]
addsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x460]
mulsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x508]
mulsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x508], xmm0
jmp 0x4ca9d1
movsd xmm0, qword [ebp - 0x448]
divsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x508]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x488]
subsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x488], xmm0
movsd xmm0, qword [ebp - 0x448]
divsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x508]
addsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x460]
mulsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x488]
subsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x488], xmm0
movsd xmm0, qword [ebp - 0x450]
mulsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x450]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x4d0]
divsd xmm0, qword [ebp - 0x508]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x460]
subsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x460], xmm0
movsd xmm0, qword [ebp - 0x450]
addsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x488]
comisd xmm0, xmmword [ebp - 0x508]
jbe 0x4ca941
movsd xmm0, qword [ebp - 0x448]
divsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x508]
subsd xmm0, qword [ebp - 0x448]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x4d0]
subsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x448]
addsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x448]
addsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x450]
addsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x450], xmm0
jmp 0x4ca9d1
movsd xmm0, qword [ebp - 0x448]
subsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x450]
mulsd xmm0, qword [ebp - 0x4d0]
movsd qword [ebp - 0x450], xmm0
movsd xmm0, qword [ebp - 0x448]
divsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x448]
divsd xmm0, qword [ebp - 0x488]
movsd qword [ebp - 0x448], xmm0
movsd xmm0, qword [ebp - 0x4d0]
addsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movsd xmm0, qword [ebp - 0x4d0]
divsd xmm0, qword [ebp - 0x460]
movsd qword [ebp - 0x4d0], xmm0
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x394]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp - 0x395]
add eax, edx
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x396]
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
xor ecx, eax
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x391]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
movzx edx, byte [ebp - 0x395]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
movzx edx, byte [ebp + eax - 0x798]
xor ecx, edx
mov byte [ebp - 0x38f], cl
mov al, byte [ebp - 0x396]
mov byte [ebp - 0x391], al
mov cl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], cl
cmp dword [ebp - 0x3a8], 0
jle 0x4caabb
movsx dx, byte [ebp - 0x39e]
mov eax, dword [ebp - 0x3a8]
mov word [ebp + eax*2 - 0x4e], dx
mov ecx, dword [ebp - 0x3d8]
add ecx, 5
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3a8]
add edx, 1
mov dword [ebp - 0x61c], edx
jmp 0x4caaea
mov eax, dword [ebp - 0x61c]
add eax, 1
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x61c]
cmp ecx, dword [ebp - 0x3d8]
jge 0x4cb03f
mov edx, dword [ebp - 0x3a8]
add edx, 1
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x3a8]
shl eax, 1
mov dword [ebp - 0x410], eax
movss xmm0, dword [0x556400]
movss dword [ebp - 0x574], xmm0
movss xmm0, dword [0x5563d8]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [0x5563ac]
movss dword [ebp - 0x59c], xmm0
movss xmm0, dword [0x556384]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [0x55635c]
movss dword [ebp - 0x47c], xmm0
movss xmm0, dword [ebp - 0x4b8]
subss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x4b8]
addss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x578]
subss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x4b8]
addss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x4b8]
addss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x4b8]
comiss xmm0, dword [ebp - 0x578]
jbe 0x4cac85
movss xmm0, dword [ebp - 0x47c]
mulss xmm0, dword [ebp - 0x574]
movss dword [ebp - 0x47c], xmm0
movss xmm0, dword [ebp - 0x4b8]
mulss xmm0, dword [ebp - 0x59c]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x47c]
mulss xmm0, dword [ebp - 0x574]
movss dword [ebp - 0x47c], xmm0
movss xmm0, dword [ebp - 0x578]
subss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x574]
mulss xmm0, dword [ebp - 0x4b8]
movss dword [ebp - 0x574], xmm0
mov ecx, dword [ebp - 0x414]
add ecx, dword [ebp - 0x410]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e8], edx
jmp 0x4cacfd
movss xmm0, dword [ebp - 0x59c]
addss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x59c], xmm0
movss xmm0, dword [ebp - 0x59c]
mulss xmm0, dword [ebp - 0x47c]
movss dword [ebp - 0x59c], xmm0
movss xmm0, dword [ebp - 0x574]
mulss xmm0, dword [ebp - 0x59c]
movss dword [ebp - 0x574], xmm0
movss xmm0, dword [ebp - 0x578]
divss xmm0, dword [ebp - 0x574]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x47c]
mulss xmm0, dword [ebp - 0x4b8]
movss dword [ebp - 0x47c], xmm0
mov dword [ebp - 0x3ec], 0xc5
mov eax, dword [ebp - 0x3a8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x3fc]
movzx eax, byte [edx]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], 0x5a
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3e4]
sub edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3f4]
shl eax, 4
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x418]
or edx, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], edx
mov al, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], al
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + ecx - 0x798]
mov byte [ebp - 0x394], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp + eax - 0x798]
mov dword [ebp - 0x928], ecx
mov dl, byte [ebp - 0x38d]
add dl, 1
mov byte [ebp - 0x38d], dl
movzx eax, byte [ebp - 0x38e]
add eax, dword [ebp - 0x928]
mov byte [ebp - 0x38e], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x38e]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movsd xmm0, qword [0x556330]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [0x5562e0]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [0x556250]
movsd qword [ebp - 0x608], xmm0
movsd xmm0, qword [ebp - 0x590]
addsd xmm0, qword [ebp - 0x608]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x590]
addsd xmm0, qword [ebp - 0x608]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x658]
subsd xmm0, qword [ebp - 0x608]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [ebp - 0x590]
comisd xmm0, xmmword [ebp - 0x658]
jbe 0x4caf06
movsd xmm0, qword [ebp - 0x590]
addsd xmm0, qword [ebp - 0x658]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x608]
addsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x608], xmm0
movsd xmm0, qword [ebp - 0x608]
addsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x608], xmm0
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp - 0x38f]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
jmp 0x4caf4e
movsd xmm0, qword [ebp - 0x590]
divsd xmm0, qword [ebp - 0x658]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x590]
subsd xmm0, qword [ebp - 0x658]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x608]
subsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x608], xmm0
movzx ecx, byte [ebp - 0x38d]
mov dl, byte [ebp - 0x394]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x798]
movzx edx, byte [ebp - 0x395]
add edx, ecx
mov byte [ebp - 0x395], dl
movzx eax, byte [ebp - 0x396]
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x38d]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
xor eax, edx
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x391]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
movzx ecx, byte [ebp - 0x395]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
movzx ecx, byte [ebp + edx - 0x798]
xor eax, ecx
mov byte [ebp - 0x38f], al
mov dl, byte [ebp - 0x396]
mov byte [ebp - 0x391], dl
mov al, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], al
cmp dword [ebp - 0x3a8], 0
jle 0x4cb03a
movsx cx, byte [ebp - 0x39e]
mov edx, dword [ebp - 0x3a8]
mov word [ebp + edx*2 - 0x4e], cx
jmp 0x4caadb
mov eax, dword [ebp - 0x3d8]
add eax, 1
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3a8]
add ecx, 1
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3a8]
shl eax, 1
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x414]
add ecx, dword [ebp - 0x410]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3ec], 0xc5
mov eax, dword [ebp - 0x3a8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x3fc]
movzx eax, byte [edx]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3f0], 0x5a
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3e4]
sub edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3f4]
shl eax, 4
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x418]
or edx, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], edx
mov al, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], al
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + ecx - 0x798]
mov byte [ebp - 0x394], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp + eax - 0x798]
mov dword [ebp - 0x924], ecx
mov dl, byte [ebp - 0x38d]
add dl, 1
mov byte [ebp - 0x38d], dl
movzx eax, byte [ebp - 0x38e]
add eax, dword [ebp - 0x924]
mov byte [ebp - 0x38e], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x38e]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp - 0x38f]
mov al, byte [ebp + ecx - 0x798]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x38d]
mov dl, byte [ebp - 0x394]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x798]
movzx edx, byte [ebp - 0x395]
add edx, ecx
mov byte [ebp - 0x395], dl
movzx eax, byte [ebp - 0x396]
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x38d]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
xor eax, edx
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp + ecx - 0x798]
movzx ecx, byte [ebp - 0x391]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
movzx ecx, byte [ebp - 0x395]
movzx ecx, byte [ebp + ecx - 0x798]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x798]
movzx ecx, byte [ebp + edx - 0x798]
xor eax, ecx
mov byte [ebp - 0x38f], al
mov dl, byte [ebp - 0x396]
mov byte [ebp - 0x391], dl
mov al, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], al
cmp dword [ebp - 0x3a8], 0
jle 0x4cb2b0
movsx cx, byte [ebp - 0x39e]
mov edx, dword [ebp - 0x3a8]
mov word [ebp + edx*2 - 0x4e], cx
mov eax, dword [ebp - 0x3a8]
add eax, 1
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3a8]
shl edx, 1
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x410]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3ec], 0xc5
mov edx, dword [ebp - 0x3a8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x414]
add ecx, dword [ebp - 0x3fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0x3f0], 0x5a
mov eax, dword [ebp - 0x3e8]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3e4]
sub ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3f4]
shl edx, 4
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x418]
or ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], ecx
mov dl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], dl
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + eax - 0x798]
mov byte [ebp - 0x394], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x798]
mov dword [ebp - 0x91c], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x38e]
add edx, dword [ebp - 0x91c]
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x38f]
mov dl, byte [ebp + eax - 0x798]
mov byte [ebp + ecx - 0x798], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x394]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp + edx - 0x798]
movzx ecx, byte [ebp - 0x395]
add ecx, eax
mov byte [ebp - 0x395], cl
movzx edx, byte [ebp - 0x396]
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x798]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x798]
xor edx, ecx
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp + eax - 0x798]
movzx eax, byte [ebp - 0x391]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
movzx eax, byte [ebp - 0x395]
movzx eax, byte [ebp + eax - 0x798]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp + ecx - 0x798]
xor edx, eax
mov byte [ebp - 0x38f], dl
mov cl, byte [ebp - 0x396]
mov byte [ebp - 0x391], cl
mov dl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], dl
cmp dword [ebp - 0x3a8], 0
jle 0x4cb512
movsx ax, byte [ebp - 0x39e]
mov ecx, dword [ebp - 0x3a8]
mov word [ebp + ecx*2 - 0x4e], ax
mov edx, dword [ebp - 0x3a8]
add edx, 1
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x3d8]
add eax, 1
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3a8]
shl ecx, 1
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x414]
add edx, dword [ebp - 0x410]
movzx eax, byte [edx]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3ec], 0xc5
mov ecx, dword [ebp - 0x3a8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x414]
add eax, dword [ebp - 0x3fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3f0], 0x5a
mov edx, dword [ebp - 0x3e8]
sub edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3e4]
sub eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x418]
or eax, dword [ebp - 0x41c]
mov dword [ebp - 0x3f8], eax
mov cl, byte [ebp - 0x3f8]
mov byte [ebp - 0x396], cl
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + edx - 0x798]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x798]
mov dword [ebp - 0x95c], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x38e]
add ecx, dword [ebp - 0x95c]
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp + edx - 0x798]
mov byte [ebp + eax - 0x798], cl
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x394]
mov byte [ebp + edx - 0x798], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x798]
movzx eax, byte [ebp - 0x395]
add eax, edx
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x396]
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
xor ecx, eax
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x798]
movzx edx, byte [ebp - 0x391]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
movzx edx, byte [ebp - 0x395]
movzx edx, byte [ebp + edx - 0x798]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x798]
movzx edx, byte [ebp + eax - 0x798]
xor ecx, edx
mov byte [ebp - 0x38f], cl
mov al, byte [ebp - 0x396]
mov byte [ebp - 0x391], al
mov cl, byte [ebp - 0x38f]
mov byte [ebp - 0x39e], cl
cmp dword [ebp - 0x3a8], 0
jle 0x4cb771
movsx dx, byte [ebp - 0x39e]
mov eax, dword [ebp - 0x3a8]
mov word [ebp + eax*2 - 0x4e], dx
mov ecx, 2
shl ecx, 4
mov dword [ebp - 0x67c], ecx
cmp dword [ebp - 0x67c], 0x22
jae 0x4cb78a
jmp 0x4cb78f
call fcn.0053f597
xor edx, edx
mov eax, dword [ebp - 0x67c]
mov word [ebp + eax - 0x4c], dx
jmp 0x4cb7ef
mov dword [ebp - 0x5f8], 0
jmp 0x4cb7b9
mov ecx, dword [ebp - 0x5f8]
add ecx, 1
mov dword [ebp - 0x5f8], ecx
cmp dword [ebp - 0x5f8], 0x11
jge 0x4cb7ef
mov edx, dword [ebp - 0x5f8]
shl edx, 1
mov dword [ebp - 0x680], edx
cmp dword [ebp - 0x680], 0x22
jae 0x4cb7db
jmp 0x4cb7e0
call fcn.0053f597
xor eax, eax
mov ecx, dword [ebp - 0x680]
mov word [ebp + ecx - 0x4c], ax
jmp 0x4cb7aa
push 1
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x570]
call fcn.004d3c30
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x920], edx
lea eax, [ebp - 0x29c]
push eax
push 0
mov ecx, dword [ebp - 0x57c]
push ecx
mov edx, dword [ebp - 0x610]
push edx
call dword [ebp - 0x920]
test eax, eax
je 0x4cbc8e
mov eax, dword [ebp - 0x29c]
shr eax, 2
mov dword [ebp - 0x618], eax
xor ecx, ecx
mov eax, dword [ebp - 0x618]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0053f28b
add esp, 4
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x8f8], edx
lea eax, [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x618]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x57c]
push edx
mov eax, dword [ebp - 0x610]
push eax
call dword [ebp - 0x8f8]
test eax, eax
je 0x4cbc48
mov dword [ebp - 0x5fc], 0
jmp 0x4cb8d8
mov ecx, dword [ebp - 0x5fc]
add ecx, 1
mov dword [ebp - 0x5fc], ecx
mov edx, dword [ebp - 0x5fc]
cmp edx, dword [ebp - 0x618]
jae 0x4cbc48
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x8fc], ecx
push 0x104
lea edx, [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + eax*4]
push edx
call dword [ebp - 0x8fc]
test eax, eax
je 0x4cbc43
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.00424f2a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa90]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.004adf00
mov edx, dword [eax]
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x900]
mov dword [ebp - 0x90c], eax
lea ecx, [ebp - 0xa94]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.004b3130
mov edx, dword [eax]
mov dword [ebp - 0x904], edx
mov eax, dword [ebp - 0x904]
mov dword [ebp - 0x910], eax
lea ecx, [ebp - 0xaa0]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.004adf00
mov edx, dword [eax]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x914], eax
mov ecx, dword [ebp - 0x90c]
push ecx
mov edx, dword [ebp - 0x910]
push edx
mov eax, dword [ebp - 0x914]
push eax
mov edx, fcn.00545bf5
lea ecx, [ebp - 0xa9c]
call fcn.0047e150
lea ecx, [ebp - 0x612]
call fcn.004c5320
mov dword [ebp - 0x7c8], eax
lea ecx, [ebp - 0xaa8]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.004b3130
mov edx, dword [eax]
mov dword [ebp - 0x918], edx
mov eax, dword [ebp - 0x918]
mov dword [ebp - 0x7cc], eax
lea ecx, [ebp - 0xa98]
push ecx
lea ecx, [ebp - 0x2c4]
call fcn.004adf00
mov edx, dword [eax]
mov dword [ebp - 0x8f4], edx
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x7d0], eax
mov ecx, dword [ebp - 0x7c8]
push ecx
mov edx, dword [ebp - 0x7cc]
push edx
mov eax, dword [ebp - 0x7d0]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.004c4f90
mov byte [ebp - 4], 3
push 0x5c
lea ecx, [ebp - 0x2dc]
call fcn.004c4f80
push eax
call fcn.00542f70
add esp, 8
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x684], 0
jne 0x4cba99
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.004c1930
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c4]
call fcn.0042529e
jmp 0x4cb8c9
lea ecx, [ebp - 0x370]
call fcn.00524f20
mov ecx, dword [ebp - 0x2ac]
shl ecx, 2
push ecx
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0x370]
call fcn.005256b0
mov eax, dword [ebp - 0x684]
add eax, 1
push eax
lea ecx, [ebp - 0xac0]
call fcn.004c5330
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xac0]
push ecx
lea ecx, [ebp - 0x370]
call fcn.005255d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xac0]
call fcn.004c1930
lea edx, [ebp - 0x2fc]
push edx
lea ecx, [ebp - 0x370]
call fcn.005252c0
mov dword [ebp - 0x598], 0
jmp 0x4cbb27
mov eax, dword [ebp - 0x598]
add eax, 1
mov dword [ebp - 0x598], eax
lea ecx, [ebp - 0x2a8]
call fcn.004dfb00
cmp dword [ebp - 0x598], eax
jae 0x4cbc25
mov dword [ebp - 0x60c], 0
jmp 0x4cbb59
mov ecx, dword [ebp - 0x60c]
add ecx, 1
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x598]
push edx
lea ecx, [ebp - 0x2a8]
call fcn.004c5410
mov ecx, dword [eax]
add ecx, 4
call fcn.004dfb00
cmp dword [ebp - 0x60c], eax
jae 0x4cbc20
mov eax, dword [ebp - 0x598]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.004c5410
mov ecx, dword [eax]
add ecx, 4
mov dword [ebp - 0x7d8], ecx
mov edx, dword [ebp - 0x60c]
push edx
mov ecx, dword [ebp - 0x7d8]
call fcn.004c5410
mov eax, dword [eax]
mov dword [ebp - 0x7dc], eax
mov ecx, 8
lea esi, [ebp - 0x2fc]
lea edi, [ebp - 0xae0]
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0xae0]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x7dc]
call fcn.004d3bc0
mov byte [ebp - 0x569], al
movzx ecx, byte [ebp - 0x569]
test ecx, ecx
je 0x4cbc1b
mov edx, dword [ebp - 0x598]
push edx
lea ecx, [ebp - 0x2a8]
call fcn.004c5410
mov eax, dword [eax]
mov ecx, dword [ebp - 0x648]
or ecx, dword [eax]
mov dword [ebp - 0x648], ecx
jmp 0x4cbb4a
jmp 0x4cbb18
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.004c1930
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c4]
call fcn.0042529e
jmp 0x4cb8c9
mov edx, dword [ebp - 0x57c]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x688]
push eax
call fcn.0053f294
add esp, 4
cmp dword [ebp - 0x688], 0
jne 0x4cbc78
mov dword [ebp - 0x7e0], 0
jmp 0x4cbc8e
mov dword [ebp - 0x57c], 0x8123
mov ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x7e0], ecx
cmp dword [ebp - 0x7e4], 0
je 0x4cbcaf
push 0
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x570]
call fcn.004d3c30
mov dword [ebp - 0x644], 0x22
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x644], 0
je 0x4cbcf4
mov edx, dword [ebp - 0x64c]
mov byte [edx], 0
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x644]
sub ecx, 1
mov dword [ebp - 0x644], ecx
jmp 0x4cbcc2
mov edx, dword [ebp - 0x570]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x610]
push ecx
call dword [ebp - 0x7e8]
lea ecx, [ebp - 0x2a8]
call fcn.004cdfe0
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x7ec], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.004c53b0
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0053f016
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret