Function at 0x1800877e0
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rsi, rcx
xor r15d, r15d
movss xmm8, dword [0x180192bb0]
movss xmm11, dword [0x180192b5c]
movzx eax, byte [0x18023b0df]
test al, al
je 0x180087947
call fcn.180087110
movss xmm7, dword [0x1802b6dd0]
cvtps2pd xmm0, xmm7
movsd xmm3, qword [0x180192bc8]
subsd xmm0, xmm3
cvtpd2ps xmm4, xmm0
movss xmm6, dword [0x1802b6dcc]
cvtps2pd xmm0, xmm6
subsd xmm0, xmm3
cvtpd2ps xmm2, xmm0
movss xmm5, dword [0x1802b6dc8]
cvtps2pd xmm1, xmm5
subsd xmm1, xmm3
cvtpd2ps xmm0, xmm1
movss dword [0x1802b6de8], xmm0
movss dword [0x1802b6dec], xmm2
movss dword [0x1802b6df0], xmm4
mov dword [0x1802b6df4], 0x3f800000
movss dword [0x1802b6d98], xmm5
movss dword [0x1802b6d9c], xmm6
movss dword [0x1802b6da0], xmm7
mov dword [0x1802b6da4], 0x3f19999a
movss xmm1, dword [0x1802b6db8]
movss dword [0x1802b6df8], xmm1
movss xmm0, dword [0x1802b6dbc]
movss dword [0x1802b6dfc], xmm0
movss xmm1, dword [0x1802b6dc0]
movss dword [0x1802b6e00], xmm1
mov dword [0x1802b6e04], 0x3e99999a
mov rax, qword [0x1802b9a38]
movups xmm0, xmmword [0x1802b6d88]
movups xmmword [rax + 0x1628], xmm0
movzx eax, byte [0x18023b0df]
movss xmm6, dword [0x180192b54]
xorps xmm9, xmm9
test al, al
je 0x1800879a8
mov byte [0x1802b9f48], 1
call fcn.1800acd6c
mov rcx, rax
sub rcx, qword [rsi + 0xb8]
movabs rax, 0x346dc5d63886594b
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
divss xmm1, dword [0x180192cd8]
comiss xmm1, xmm8
jbe 0x180087a01
movss xmm1, dword [0x180291924]
jmp 0x180087a25
call fcn.1800acd6c
mov rcx, rax
sub rcx, qword [rsi + 0xb8]
movabs rax, 0x346dc5d63886594b
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm0, dword [0x180192cd8]
movaps xmm1, xmm8
subss xmm1, xmm0
comiss xmm9, xmm1
jb 0x180087a01
mov byte [0x1802b9f48], r15b
movss xmm1, dword [0x180291924]
jmp 0x180087a25
movaps xmm0, xmm1
subss xmm0, xmm6
comiss xmm9, xmm0
movss dword [0x180291920], xmm0
movss dword [0x180291924], xmm1
jbe 0x180087a25
mov dword [0x180291920], r15d
mov eax, dword [0x1801cfc70]
dec eax
test eax, 0xfffffffd
jne 0x180087abe
mov rcx, qword [0x1802b9c90]
mov qword [rbp + 0xb8], rcx
mov rbx, qword [0x1802b9a38]
mov rdi, rcx
test rcx, rcx
jne 0x180087a7c
mov rcx, qword [rbx + 0xb8]
mov rdi, rcx
test rcx, rcx
jne 0x180087a75
mov rax, qword [rbx + 0xa8]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx]
mov rdi, rcx
mov qword [rbp + 0xb8], rcx
call fcn.180052120
lea rcx, [rbx + 0x1d98]
lea rdx, [rbp + 0xb8]
call fcn.18005a290
mov rax, qword [rbx + 0x1c10]
mov rdx, qword [rdi + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x268]
call fcn.180062ae0
mov byte [rsi + 0xf8], 1
movss xmm1, dword [0x180291924]
cmp byte [0x1802b9f48], r15b
je 0x18008bb6f
mov rbx, qword [0x1802b9a38]
mov dword [rsi + 0x80], 0x3e189375
mov dword [rsi + 0x84], 0x3e20c49c
mov dword [rsi + 0x88], 0x3e449ba6
movss dword [rsi + 0x8c], xmm1
lea rdi, [rsi + 0x90]
mov dword [rdi], 0x3d916873
mov dword [rdi + 4], 0x3d99999a
mov dword [rdi + 8], 0x3db851ec
movss dword [rdi + 0xc], xmm1
mov dword [rsi + 0xa0], 0x3f800000
mov dword [rsi + 0xa4], 0x3f800000
mov dword [rsi + 0xa8], 0x3f800000
movss dword [rsi + 0xac], xmm1
mov dword [rbx + 0x15a4], 0x41200000
mov dword [rbx + 0x15b0], 0x41200000
mov qword [rbx + 0x1570], 0x41200000
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1648], xmm0
movups xmm0, xmmword [rsi + 0xa0]
movups xmmword [rbx + 0x1628], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x1778], xmm0
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
movss dword [0x1802b6dd4], xmm1
movss dword [0x1802b6e14], xmm1
movss dword [0x1802b6d84], xmm1
movss dword [0x1802b6de4], xmm1
movss dword [0x1802b6df4], xmm1
movss dword [0x1802b6da4], xmm1
movss dword [0x1802bc2bc], xmm1
movss dword [0x1802b6d94], xmm1
mov rax, qword [rbx + 0x1e00]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180049010
mov r10, rax
movss xmm0, dword [0x180291924]
subss xmm0, xmm6
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x68], r15d
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.180046ce0
movd xmm1, dword [0x1802b9d90]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x1802b9d88]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm1
mov qword [rbp + 0xc0], r15
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
mov rcx, r10
call fcn.180065370
mov rax, qword [0x1802b9a38]
mov dword [rax + 0x1d28], 0x44480000
mov dword [rax + 0x1d2c], 0x43fa0000
mov dword [rax + 0x1d10], 1
mov ecx, dword [rax + 0x1d08]
or ecx, 0x42
mov dword [rax + 0x1d08], ecx
movss xmm0, dword [0x180291924]
movss dword [rax + 0x1d68], xmm0
movss xmm10, dword [0x180192b6c]
cmp byte [0x18026d710], r15b
je 0x180087d00
movss xmm0, dword [rax + 0x10]
mulss xmm0, xmm10
subss xmm0, dword [0x180192cdc]
or ecx, 1
mov dword [rax + 0x1d08], ecx
movss dword [rax + 0x1d18], xmm0
mov qword [rax + 0x1d1c], 0x42c80000
mov dword [rax + 0x1d24], r15d
mov dword [rax + 0x1d0c], 1
mov byte [0x18026d710], r15b
mov rax, qword [0x18018f5e0]
mov qword [rbp + 0xc8], rax
mov eax, dword [0x1801a7090]
cmp byte [0x18018f5e7], r15b
je 0x180087e70
cmp eax, 2
jl 0x180087e28
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, dword [rbp + 0xc8]
xorps xmm2, xmm0
movd dword [rbp + 0xc8], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.0000000000000000]
movd xmm0, dword [rbp + 0xcc]
xorps xmm2, xmm0
movd dword [rbp + 0xcc], xmm2
jmp 0x180087e70
lea r9, [rbp + 0xc8]
mov r8d, r15d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x180087e40
xor edx, edx
lea r8d, [rdx + 0x2b]
lea rcx, [rbp + 0xc8]
call fcn.18004f750
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm7, dword [rax + 0x10]
movss xmm8, dword [rax + 0x14]
movss xmm12, dword [rax + 0x18]
movss dword [rbp + 0xc0], xmm12
movss xmm13, dword [rax + 0x1c]
movss dword [rbp + 0xb8], xmm13
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
mov r10, qword [rax + 0x268]
movss xmm6, dword [rbx + 0x1570]
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180046ce0
addss xmm13, xmm8
movaps xmm1, xmm13
movss xmm15, dword [0x180192c80]
subss xmm1, xmm15
addss xmm12, xmm7
movaps xmm0, xmm12
subss xmm0, xmm15
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xcc], xmm1
addss xmm8, dword [0x180192ca4]
addss xmm7, dword [0x180192ccc]
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm8
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xc8]
lea rdx, [rsp + 0x70]
mov rcx, r10
call fcn.180065370
movabs r12, 0x6666666666666667
movss xmm1, dword [0x1802b7688]
comiss xmm9, xmm1
ja 0x180088153
mov rbx, qword [0x1802b7678]
mov rcx, rbx
mov rdi, qword [0x1802b7670]
sub rcx, rdi
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x64
jae 0x18008805b
nop
mov byte [rsp + 0x40], 1
cvttss2si ebx, xmm1
call fcn.1800b5bf8
cdq
idiv ebx
inc edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
mov dword [rsp + 0x48], 0xc2480000
mov dword [rsp + 0x4c], r15d
movss dword [rsp + 0x50], xmm11
mov rdx, qword [0x1802b7678]
cmp rdx, qword [0x1802b7680]
je 0x180088016
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm0
movss dword [rdx + 0x10], xmm11
mov rbx, qword [0x1802b7678]
add rbx, 0x14
mov qword [0x1802b7678], rbx
jmp 0x180088027
lea r8, [rsp + 0x40]
call fcn.180042860
mov rbx, qword [0x1802b7678]
mov rcx, rbx
mov rdi, qword [0x1802b7670]
sub rcx, rdi
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x64
jae 0x18008805b
movss xmm1, dword [0x1802b7688]
jmp 0x180087fb0
cmp rdi, rbx
je 0x180088153
mov dword [rsp + 0x40], 0x3f800000
mov dword [rsp + 0x44], 0x3f800000
mov dword [rsp + 0x48], 0x3f800000
mov dword [rbp + 0xc8], 0x3f800000
mov dword [rbp + 0xcc], 0x3f800000
mov qword [rsp + 0x70], r15
movss xmm7, dword [0x180192c7c]
nop dword [rax]
movups xmm6, xmmword [rdi]
mov rax, qword [0x1802b9a38]
mov rax, qword [rax + 0x1e00]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180049010
mov r10, rax
movss xmm0, dword [0x180291920]
movss dword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x40]
call fcn.180046ce0
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
movaps xmm0, xmm1
addss xmm0, xmm7
movss dword [rbp - 0x60], xmm0
shufps xmm6, xmm6, 0xaa
movaps xmm0, xmm6
addss xmm0, xmm7
movss dword [rbp - 0x5c], xmm0
subss xmm1, xmm7
movss dword [rsp + 0x60], xmm1
subss xmm6, xmm7
movss dword [rsp + 0x64], xmm6
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x60]
lea r8, [rsp + 0x60]
mov rdx, qword [0x1802b9f40]
mov rcx, r10
call fcn.1800658c0
add rdi, 0x14
cmp rdi, rbx
jne 0x1800880a0
call fcn.1800acd6c
sub rax, qword [0x1802bc410]
cmp rax, 0x30d40
jl 0x180088288
mov edi, r15d
mov r8, qword [0x1802b7678]
mov rcx, r8
mov r9, qword [0x1802b7670]
sub rcx, r9
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180088288
mov r14, r15
mov rbx, r15
nop dword [rax]
nop word [rax + rax]
sub r8, r9
mov rax, r12
imul r8
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r14
jbe 0x18008bc3f
movss xmm0, dword [rbx + r9 + 0xc]
addss xmm0, dword [rbx + r9 + 4]
movss dword [rbx + r9 + 4], xmm0
movss xmm1, dword [rbx + r9 + 0x10]
addss xmm1, dword [rbx + r9 + 8]
movss dword [rbx + r9 + 8], xmm1
comiss xmm0, dword [0x1802b7688]
ja 0x18008821b
comiss xmm1, dword [0x1802b768c]
ja 0x18008821b
comiss xmm9, xmm0
ja 0x18008821b
mov r8, qword [0x1802b7678]
jmp 0x180088252
movsxd rax, edi
lea rcx, [rax + rax*4]
mov rax, qword [0x1802b7670]
lea rcx, [rax + rcx*4]
mov r8, qword [0x1802b7678]
lea rdx, [rcx + 0x14]
sub r8, rdx
call fcn.1800dd840
mov r8, qword [0x1802b7678]
sub r8, 0x14
mov qword [0x1802b7678], r8
inc edi
inc r14
add rbx, 0x14
mov rcx, r8
mov r9, qword [0x1802b7670]
sub rcx, r9
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jb 0x1800881b0
mov eax, dword [rsi + 0xf0]
lea r12, [0x1802b6a48]
lea r15, [0x1802b6648]
lea r14, [0x1802b6608]
lea r13, [0x1802b6e18]
movss xmm1, dword [0x180192c08]
movss xmm14, dword [0x180192c9c]
movss xmm7, dword [0x180192d38]
test eax, eax
je 0x1800882d0
cmp eax, 4
jne 0x1800884b1
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm2, dword [rax + 0xdc]
subss xmm2, dword [rax + 0x14]
addss xmm2, dword [rax + 0x60]
movss xmm4, dword [rax + 0xd8]
addss xmm2, xmm1
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x5c]
mov byte [rax + 0x90], 1
subss xmm4, xmm0
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0x10]
addss xmm4, xmm1
movss xmm3, dword [rax + 0x14]
subss xmm0, dword [rax + 0x5c]
addss xmm4, dword [0x180192cc8]
subss xmm3, dword [rax + 0x60]
addss xmm4, xmm0
addss xmm3, xmm2
movss dword [rax + 0xd8], xmm4
movss dword [rax + 0xdc], xmm3
movss xmm0, dword [rax + 0xf0]
movss xmm1, dword [rax + 0xf4]
maxss xmm0, xmm4
maxss xmm1, xmm3
movss dword [rax + 0xf0], xmm0
movss dword [rax + 0xf4], xmm1
mov rcx, r12
cmp qword [0x1802b6a60], 0xf
mov dword [rbp + 0xc8], 0x42c80000
mov dword [rbp + 0xcc], 0x41f00000
lea rdx, [rbp + 0xc8]
cmova rcx, qword [0x1802b6a48]
call fcn.1800702a0
test al, al
lea rbx, [rsi + 0xf4]
je 0x1800883bc
mov dword [rbx], 0
movaps xmm1, xmm7
movaps xmm0, xmm9
call fcn.180052b70
mov rcx, r15
cmp qword [0x1802b6660], 0xf
mov rdi, rbx
mov dword [rbp + 0xc8], 0x42c80000
mov dword [rbp + 0xcc], 0x41f00000
lea rdx, [rbp + 0xc8]
cmova rcx, qword [0x1802b6648]
call fcn.1800702a0
test al, al
je 0x18008840f
mov dword [rbx], 1
lea rdi, [rsi + 0xf4]
movaps xmm1, xmm7
movaps xmm0, xmm9
call fcn.180052b70
cmp qword [0x1802b6620], 0xf
mov rcx, r14
mov dword [rbp + 0xcc], 0x41f00000
mov dword [rbp + 0xc8], 0x42c80000
jbe 0x180088446
mov rcx, qword [0x1802b6608]
mov rbx, rdi
lea rdx, [rbp + 0xc8]
call fcn.1800702a0
test al, al
je 0x18008845c
mov dword [rbx], 2
movaps xmm1, xmm7
movaps xmm0, xmm9
call fcn.180052b70
mov rcx, r13
cmp qword [0x1802b6e30], 0xf
mov dword [rbp + 0xc8], 0x42c80000
mov dword [rbp + 0xcc], 0x41f00000
lea rdx, [rbp + 0xc8]
cmova rcx, qword [0x1802b6e18]
call fcn.1800702a0
test al, al
je 0x1800884a5
mov dword [rbx], 3
movaps xmm1, xmm7
movaps xmm0, xmm9
call fcn.180052b70
xorps xmm4, xmm4
movups xmmword [rsp + 0x78], xmm4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov rdi, qword [0x1802b6678]
lea rax, [0x1802b6668]
cmp qword [0x1802b6680], 0xf
cmova rax, qword [0x1802b6668]
mov qword [rbp + 0xc8], rax
movabs rbx, 0x7fffffffffffffff
cmp rdi, rbx
ja 0x18008bc39
cmp rdi, 0xf
ja 0x180088518
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 0xf
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
jmp 0x1800885ae
mov rax, rdi
or rax, 0xf
cmp rax, rbx
jbe 0x180088554
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800adcac
mov rcx, rax
test rax, rax
je 0x18008bc45
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008858d
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18008857f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008bc33
jmp 0x180088532
test rcx, rcx
je 0x18008858b
call fcn.1800adcac
jmp 0x18008858d
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rbx
lea r8, [rdi + 1]
mov rdx, qword [rbp + 0xc8]
mov rcx, rax
call fcn.1800dd840
nop
movsd xmm0, qword [0x18018f838]
movsd qword [rsp + 0x60], xmm0
movzx ecx, word [0x18018f840]
mov word [rsp + 0x68], cx
movzx eax, byte [0x18018f842]
mov byte [rsp + 0x60], 0x20
xor byte [rsp + 0x61], 0x31
xor byte [rsp + 0x62], 0x32
xor byte [rsp + 0x63], 0x33
xor byte [rsp + 0x64], 0x34
xor byte [rsp + 0x65], 0x35
xor byte [rsp + 0x66], 0x36
xor byte [rsp + 0x67], 0x37
xor cl, 0x38
mov byte [rsp + 0x68], cl
xor byte [rsp + 0x69], 0x39
xor al, 0x3a
mov byte [rsp + 0x6a], al
lea rax, [rsp + 0x60]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180088615
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x78]
call fcn.180040810
lea rax, str.:x
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 4
mov eax, dword [0x1802b9d94]
mov dword [rsp + 0x48], eax
movabs rax, 0x2000000000000000
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x50]
call fcn.18008fd90
nop
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x78]
call fcn.180040440
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1800886de
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800886d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008bc4b
call fcn.1800ae058
movdqa xmm0, xmmword [0x180192fd0]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
lea rax, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova rax, qword [rsp + 0x78]
mov rbx, qword [0x1802b9a38]
movss xmm8, dword [0x180192d14]
movss xmm11, dword [0x180192ba8]
test rax, rax
jne 0x180088723
movaps xmm6, xmm9
jmp 0x18008876e
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xc8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xc8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov r10, qword [rax + 0x268]
lea r9, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova r9, qword [rsp + 0x78]
movups xmm0, xmmword [rsi + 0xa0]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180046ce0
subss xmm13, xmm15
subss xmm12, dword [0x180192c88]
subss xmm12, xmm6
movss dword [rbp + 0xc8], xmm12
movss dword [rbp + 0xcc], xmm13
mov r8d, eax
lea rdx, [rbp + 0xc8]
mov rcx, r10
call fcn.180065840
mov r10, qword [0x1802b9a38]
mov rax, qword [r10 + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [r10 + 0x1c10]
movss xmm0, dword [rax + 0x14]
subss xmm0, dword [rax + 0x60]
addss xmm0, xmm9
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [rax + 0x5c]
movss xmm12, dword [0x180192c6c]
addss xmm2, xmm12
movss dword [rax + 0xd8], xmm2
movss dword [rax + 0xdc], xmm0
movss xmm1, dword [rax + 0xf4]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm2
movss dword [rax + 0xf0], xmm0
movss dword [rax + 0xf4], xmm1
mov rax, qword [r10 + 0x1c10]
movss xmm0, dword [rax + 0xdc]
subss xmm0, dword [rax + 0x14]
addss xmm0, dword [rax + 0x60]
movss xmm6, dword [0x180192ca4]
addss xmm0, xmm6
mov byte [rax + 0x90], 1
mov rax, qword [r10 + 0x1c10]
movss xmm1, dword [rax + 0x14]
subss xmm1, dword [rax + 0x60]
addss xmm1, xmm0
movss dword [rax + 0xdc], xmm1
movss xmm0, dword [rax + 0xf4]
maxss xmm0, xmm1
movss dword [rax + 0xf4], xmm0
mov rax, qword [r10 + 0x1c10]
movss xmm1, dword [rax + 0xdc]
subss xmm1, dword [rax + 0x14]
addss xmm1, dword [rax + 0x60]
movss xmm13, dword [rbp + 0xb8]
movaps xmm0, xmm13
subss xmm0, xmm1
subss xmm0, dword [0x180192c68]
mov dword [rbp + 0xb8], 0x43160000
movss dword [rbp + 0xbc], xmm0
movsd xmm0, qword [0x180192288]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x180192290]
mov dword [rsp + 0x68], eax
cmp byte [0x180192293], 0
je 0x180088a80
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x180088a3a
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x180192288]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180088a50
mov rax, qword [r10 + 0x1c10]
mov byte [rax + 0x90], 1
lea rdx, [rsp + 0x60]
mov rcx, qword [r10 + 0x1c10]
call fcn.180048a50
mov edx, eax
mov dword [rsp + 0x20], 8
xor r9d, r9d
lea r8, [rbp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.18004cb00
lea rdi, [0x1802b6d98]
cmp dword [rsi + 0xf0], 0
lea rax, [rsi + 0x90]
cmovne rdi, rax
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 0x15
movups xmm0, xmmword [rbx + 0x1778]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x1778], xmm0
lea rdx, [0x1802b6d28]
cmp qword [0x1802b6d40], 0xf
cmova rdx, qword [0x1802b6d28]
mov r9d, 0x11
xor r8d, r8d
mov rcx, rsi
call fcn.180087180
lea rdx, [0x1802b6628]
cmp qword [0x1802b6640], 0xf
cmova rdx, qword [0x1802b6628]
mov r9d, 0x11
lea r8d, [r9 - 0xe]
mov rcx, rsi
call fcn.180087180
lea rdi, [0x1802b6b38]
mov rdx, rdi
cmp qword [0x1802b6b50], 0xf
cmova rdx, qword [0x1802b6b38]
mov r9d, 0x10
lea r8d, [r9 - 0xc]
mov rcx, rsi
call fcn.180087180
lea rdx, [0x1802b6a28]
cmp qword [0x1802b6a40], 0xf
cmova rdx, qword [0x1802b6a28]
mov r9d, 0x10
lea r8d, [r9 - 0xb]
mov rcx, rsi
call fcn.180087180
call fcn.18004cd30
subss xmm13, xmm15
subss xmm13, xmm6
subss xmm13, dword [0x180192c8c]
movss xmm3, dword [rbp + 0xc0]
subss xmm3, dword [0x180192cc4]
subss xmm3, xmm15
subss xmm3, dword [0x180192c8c]
movaps xmm6, xmm3
mulss xmm6, xmm10
subss xmm6, xmm12
movss dword [rsp + 0x70], xmm6
movss dword [rsp + 0x74], xmm13
movaps xmm0, xmm13
mulss xmm0, xmm10
subss xmm0, dword [0x180192c44]
movss dword [rbp + 0xb8], xmm6
movss dword [rbp + 0xbc], xmm0
mov r10, qword [0x1802b9a38]
mov rax, qword [r10 + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [r10 + 0x1c10]
movss xmm0, dword [rax + 0x14]
subss xmm0, dword [rax + 0x60]
addss xmm0, dword [0x180192cac]
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [rax + 0x5c]
addss xmm2, dword [0x180192ccc]
movss dword [rax + 0xd8], xmm2
movss dword [rax + 0xdc], xmm0
movss xmm1, dword [rax + 0xf4]
maxss xmm1, xmm0
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm2
movss dword [rax + 0xf0], xmm0
movss dword [rax + 0xf4], xmm1
movss dword [rbp + 0xc0], xmm3
movss dword [rbp + 0xc4], xmm13
movsd xmm0, qword [str.P__gPZR_MUI_]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x18018f850]
mov dword [rsp + 0x68], eax
movzx eax, byte [0x18018f854]
mov byte [rsp + 0x6c], al
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x180088de0
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.P__gPZR_MUI_]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xd
jl 0x180088df0
mov rax, qword [r10 + 0x1c10]
mov byte [rax + 0x90], 1
lea rdx, [rsp + 0x60]
mov rcx, qword [r10 + 0x1c10]
call fcn.180048a50
mov edx, eax
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0xc0]
lea rcx, [rsp + 0x60]
call fcn.18004cb00
mov ecx, dword [rsi + 0xf0]
test ecx, ecx
je 0x18008ab70
sub ecx, 3
je 0x18008a80f
sub ecx, 1
je 0x18008930b
cmp ecx, 1
jne 0x18008bb25
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], cl
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x180088ebe
cmp dword [rcx + 0x10], 2
jne 0x180088eb9
cmp dword [rcx + 4], 1
je 0x180088ed3
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0x39191f
call fcn.18004cf10
lea rax, str.English
mov qword [rbp - 0x50], rax
lea rax, str.Chinese
mov qword [rbp - 0x48], rax
lea rax, str.German
mov qword [rbp - 0x40], rax
lea rdi, [0x1802b6788]
mov rax, rdi
cmp qword [0x1802b67a0], 0xf
cmova rax, qword [0x1802b6788]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x180088fa9
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xc0]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b67a0], 0xf
cmova rdi, qword [0x1802b6788]
mov rcx, rdi
call fcn.18006f8d0
movups xmm0, xmmword [str.cTVWA]
movups xmmword [rsp + 0x40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x1800891c0
cmp dword [0x1801a7090], 2
jl 0x180089180
movdqa xmm5, xmmword [0x180193030]
xor edx, edx
movdqa xmm4, xmmword [0x180193320]
movdqa xmm6, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
movdqa xmm0, xmmword [str.0000000000000000]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x44]
mov r8d, dword [rsp + 0x60]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, 8
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x180089081
jmp 0x1800891c0
lea r9, [rsp + 0x40]
xor r8d, r8d
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x180089190
lea r9, [rbp - 0x50]
lea rcx, [rsp + 0x40]
call fcn.1800839e0
mov eax, dword [0x1802b9f38]
test eax, eax
jne 0x1800891dc
xor ecx, ecx
jmp 0x1800891fe
cmp eax, 1
jne 0x1800891e5
mov ecx, eax
jmp 0x1800891fe
cmp eax, 2
jne 0x1800891ee
mov ecx, eax
jmp 0x1800891fe
cmp eax, 3
jne 0x1800891f7
mov ecx, eax
jmp 0x1800891fe
cmp eax, 4
jne 0x180089203
mov ecx, eax
call fcn.18002d470
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rbp + 0xb8]
mov ecx, 0xb8761201
call fcn.18004cf10
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
lea rdx, [rbp + 0xb8]
mov ecx, 0xb8761201
jmp 0x18008baa5
mov ecx, dword [rsi + 0xf4]
test ecx, ecx
je 0x18008a30f
sub ecx, 1
je 0x180089e0f
sub ecx, 1
je 0x18008991f
cmp ecx, 1
jne 0x18008bb25
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], cl
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008936c
cmp dword [rcx + 0x10], 2
jne 0x180089367
cmp dword [rcx + 4], 1
je 0x180089381
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0x4f71c2ef
call fcn.18004cf10
mov rax, r13
cmp qword [0x1802b6e30], 0xf
cmova rax, qword [0x1802b6e18]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008942f
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
mulss xmm6, xmm10
mulss xmm9, xmm10
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6e30], 0xf
cmova r13, qword [0x1802b6e18]
mov rcx, r13
call fcn.18006f8d0
lea rcx, [0x1802b66a8]
cmp qword [0x1802b66c0], 0xf
cmova rcx, qword [0x1802b66a8]
movups xmm0, xmmword [0x1802b64c8]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x1800894eb
lea rax, [0x1802b64c8]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6a68]
cmp qword [0x1802b6a80], 0xf
cmova rcx, qword [0x1802b6a68]
movups xmm0, xmmword [0x1802b6a88]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008952b
lea rax, [0x1802b6a88]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6728]
cmp qword [0x1802b6740], 0xf
cmova rcx, qword [0x1802b6728]
movups xmm0, xmmword [0x1802b64f8]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008956b
lea rax, [0x1802b64f8]
mov qword [0x18026d708], rax
lea rcx, [0x1802b66e8]
cmp qword [0x1802b6700], 0xf
cmova rcx, qword [0x1802b66e8]
movups xmm0, xmmword [0x1802b6508]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x1800895ab
lea rax, [0x1802b6508]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6708]
cmp qword [0x1802b6720], 0xf
cmova rcx, qword [0x1802b6708]
movups xmm0, xmmword [0x1802b64e8]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x1800895eb
lea rax, [0x1802b64e8]
mov qword [0x18026d708], rax
lea rcx, [0x1802b66c8]
cmp qword [0x1802b66e0], 0xf
cmova rcx, qword [0x1802b66c8]
movups xmm0, xmmword [0x1802b64d8]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008962b
lea rax, [0x1802b64d8]
mov qword [0x18026d708], rax
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0x333c9e53
call fcn.18004cf10
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6b50], 0xf
cmova rdi, qword [0x1802b6b38]
mov rcx, rdi
call fcn.18006f8d0
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm14
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
movsd xmm0, qword [0x18018f858]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [str._n_n_t_]
mov dword [rsp + 0x68], eax
cmp byte [0x18018f863], 0
je 0x180089900
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x1800898c1
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18018f858]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x1800898d0
xor r9d, r9d
mov r8d, 0x1b0
mov rdx, qword [0x18026d708]
lea rcx, [rsp + 0x60]
call fcn.18007aa20
jmp 0x18008bab8
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x180089958
cmp dword [rcx + 0x10], 2
jne 0x180089953
cmp dword [rcx + 4], 1
je 0x18008996d
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xf77978a2
call fcn.18004cf10
mov rax, r14
cmp qword [0x1802b6620], 0xf
cmova rax, qword [0x1802b6608]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x180089a1b
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
mulss xmm6, xmm10
mulss xmm9, xmm10
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6620], 0xf
cmova r14, qword [0x1802b6608]
mov rcx, r14
call fcn.18006f8d0
lea rcx, [0x1802b6c58]
cmp qword [0x1802b6c70], 0xf
cmova rcx, qword [0x1802b6c58]
movups xmm0, xmmword [0x1802b6c98]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x180089ad7
lea rax, [0x1802b6c98]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6688]
cmp qword [0x1802b66a0], 0xf
cmova rcx, qword [0x1802b6688]
movups xmm0, xmmword [0x1802b6538]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x180089b17
lea rax, [0x1802b6538]
mov qword [0x18026d708], rax
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xbbf3f798
call fcn.18004cf10
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6b50], 0xf
cmova rdi, qword [0x1802b6b38]
mov rcx, rdi
call fcn.18006f8d0
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm14
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
movsd xmm0, qword [0x18018f858]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [str._n_n_t_]
mov dword [rsp + 0x68], eax
cmp byte [0x18018f863], 0
je 0x180089df0
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x180089dad
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18018f858]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x180089dc0
xor r9d, r9d
mov r8d, 0x1b0
mov rdx, qword [0x18026d708]
lea rcx, [rsp + 0x60]
call fcn.18007aa20
jmp 0x18008bab8
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x180089e48
cmp dword [rcx + 0x10], 2
jne 0x180089e43
cmp dword [rcx + 4], 1
je 0x180089e5d
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xf77978a2
call fcn.18004cf10
mov rax, r15
cmp qword [0x1802b6660], 0xf
cmova rax, qword [0x1802b6648]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x180089f0b
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
mulss xmm6, xmm10
mulss xmm9, xmm10
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6660], 0xf
cmova r15, qword [0x1802b6648]
mov rcx, r15
call fcn.18006f8d0
lea rcx, [0x1802b6c38]
cmp qword [0x1802b6c50], 0xf
cmova rcx, qword [0x1802b6c38]
movups xmm0, xmmword [0x1802b6c88]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x180089fc7
lea rax, [0x1802b6c88]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6768]
cmp qword [0x1802b6780], 0xf
cmova rcx, qword [0x1802b6768]
movups xmm0, xmmword [0x1802b6528]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008a007
lea rax, [0x1802b6528]
mov qword [0x18026d708], rax
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xbbf3f798
call fcn.18004cf10
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6b50], 0xf
cmova rdi, qword [0x1802b6b38]
mov rcx, rdi
call fcn.18006f8d0
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm14
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
movsd xmm0, qword [0x18018f570]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [str._v_b_b_b_b]
mov dword [rsp + 0x68], eax
movzx eax, word [0x18018f57c]
mov word [rsp + 0x6c], ax
cmp byte [0x18018f57d], 0
je 0x18008a2f0
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x18008a2a9
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18018f570]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x18008a2c0
xor r9d, r9d
mov r8d, 0x1b0
mov rdx, qword [0x18026d708]
lea rcx, [rsp + 0x60]
call fcn.18007aa20
jmp 0x18008bab8
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008a348
cmp dword [rcx + 0x10], 2
jne 0x18008a343
cmp dword [rcx + 4], 1
je 0x18008a35d
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0x4b778424
call fcn.18004cf10
mov rax, r12
cmp qword [0x1802b6a60], 0xf
cmova rax, qword [0x1802b6a48]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008a40b
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
mulss xmm6, xmm10
mulss xmm9, xmm10
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6a60], 0xf
cmova r12, qword [0x1802b6a48]
mov rcx, r12
call fcn.18006f8d0
lea rcx, [0x1802b6c18]
cmp qword [0x1802b6c30], 0xf
cmova rcx, qword [0x1802b6c18]
movups xmm0, xmmword [0x1802b6c78]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008a4c7
lea rax, [0x1802b6c78]
mov qword [0x18026d708], rax
lea rcx, [0x1802b6748]
cmp qword [0x1802b6760], 0xf
cmova rcx, qword [0x1802b6748]
movups xmm0, xmmword [0x1802b6518]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
call fcn.180085030
test al, al
je 0x18008a507
lea rax, [0x1802b6518]
mov qword [0x18026d708], rax
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xe50da29b
call fcn.18004cf10
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm6
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6b50], 0xf
cmova rdi, qword [0x1802b6b38]
mov rcx, rdi
call fcn.18006f8d0
mov rcx, qword [0x1802b9a38]
mov rax, qword [rcx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
addss xmm0, xmm14
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
movsd xmm0, qword [0x18018f5a8]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [str._f_b_b_b]
mov dword [rsp + 0x68], eax
movzx eax, word [0x18018f5b4]
mov word [rsp + 0x6c], ax
cmp byte [0x18018f5b5], 0
je 0x18008a7f0
xor r8d, r8d
cmp dword [0x1801a7090], 2
jl 0x18008a7a9
movdqa xmm4, xmmword [0x180193320]
movdqa xmm2, xmmword [0x180193030]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
mov eax, dword [str.0000000000000000]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x18018f5a8]
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm3, xmmword [0x180193050]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.1111222233338888CD__67___ABGGXYZ____abcdefgGk]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x180193250]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
mov r8d, 8
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x18008a7c0
xor r9d, r9d
mov r8d, 0x1b0
mov rdx, qword [0x18026d708]
lea rcx, [rsp + 0x60]
call fcn.18007aa20
jmp 0x18008bab8
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008a848
cmp dword [rcx + 0x10], 2
jne 0x18008a843
cmp dword [rcx + 4], 1
je 0x18008a85d
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xcef31328
call fcn.18004cf10
lea rdi, [0x1802b6628]
mov rax, rdi
cmp qword [0x1802b6640], 0xf
cmova rax, qword [0x1802b6628]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008a912
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6640], 0xf
cmova rdi, qword [0x1802b6628]
mov rcx, rdi
call fcn.18006f8d0
lea rdx, [0x1802b9e5b]
cmp qword [0x1802b65a0], 0xf
mov rcx, qword [0x1802b6588]
ja 0x18008a9ad
lea rcx, [0x1802b6588]
call fcn.1800835e0
mov eax, dword [0x18018f5d8]
mov dword [rbp + 0xc8], eax
movzx eax, byte [0x18018f5dc]
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor al, 0x34
mov byte [rbp + 0xcc], al
lea rcx, [0x1802b65c8]
cmp qword [0x1802b65e0], 0xf
cmova rcx, qword [0x1802b65c8]
mov dword [rbp + 0xb8], 0x42c80000
mov dword [rbp + 0xc0], 0
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0fc]
mov edx, 8
call fcn.180084a00
lea rdx, [0x1802b9e5a]
cmp qword [0x1802b6600], 0xf
mov rcx, qword [0x1802b65e8]
ja 0x18008aa63
lea rcx, [0x1802b65e8]
call fcn.1800835e0
mov eax, dword [0x18018f5d8]
mov dword [rbp + 0xc8], eax
movzx eax, byte [0x18018f5dc]
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor al, 0x34
mov byte [rbp + 0xcc], al
lea rcx, [0x1802b65a8]
cmp qword [0x1802b65c0], 0xf
cmova rcx, qword [0x1802b65a8]
mov dword [rbp + 0xb8], 0x42c80000
mov dword [rbp + 0xc0], 0
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b100]
mov edx, 8
call fcn.180084a00
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
mov ecx, 0x132ab424
jmp 0x18008baa0
mov ecx, dword [rsi + 0xf4]
test ecx, ecx
je 0x18008b6c8
sub ecx, 1
je 0x18008b2eb
sub ecx, 1
je 0x18008af0e
cmp ecx, 1
jne 0x18008bb25
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], cl
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008abd1
cmp dword [rcx + 0x10], 2
jne 0x18008abcc
cmp dword [rcx + 4], 1
je 0x18008abe6
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xc668ae7e
call fcn.18004cf10
mov rax, r13
cmp qword [0x1802b6e30], 0xf
cmova rax, qword [0x1802b6e18]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008ac94
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6e30], 0xf
cmova r13, qword [0x1802b6e18]
mov rcx, r13
call fcn.18006f8d0
lea rcx, [0x1802b68a8]
cmp qword [0x1802b68c0], 0xf
cmova rcx, qword [0x1802b68a8]
lea rdx, [0x1802b9e4f]
call fcn.1800835e0
lea rcx, [0x1802b6888]
cmp qword [0x1802b68a0], 0xf
cmova rcx, qword [0x1802b6888]
lea rdx, [0x1802b9e4e]
call fcn.1800835e0
lea rcx, [0x1802b6b18]
cmp qword [0x1802b6b30], 0xf
cmova rcx, qword [0x1802b6b18]
lea rdx, [0x1802b9e50]
call fcn.1800835e0
lea rcx, [0x1802b6868]
cmp qword [0x1802b6880], 0xf
cmova rcx, qword [0x1802b6868]
lea rdx, [0x1802b9e4d]
call fcn.1800835e0
lea rcx, [0x1802b6ca8]
cmp qword [0x1802b6cc0], 0xf
cmova rcx, qword [0x1802b6ca8]
lea rdx, [0x1802b9e51]
call fcn.1800835e0
lea rcx, [0x1802b6af8]
cmp qword [0x1802b6b10], 0xf
cmova rcx, qword [0x1802b6af8]
lea rdx, [0x1802b9e53]
call fcn.1800835e0
lea rdx, [0x1802b9e52]
cmp qword [0x1802b68e0], 0xf
mov rcx, qword [0x1802b68c8]
ja 0x18008ae01
lea rcx, [0x1802b68c8]
call fcn.1800835e0
mov eax, dword [0x18018f5d0]
mov dword [rbp + 0xc8], eax
movzx eax, byte [0x18018f5d4]
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor al, 0x34
mov byte [rbp + 0xcc], al
lea rcx, [0x1802b6848]
cmp qword [0x1802b6860], 0xf
cmova rcx, qword [0x1802b6848]
mov dword [rbp + 0xb8], 0x40000000
mov dword [rbp + 0xc0], 0x3dcccccd
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0f0]
mov edx, 8
call fcn.180084a00
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
mov ecx, 0x1aae4f65
jmp 0x18008baa0
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008af47
cmp dword [rcx + 0x10], 2
jne 0x18008af42
cmp dword [rcx + 4], 1
je 0x18008af5c
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xe4356f8e
call fcn.18004cf10
mov rax, r14
cmp qword [0x1802b6620], 0xf
cmova rax, qword [0x1802b6608]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008b00a
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6620], 0xf
cmova r14, qword [0x1802b6608]
mov rcx, r14
call fcn.18006f8d0
lea rcx, [0x1802b6808]
cmp qword [0x1802b6820], 0xf
cmova rcx, qword [0x1802b6808]
lea rdx, [0x1802b9e56]
call fcn.1800835e0
lea rcx, [0x1802b6bf8]
cmp qword [0x1802b6c10], 0xf
cmova rcx, qword [0x1802b6bf8]
lea rdx, [0x1802b9e54]
call fcn.1800835e0
lea rdx, [0x1802b9e55]
cmp qword [0x1802b6840], 0xf
mov rcx, qword [0x1802b6828]
ja 0x18008b0eb
lea rcx, [0x1802b6828]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b67c8]
cmp qword [0x1802b67e0], 0xf
cmova rcx, qword [0x1802b67c8]
mov dword [rbp + 0xb8], 5
mov dword [rbp + 0xc0], 1
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0f4]
mov edx, 4
call fcn.180084a00
lea rcx, [0x1802b6b98]
cmp qword [0x1802b6bb0], 0xf
cmova rcx, qword [0x1802b6b98]
lea rdx, [0x1802b9e57]
call fcn.1800835e0
lea rdx, [0x1802b9e59]
cmp qword [0x1802b6af0], 0xf
mov rcx, qword [0x1802b6ad8]
ja 0x18008b1d1
lea rcx, [0x1802b6ad8]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b67a8]
cmp qword [0x1802b67c0], 0xf
cmova rcx, qword [0x1802b67a8]
mov dword [rbp + 0xb8], 0x41f00000
mov dword [rbp + 0xc0], 0x3f800000
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0f8]
mov edx, 8
call fcn.180084a00
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
mov ecx, 0x6a3e4cc9
jmp 0x18008baa0
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008b324
cmp dword [rcx + 0x10], 2
jne 0x18008b31f
cmp dword [rcx + 4], 1
je 0x18008b339
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0x6ceeb87b
call fcn.18004cf10
mov rax, r15
cmp qword [0x1802b6660], 0xf
cmova rax, qword [0x1802b6648]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008b3e7
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6660], 0xf
cmova r15, qword [0x1802b6648]
mov rcx, r15
call fcn.18006f8d0
lea rcx, [0x1802b69e8]
cmp qword [0x1802b6a00], 0xf
cmova rcx, qword [0x1802b69e8]
lea rdx, [0x1802b9e43]
call fcn.1800835e0
lea rcx, [0x1802b6bd8]
cmp qword [0x1802b6bf0], 0xf
cmova rcx, qword [0x1802b6bd8]
lea rdx, [0x1802b9e41]
call fcn.1800835e0
lea rdx, [0x1802b9e42]
cmp qword [0x1802b6a20], 0xf
mov rcx, qword [0x1802b6a08]
ja 0x18008b4c8
lea rcx, [0x1802b6a08]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b69a8]
cmp qword [0x1802b69c0], 0xf
cmova rcx, qword [0x1802b69a8]
mov dword [rbp + 0xb8], 5
mov dword [rbp + 0xc0], 1
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0e0]
mov edx, 4
call fcn.180084a00
lea rcx, [0x1802b6b78]
cmp qword [0x1802b6b90], 0xf
cmova rcx, qword [0x1802b6b78]
lea rdx, [0x1802b9e44]
call fcn.1800835e0
lea rdx, [0x1802b9e46]
cmp qword [0x1802b6ad0], 0xf
mov rcx, qword [0x1802b6ab8]
ja 0x18008b5ae
lea rcx, [0x1802b6ab8]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b6988]
cmp qword [0x1802b69a0], 0xf
cmova rcx, qword [0x1802b6988]
mov dword [rbp + 0xb8], 0x41f00000
mov dword [rbp + 0xc0], 0x3f800000
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0e4]
mov edx, 8
call fcn.180084a00
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
mov ecx, 0x31b257bf
jmp 0x18008baa0
mov rbx, qword [0x1802b9a38]
mov rax, qword [rbx + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008b701
cmp dword [rcx + 0x10], 2
jne 0x18008b6fc
cmp dword [rcx + 4], 1
je 0x18008b716
call fcn.18006ec80
mov edx, 2
lea r8d, [rdx - 1]
call fcn.18006e320
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 0xadddfbd
call fcn.18004cf10
mov rax, r12
cmp qword [0x1802b6a60], 0xf
cmova rax, qword [0x1802b6a48]
mov rbx, qword [0x1802b9a38]
test rax, rax
je 0x18008b7c4
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movaps xmm3, xmm8
movss xmm2, dword [rbx + 0x1980]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbx + 0x1978]
call fcn.180069940
movss xmm0, dword [rbp + 0xb8]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
mov rax, qword [rbx + 0x1c10]
movss xmm0, dword [rax + 0xd8]
subss xmm0, dword [rax + 0x10]
addss xmm0, dword [rax + 0x5c]
mulss xmm6, xmm10
addss xmm0, xmm6
mulss xmm9, xmm10
subss xmm0, xmm9
mov byte [rax + 0x90], 1
mov rax, qword [rbx + 0x1c10]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, xmm0
movss dword [rax + 0xd8], xmm1
movss xmm0, dword [rax + 0xf0]
maxss xmm0, xmm1
movss dword [rax + 0xf0], xmm0
cmp qword [0x1802b6a60], 0xf
cmova r12, qword [0x1802b6a48]
mov rcx, r12
call fcn.18006f8d0
lea rcx, [0x1802b6948]
cmp qword [0x1802b6960], 0xf
cmova rcx, qword [0x1802b6948]
lea rdx, [0x1802b9e49]
call fcn.1800835e0
lea rcx, [0x1802b6bb8]
cmp qword [0x1802b6bd0], 0xf
cmova rcx, qword [0x1802b6bb8]
lea rdx, [0x1802b9e47]
call fcn.1800835e0
lea rdx, [0x1802b9e48]
cmp qword [0x1802b6980], 0xf
mov rcx, qword [0x1802b6968]
ja 0x18008b8a5
lea rcx, [0x1802b6968]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b6908]
cmp qword [0x1802b6920], 0xf
cmova rcx, qword [0x1802b6908]
mov dword [rbp + 0xb8], 5
mov dword [rbp + 0xc0], 1
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0e8]
mov edx, 4
call fcn.180084a00
lea rcx, [0x1802b6b58]
cmp qword [0x1802b6b70], 0xf
cmova rcx, qword [0x1802b6b58]
lea rdx, [0x1802b9e4a]
call fcn.1800835e0
lea rdx, [0x1802b9e4c]
cmp qword [0x1802b6ab0], 0xf
mov rcx, qword [0x1802b6a98]
ja 0x18008b98b
lea rcx, [0x1802b6a98]
call fcn.1800835e0
mov eax, dword [0x18018f5e8]
mov dword [rbp + 0xc8], eax
movzx eax, word [0x18018f5ec]
mov word [rbp + 0xcc], ax
mov byte [rbp + 0xc8], 0x25
xor byte [rbp + 0xc9], 0x31
xor byte [rbp + 0xca], 0x32
xor byte [rbp + 0xcb], 0x33
xor byte [rbp + 0xcc], 0x34
xor byte [rbp + 0xcd], 0x35
lea rcx, [0x1802b68e8]
cmp qword [0x1802b6900], 0xf
cmova rcx, qword [0x1802b68e8]
mov dword [rbp + 0xb8], 0x41f00000
mov dword [rbp + 0xc0], 0x3f800000
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
lea r8, [0x18023b0ec]
mov edx, 8
call fcn.180084a00
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
call fcn.18006e970
mov rbx, qword [0x1802b9a38]
mov dword [rsp + 0x40], 7
movups xmm0, xmmword [rbx + 0x1698]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rbx + 0x1d78]
lea rdx, [rsp + 0x40]
call fcn.18005a020
mov ecx, 0x54b78cd4
lea rdx, [rsp + 0x70]
movups xmm0, xmmword [rsi + 0x80]
movups xmmword [rbx + 0x1698], xmm0
call fcn.18004cf10
call fcn.18004cd30
mov r8, qword [0x1802b9a38]
movsxd rax, dword [r8 + 0x1d78]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d80]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1628], xmm0
dec dword [r8 + 0x1d78]
mov rax, qword [r8 + 0x1c10]
mov byte [rax + 0x90], 1
mov rax, qword [r8 + 0x1c10]
mov rcx, qword [rax + 0x178]
test rcx, rcx
je 0x18008bb25
cmp dword [rcx + 0x10], 1
jne 0x18008bb20
cmp dword [rcx + 4], 0
je 0x18008bb25
call fcn.18006ec80
call fcn.18004cd30
call fcn.180051bb0
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x18008bb6c
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008bb67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008bc2d
call fcn.1800ae058
xor r15d, r15d
cmp byte [rsi + 0xf8], 0
je 0x18008bb84
call fcn.1800521c0
mov byte [rsi + 0xf8], 0
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18008bbc3
cmp dword [rsi + 0xc0], 0
jne 0x18008bbc3
cmp byte [0x18023b0df], 0
sete byte [0x18023b0df]
call fcn.1800acd6c
mov qword [rsi + 0xb8], rax
mov dword [rsi + 0xc0], 1
jmp 0x18008bbda
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18008bbda
mov dword [rsi + 0xc0], r15d
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800b4ecc
int3
call fcn.18001e680
int3
call fcn.18001e850
int3
call fcn.180040610
int3
call fcn.1800b4ecc
nop
call fcn.1800b4ecc
nop
int3