Function at 0x1800bcec8
Capabilities:
Encode data using xor
Hash data with crc32
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movss xmm0, dword [0x18030084c]
xor r12d, r12d
cmp byte [0x18034a24c], r12b
mov r13d, 1
movss xmm1, dword [0x180090544]
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
je 0x1800bcf4f
ucomiss xmm0, xmm1
je 0x1800bcf87
comiss xmm0, dword [0x180090548]
mov byte [0x18034a24c], r12b
jae 0x1800bcf71
addss xmm0, dword [0x180090334]
movss dword [0x18030084c], xmm0
jmp 0x1800bcf78
mov byte [0x18034a24c], r13b
comiss xmm0, xmm1
jb 0x1800bcf87
mov dword [0x18030084c], 0xc3960000
mov ecx, dword [0x18034a270]
mov ebx, 3
movss xmm10, dword [0x18009038c]
xorps xmm9, xmm9
lea edi, [rbx - 1]
test ecx, ecx
je 0x1800bd087
sub ecx, r13d
je 0x1800bd049
sub ecx, r13d
je 0x1800bd023
cmp ecx, r13d
je 0x1800bcfdd
and dword [0x18034a26c], r12d
mov dword [0x1802795b0], 0x3f800000
mov dword [0x180329e10], 0x3f800000
jmp 0x1800bd0ac
movss xmm1, dword [0x180329e10]
movss xmm0, dword [0x18034a26c]
addss xmm1, dword [0x18009029c]
addss xmm0, dword [0x18009058c]
comiss xmm1, xmm10
movss dword [0x180329e10], xmm1
movss dword [0x18034a26c], xmm0
jb 0x1800bd0ac
mov dword [0x18034a270], r12d
jmp 0x1800bd0ac
movss xmm0, dword [0x1802795b0]
addss xmm0, dword [0x18009029c]
comiss xmm0, xmm10
movss dword [0x1802795b0], xmm0
jb 0x1800bd0ac
mov dword [0x18034a270], ebx
jmp 0x1800bd0ac
movss xmm1, dword [0x18034a26c]
movss xmm0, dword [0x180329e10]
addss xmm1, dword [0x18009029c]
addss xmm0, dword [0x18009058c]
comiss xmm1, xmm10
movss dword [0x18034a26c], xmm1
movss dword [0x180329e10], xmm0
jb 0x1800bd0ac
mov dword [0x18034a270], edi
jmp 0x1800bd0ac
movss xmm0, dword [0x1802795b0]
addss xmm0, dword [0x18009058c]
comiss xmm0, xmm9
movss dword [0x1802795b0], xmm0
ja 0x1800bd0ac
mov dword [0x18034a270], r13d
mov eax, dword [0x180349db4]
mov ecx, dword [0x18034ae10]
cdq
sub eax, edx
sar eax, 1
movd xmm12, eax
mov eax, dword [0x180349dc0]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm12, xmm12
movd xmm11, eax
cvtdq2ps xmm11, xmm11
test ecx, ecx
je 0x1800bd0f2
sub ecx, r13d
je 0x1800bd0f2
cmp ecx, r13d
je 0x1800bd0f2
movss xmm6, dword [rbp + 0xa0]
jmp 0x1800bd0fb
call qword [0x18034ae08]
movaps xmm6, xmm0
call fcn.18009d768
mov rcx, rax
call fcn.18009d054
mov ecx, dword [0x18034ae10]
subss xmm6, dword [rax]
movaps xmm7, xmm6
mulss xmm7, dword [0x1800903a0]
addss xmm7, dword [0x1800902a4]
test ecx, ecx
je 0x1800bd133
sub ecx, r13d
je 0x1800bd133
cmp ecx, r13d
jne 0x1800bd139
call qword [0x18034ae08]
call fcn.18009d768
mov rcx, rax
call fcn.18009d054
cmp byte [0x180349d96], r12b
je 0x1800bd17d
cmp byte [0x180349e31], r12b
je 0x1800bd17d
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800bd17d
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x1800903b0]
ja 0x1800bd180
mov dl, r12b
movss xmm14, dword [0x1800902bc]
lea rcx, [0x18008c748]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
call fcn.1800b20fc
call fcn.1800bc8fc
cmp byte [0x180349d6a], r12b
mov r14d, 0x12
mov r15d, dword [0x180349694]
mov esi, 4
je 0x1800bd378
mov rcx, qword [0x180349d50]
test rcx, rcx
je 0x1800bd378
call fcn.18009bd34
test al, al
je 0x1800bd378
mov rax, qword gs:[0x58]
mov rax, qword [rax + r15*8]
mov eax, dword [rsi + rax]
cmp dword [0x18034a3f4], eax
jle 0x1800bd251
lea rcx, [0x18034a3f4]
call fcn.1800fc0ec
cmp dword [0x18034a3f4], 0xffffffff
jne 0x1800bd251
movd xmm2, dword [0x180349dc0]
lea rcx, [0x18034a3f4]
movd xmm0, dword [0x180349db4]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm2, dword [0x180090334]
mulss xmm0, dword [0x180090334]
movss dword [0x18034a924], xmm2
movss dword [0x18034a920], xmm0
call fcn.1800fc080
mov rcx, qword [0x180349d50]
lea rdx, [rbp - 0x70]
and dword [rbp + 0xa4], r12d
mov r8d, r14d
and dword [rbp + 0xa0], r12d
call fcn.18009d0d0
ucomiss xmm9, dword [rax]
jne 0x1800bd2b2
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x50]
mov r8d, r14d
call fcn.18009d0d0
ucomiss xmm9, dword [rax + 4]
jne 0x1800bd2b2
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x60]
mov r8d, r14d
call fcn.18009d0d0
ucomiss xmm9, dword [rax + 8]
je 0x1800bd378
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x40]
mov r8d, 0x2f
call fcn.18009d0d0
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x50]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.18009dba4
test al, al
je 0x1800bd378
movss xmm0, dword [0x180195a88]
lea rax, [rsp + 0x40]
movss xmm1, dword [0x180195a8c]
movss xmm3, dword [rbp + 0xa0]
movss xmm2, dword [0x18034a924]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x180195a90]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x1800903a4]
movss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x4c], 0x3f800000
movups xmm1, xmmword [rsp + 0x40]
mov byte [rsp + 0x38], r13b
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rbp + 0xa4]
movdqa xmmword [rsp + 0x40], xmm1
movss xmm1, dword [0x18034a920]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.18009eda8
mov dl, byte [0x180349e31]
lea rcx, [0x18008c768]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
comiss xmm0, dword [0x180090290]
movss xmm15, dword [0x1800904fc]
jbe 0x1800bd647
and dword [rsp + 0x40], r12d
lea rax, [rsp + 0x40]
and dword [rsp + 0x44], r12d
movaps xmm8, xmm11
and dword [rsp + 0x48], r12d
movaps xmm13, xmm12
subss xmm8, dword [0x1800904a4]
subss xmm13, dword [0x1800904d8]
movss dword [rsp + 0x4c], xmm0
movaps xmm3, xmm15
movups xmm0, xmmword [rsp + 0x40]
mov dword [rsp + 0x38], r12d
movss dword [rsp + 0x30], xmm9
movaps xmm2, xmm8
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmm13
movss xmm0, dword [0x180090430]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.18009fba8
cmp byte [0x180349e31], r12b
je 0x1800bd51e
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800bd51e
cmp byte [0x180349e31], r12b
je 0x1800bd455
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x180090358]
ja 0x1800bd458
mov dl, r12b
lea rcx, [0x18008c788]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
movaps xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
comisd xmm1, xmmword [0x180090378]
jbe 0x1800bd51e
comiss xmm7, dword [0x180090334]
mulss xmm6, xmm15
movaps xmm1, xmm7
addss xmm1, xmm7
minss xmm6, dword [0x180090514]
jae 0x1800bd4a6
movaps xmm0, xmm10
jmp 0x1800bd4b6
movss xmm0, dword [0x1800903c8]
subss xmm0, xmm1
movaps xmm1, xmm10
and dword [rsp + 0x48], r12d
addss xmm8, xmm10
subss xmm6, dword [0x1800903c8]
movss dword [rsp + 0x40], xmm1
addss xmm13, xmm10
movss dword [rsp + 0x44], xmm0
lea rax, [rsp + 0x40]
movss dword [rsp + 0x4c], xmm2
movups xmm0, xmmword [rsp + 0x40]
mov dword [rsp + 0x38], r12d
movss dword [rsp + 0x30], xmm9
movaps xmm3, xmm6
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm2, xmm8
movss xmm0, dword [0x180090414]
movaps xmm1, xmm13
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.18009fba8
and dword [rbp + 0xa4], r12d
and dword [rbp + 0xa0], r12d
cmp byte [0x180349d94], r12b
je 0x1800bd647
movss xmm0, dword [0x180349fe0]
ucomiss xmm0, xmm9
jne 0x1800bd567
movss xmm0, dword [0x180349fe4]
ucomiss xmm0, xmm9
jne 0x1800bd567
movss xmm0, dword [0x180349fe8]
ucomiss xmm0, xmm9
je 0x1800bd647
movsd xmm0, qword [0x180349fe0]
lea rdx, [rbp + 0xa0]
mov eax, dword [0x180349fe8]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.18009dba4
test al, al
je 0x1800bd647
movss xmm0, dword [0x180195958]
lea rcx, [rsp + 0x40]
movss xmm1, dword [0x18019595c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x180195960]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x4c], 0x3f800000
call fcn.1800c98a0
movss xmm0, dword [0x1801959a8]
lea rcx, [rsp + 0x40]
movss xmm1, dword [0x1801959ac]
mov r8d, eax
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x1801959b0]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x4c], 0x41c80000
call fcn.1800c98a0
movss xmm0, dword [rbp + 0xa0]
lea rdx, [rbp + 0xa8]
movss xmm1, dword [rbp + 0xa4]
mov r9d, eax
movss dword [rbp + 0xa8], xmm0
movss dword [rbp + 0xac], xmm1
mov dword [rsp + 0x20], r8d
call fcn.18009fcf4
mov dl, byte [0x180349e19]
lea rcx, [0x18008c7a8]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
comiss xmm0, dword [0x180090290]
jbe 0x1800bd9ab
mov rax, qword [0x180349ed0]
xorps xmm1, xmm1
movdqa xmm13, xmmword [0x180090b80]
mov ecx, 4
movdqu xmmword [rax + 0x38d0], xmm13
call fcn.1800c9e90
lea rdx, [rbp + 0xa0]
mov dword [rbp + 0xa0], 0x3f800000
mov ecx, 5
mov dword [rbp + 0xa4], 0x3f800000
call fcn.1800c9f08
xorps xmm1, xmm1
mov ecx, ebx
call fcn.1800c9e90
movdqa xmm0, xmmword [0x180090630]
lea rdx, [rsp + 0x40]
mov ecx, edi
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c9ddc
mov rax, qword [0x180349ed0]
mov ecx, 0x453b8000
xor edx, edx
mov r8d, 0xc021f
or dword [rax + 0x47a0], ebx
mov dword [rax + 0x47c0], ecx
mov dword [rax + 0x47c4], ecx
lea rcx, [0x18008c7c0]
mov qword [rax + 0x47b0], r12
mov qword [rax + 0x47b8], r12
mov dword [rax + 0x47a4], r13d
mov dword [rax + 0x47a8], r13d
call fcn.1800d0924
mov eax, dword [0x180349db4]
cdq
sub eax, edx
sar eax, 1
cmp byte [0x180349e19], r12b
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0xa0], xmm6
je 0x1800bd99c
movss xmm0, dword [0x180349fcc]
lea rcx, [rsp + 0x40]
movss xmm1, dword [0x180349fec]
subss xmm0, xmm10
movss xmm6, dword [0x180349fc4]
subss xmm1, xmm10
movss xmm8, dword [0x180349fdc]
divss xmm6, xmm0
movdqa xmm0, xmmword [0x180090830]
movups xmmword [rsp + 0x40], xmm0
divss xmm8, xmm1
call fcn.1800c98a0
lea rdx, [rbp + 0xa8]
mov r8d, eax
lea rcx, [rbp + 0xb0]
mov dword [rbp + 0xa8], 0x437a0000
mov dword [rbp + 0xac], 0x40400000
mov dword [rbp + 0xb4], 0x43480000
movss xmm0, dword [rbp + 0xa0]
subss xmm0, dword [0x1800904f8]
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xb0], xmm0
call fcn.1800bcc38
movdqa xmm0, xmmword [0x180090830]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98a0
lea rcx, [rsp + 0x40]
mov r10d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98a0
lea rcx, [rsp + 0x40]
mov r8d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98a0
movdqa xmm0, xmmword [0x180090830]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov r9d, eax
call fcn.1800c98a0
minss xmm6, xmm10
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea rdx, [rbp + 0xa8]
mov r8d, eax
mov dword [rbp + 0xac], 0x40a00000
lea rcx, [rbp + 0xa0]
mov dword [rbp + 0xa4], 0x43480000
mulss xmm6, dword [0x18009050c]
movss dword [rbp + 0xa8], xmm6
movss xmm6, dword [rbp + 0xa0]
movss dword [rbp + 0xa0], xmm6
call fcn.1800bccd4
movdqa xmm0, xmmword [0x180090830]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98a0
mov r8d, eax
movss dword [rbp + 0xa8], xmm6
lea rdx, [rbp + 0xa0]
mov dword [rbp + 0xa0], 0x437a0000
lea rcx, [rbp + 0xa8]
mov dword [rbp + 0xa4], 0x40400000
mov dword [rbp + 0xac], 0x434e0000
call fcn.1800bcc38
movdqa xmm0, xmmword [0x180090830]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98a0
lea rcx, [rsp + 0x40]
mov r10d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98a0
lea rcx, [rsp + 0x40]
mov r8d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98a0
movdqa xmm0, xmmword [0x180090830]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov r9d, eax
call fcn.1800c98a0
minss xmm8, xmm10
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea rdx, [rbp + 0xa0]
mov r8d, eax
movss dword [rbp + 0xa8], xmm6
lea rcx, [rbp + 0xa8]
mov dword [rbp + 0xa4], 0x40a00000
mov dword [rbp + 0xac], 0x434e0000
mulss xmm8, dword [0x18009050c]
movss dword [rbp + 0xa0], xmm8
call fcn.1800bccd4
mov ecx, r13d
call fcn.1800c9e38
mov ecx, ebx
call fcn.1800c9f94
mov dl, byte [0x180349e3f]
lea rcx, [0x18008c7d0]
call fcn.1800959cc
mov r14d, eax
cmp eax, r13d
jle 0x1800bde3f
call fcn.18009d768
mov rcx, rax
call fcn.1800c4cf0
mov rdi, rax
test rax, rax
je 0x1800bde3f
mov r10, qword [rax]
test r10, r10
je 0x1800bde3f
mov r10, qword [r10 + 0x10]
test r10, r10
je 0x1800bde3f
or edx, 0xffffffff
mov r11, r10
mov r8d, edx
or r9, 0xffffffffffffffff
inc r9
cmp byte [r10 + r9], r12b
jne 0x1800bda08
test r9d, r9d
je 0x1800bde3f
mov ebx, r9d
lea rsi, [0x1800847b0]
movsx ecx, byte [r11]
mov eax, r8d
xor rcx, rax
shr r8d, 8
movzx eax, cl
add r11, r13
xor r8d, dword [rsi + rax*4]
sub rbx, r13
jne 0x1800bda24
not r8d
cmp r8d, 0x407209f5
jne 0x1800bde3f
mov r8d, r9d
movsx ecx, byte [r10]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
add r10, r13
xor edx, dword [rsi + rax*4]
sub r8, r13
jne 0x1800bda54
not edx
cmp edx, 0xe93460ee
jne 0x1800bde3f
cmp byte [0x180349cbf], r12b
jne 0x1800bdc3b
mov rcx, rdi
call fcn.18009c370
mov rcx, rdi
mov rbx, rax
call fcn.18009c370
movss xmm6, dword [0x1800902d8]
movss xmm0, dword [rbx]
movss xmm2, dword [0x18034a00c]
movss xmm1, dword [rax]
mulss xmm1, xmm6
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1800bdc3b
comiss xmm2, xmm9
jbe 0x1800bdc3b
and dword [rsp + 0x40], r12d
lea rax, [rsp + 0x40]
and dword [rsp + 0x44], r12d
movaps xmm7, xmm11
and dword [rsp + 0x48], r12d
movaps xmm8, xmm12
subss xmm7, dword [0x1800904b0]
subss xmm8, dword [0x1800904d8]
movss xmm13, dword [0x180090294]
movaps xmm3, xmm15
mov dword [rsp + 0x38], r12d
movss dword [rsp + 0x30], xmm9
movd xmm0, r14d
movaps xmm2, xmm7
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x28], rax
movaps xmm1, xmm8
mulss xmm0, xmm13
movss dword [rsp + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x180090430]
movss dword [rsp + 0x20], xmm0
call fcn.18009fba8
mov rcx, rdi
call fcn.18009c370
mov rcx, rdi
mov rbx, rax
call fcn.18009c370
cmp byte [0x180349e3f], r12b
movss xmm1, dword [rbx]
movss xmm0, dword [rax]
mulss xmm0, xmm6
movss xmm6, dword [0x18034a00c]
subss xmm1, xmm0
divss xmm6, xmm1
addss xmm6, dword [0x1800902a4]
je 0x1800bdb9b
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800bdb9e
mov dl, r12b
lea rcx, [0x18008c7e8]
call fcn.1800959cc
cmp eax, r13d
jle 0x1800bde3f
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm13
and dword [rsp + 0x40], r12d
addss xmm7, xmm10
and dword [rsp + 0x48], r12d
addss xmm8, xmm10
mulss xmm6, xmm15
lea rax, [rsp + 0x40]
mov dword [rsp + 0x44], 0x3f48c8ca
movss xmm15, dword [0x180090414]
movss dword [rsp + 0x4c], xmm1
movaps xmm2, xmm7
minss xmm6, dword [0x180090514]
movups xmm0, xmmword [rsp + 0x40]
mov dword [rsp + 0x38], r12d
movss dword [rsp + 0x30], xmm9
movaps xmm1, xmm8
mov qword [rsp + 0x28], rax
subss xmm6, dword [0x1800903c8]
movss dword [rsp + 0x20], xmm15
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm3, xmm6
call fcn.18009fba8
jmp 0x1800bde48
mov rax, qword gs:[0x58]
mov esi, 4
mov rbx, qword [rax + r15*8]
lea r15, [0x18034ac70]
mov eax, dword [rbx + rsi]
cmp dword [0x18034ac70], eax
jle 0x1800bdc89
mov rcx, r15
call fcn.1800fc0ec
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bdc89
mov ecx, 0x6c06da54
call fcn.180099124
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc080
mov rax, qword [0x18034aa68]
movss xmm0, dword [0x180349d10]
comiss xmm0, dword [rax + rdi]
jae 0x1800bde3f
and dword [rsp + 0x40], r12d
lea rax, [rsp + 0x40]
and dword [rsp + 0x44], r12d
movaps xmm7, xmm11
and dword [rsp + 0x48], r12d
movaps xmm8, xmm12
subss xmm7, dword [0x1800904b0]
subss xmm8, dword [0x1800904d8]
mov dword [rsp + 0x38], r12d
movaps xmm3, xmm15
movss dword [rsp + 0x30], xmm9
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x28], rax
movaps xmm2, xmm7
movaps xmm1, xmm8
mulss xmm0, dword [0x180090294]
movss dword [rsp + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x180090430]
movss dword [rsp + 0x20], xmm0
call fcn.18009fba8
mov eax, dword [rbx + rsi]
cmp dword [0x18034ac70], eax
jle 0x1800bdd54
mov rcx, r15
call fcn.1800fc0ec
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bdd54
mov ecx, 0x6c06da54
call fcn.180099124
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc080
mov rax, qword [0x18034aa68]
mov rcx, rdi
movss xmm6, dword [rax + rdi]
subss xmm6, dword [0x180349d10]
call fcn.18009c370
movss xmm13, dword [rax]
mov eax, dword [rsi + rbx]
cmp dword [0x18034ac70], eax
jle 0x1800bddaa
mov rcx, r15
call fcn.1800fc0ec
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bddaa
mov ecx, 0x6c06da54
call fcn.180099124
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc080
mov rax, qword [0x18034aa68]
movss xmm4, dword [0x180349d10]
movaps xmm1, xmm4
addss xmm1, xmm13
movss xmm3, dword [rax + rdi]
comiss xmm3, xmm9
jae 0x1800bddd3
maxss xmm1, xmm9
jmp 0x1800bddf5
movaps xmm0, xmm4
movaps xmm2, xmm3
subss xmm0, xmm3
addss xmm2, xmm13
comiss xmm0, xmm9
ja 0x1800bddee
minss xmm2, xmm1
jmp 0x1800bddf2
maxss xmm2, xmm1
movaps xmm1, xmm2
cmp byte [0x180349e3f], r12b
subss xmm1, xmm4
divss xmm6, xmm1
addss xmm6, dword [0x1800902a4]
je 0x1800bde17
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800bde1a
mov dl, r12b
lea rcx, [0x18008c800]
call fcn.1800959cc
cmp eax, r13d
jle 0x1800bde3f
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x180090294]
jmp 0x1800bdbbf
movss xmm15, dword [0x180090414]
mov dl, byte [0x180349e48]
lea rcx, [0x18008c818]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
movss xmm6, dword [0x1800902a4]
comiss xmm0, xmm6
jbe 0x1800bdf57
movss xmm1, dword [0x180195ab8]
mov rcx, qword [0x180349ed0]
movss xmm2, dword [0x180195abc]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [0x180195ac0]
mov rax, qword [rcx + 0x3ec8]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x44], xmm2
movups xmm0, xmmword [rsp + 0x40]
mov byte [rax + 0xb8], r13b
mov rbx, qword [rcx + 0x3ec8]
lea rcx, [rsp + 0x40]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [0x180090830]
movups xmmword [rsp + 0x40], xmm0
movss dword [rbp + 0xa0], xmm12
movss dword [rbp + 0xa4], xmm11
call fcn.1800c98a0
movss xmm2, dword [0x180090410]
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbx + 0x298]
mov edi, 0x40
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800e18e8
lea rcx, [rsp + 0x60]
movss dword [rbp + 0xa0], xmm12
movss dword [rbp + 0xa4], xmm11
call fcn.1800c98a0
movss xmm2, dword [0x1800903e8]
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbx + 0x298]
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800e18e8
mov dl, byte [0x180349daf]
lea rcx, [0x18008c830]
movss dword [rsp + 0x20], xmm14
call fcn.180095cd4
comiss xmm0, xmm6
jbe 0x1800be019
movss xmm1, dword [0x180195a68]
lea rcx, [rsp + 0x40]
movss xmm2, dword [0x180195a6c]
mov r8, qword [0x180349ed0]
movss xmm6, dword [0x180197cb0]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [0x180195a70]
mov rax, qword [r8 + 0x3ec8]
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x40]
mov byte [rax + 0xb8], r13b
movss dword [rbp + 0xa0], xmm12
movdqa xmmword [rsp + 0x40], xmm0
movss dword [rbp + 0xa4], xmm11
call fcn.1800c98a0
mov rcx, qword [r8 + 0x3ec8]
lea rdx, [rbp + 0xa0]
movss dword [rsp + 0x28], xmm10
mov r9d, eax
movaps xmm2, xmm6
mov dword [rsp + 0x20], r12d
mov rcx, qword [rcx + 0x298]
call fcn.1800e180c
mov rcx, qword [0x180349d50]
mov edi, r12d
movss xmm8, dword [0x18009048c]
mov esi, 0xf
movss xmm9, dword [0x180090468]
test rcx, rcx
je 0x1800be296
cmp byte [0x180349e32], r12b
je 0x1800be296
call fcn.18009bd34
test al, al
je 0x1800be296
cmp byte [0x180349d15], r12b
jne 0x1800be296
mov rcx, qword [0x180349d50]
call fcn.18009cc6c
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.1800c3b94
xorps xmm0, xmm0
xorps xmm1, xmm1
or rbx, 0xffffffffffffffff
movups xmmword [rbp - 0x60], xmm0
mov rdx, qword [rax]
mov r8, rbx
movdqu xmmword [rbp - 0x50], xmm1
inc r8
cmp byte [rdx + r8], r12b
jne 0x1800be09e
lea rcx, [rbp - 0x60]
call fcn.180093590
mov rdx, qword [rbp + 0xa0]
mov eax, ebx
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1800be0d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [0x180349d17], r12b
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x70], r12b
mov qword [rbp - 0x78], rsi
je 0x1800be11b
mov rax, qword [0x18008c840]
mov dword [rsp + 0x70], eax
movzx eax, word [0x18008c844]
mov word [rsp + 0x74], ax
mov al, byte [0x18008c846]
mov byte [rsp + 0x76], al
mov qword [rbp - 0x80], 7
mov byte [rsp + 0x77], r12b
jmp 0x1800be140
movsd xmm0, qword [0x18008c848]
mov al, byte [0x18008c850]
movsd qword [rsp + 0x70], xmm0
mov byte [rsp + 0x78], al
mov qword [rbp - 0x80], 9
mov byte [rsp + 0x79], r12b
cmp qword [rbp - 0x48], rsi
lea rbx, [rbp - 0x60]
mov rdx, qword [0x180349d50]
lea rcx, [rsp + 0x60]
cmova rbx, qword [rbp - 0x60]
call fcn.1800b1dc4
mov rcx, qword [0x18034a960]
lea r9, [rsp + 0x40]
movaps xmm6, xmm11
mov qword [rsp + 0x38], rbx
movss dword [rsp + 0x30], xmm9
addss xmm6, xmm8
movups xmm0, xmmword [rax]
mov dword [rsp + 0x28], 2
movaps xmm1, xmm12
mov dword [rsp + 0x20], 3
movd edx, xmm1
movaps xmm2, xmm6
movd r8d, xmm2
movdqu xmmword [rsp + 0x40], xmm0
call fcn.18009eed4
cmp byte [0x180349d17], r12b
lea rax, [rsp + 0x70]
movdqa xmm13, xmmword [0x180090b80]
je 0x1800be1cb
movdqa xmm0, xmm13
jmp 0x1800be1d3
movdqa xmm0, xmmword [0x180090840]
addss xmm6, dword [0x18009046c]
mov rcx, qword [0x18034a960]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm1, xmm12
movss dword [rsp + 0x30], xmm9
movd edx, xmm1
movaps xmm2, xmm6
mov dword [rsp + 0x28], 2
movd r8d, xmm2
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x20], 3
call fcn.18009eed4
mov rdx, qword [rbp - 0x78]
mov edi, 0x16
mov ebx, 0x1000
cmp rdx, rsi
jbe 0x1800be25b
mov rcx, qword [rsp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800be256
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be288
call fcn.1800fc044
mov rdx, qword [rbp - 0x48]
cmp rdx, rsi
jbe 0x1800be29f
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800be28f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800be28f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fc044
jmp 0x1800be29f
movdqa xmm13, xmmword [0x180090b80]
mov ecx, dword [0x18034ae10]
test ecx, ecx
je 0x1800be2bd
sub ecx, r13d
je 0x1800be2bd
cmp ecx, r13d
je 0x1800be2bd
movss xmm7, dword [rbp + 0xa0]
jmp 0x1800be2c6
call qword [0x18034ae08]
movaps xmm7, xmm0
call fcn.18009d768
mov rcx, rax
call fcn.18009d054
subss xmm7, dword [rax]
subss xmm7, dword [0x1800902d4]
call fcn.18009d768
mov rcx, rax
call fcn.18009d344
movss xmm6, dword [0x1800902d0]
lea rcx, [0x18008c858]
mov dl, byte [0x180349db9]
movaps xmm10, xmm0
movss dword [rsp + 0x20], xmm6
call fcn.180095cd4
comiss xmm0, xmm6
jbe 0x1800be66e
cmp byte [0x180349db9], r12b
je 0x1800be66e
cmp byte [0x180349d96], r12b
je 0x1800be3f1
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be3f1
movss xmm0, dword [0x180195908]
movss xmm1, dword [0x18019590c]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x180195910]
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x64], xmm1
mov dword [rsp + 0x6c], 0x437f0000
call fcn.18009d768
mov r8d, 0x12
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18009d0d0
mulss xmm7, dword [0x180090350]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rsp + 0x60]
addss xmm7, dword [0x1800902dc]
movss xmm2, dword [rax + 4]
subss xmm2, dword [0x180090334]
movss xmm1, dword [rax]
movss xmm3, dword [rax + 8]
mulss xmm7, xmm10
unpcklps xmm1, xmm2
movss dword [rsp + 0x58], xmm3
addss xmm7, dword [0x1800902ac]
movdqa xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x50], xmm1
movaps xmm2, xmm7
call fcn.1800bcd78
cmp byte [0x180349d95], r12b
je 0x1800be470
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be470
movdqa xmm0, xmmword [0x180090840]
lea rax, [0x18008c870]
mov rcx, qword [0x18034a960]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm8
movss dword [rsp + 0x30], xmm9
movaps xmm1, xmm12
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
movd edx, xmm1
addss xmm2, xmm0
movd r8d, xmm2
call fcn.18009eed4
add edi, esi
cmp byte [0x180349d82], r12b
je 0x1800be4ef
mov ecx, dword [0x180349e70]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be4ef
movdqa xmm0, xmmword [0x180090890]
lea rax, [0x18008c880]
mov rcx, qword [0x18034a960]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm8
movss dword [rsp + 0x30], xmm9
movaps xmm1, xmm12
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
movd edx, xmm1
addss xmm2, xmm0
movd r8d, xmm2
call fcn.18009eed4
add edi, esi
cmp byte [0x180349d86], r12b
je 0x1800be56e
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be56e
movdqa xmm0, xmmword [0x1800908a0]
lea rax, [0x18008c890]
mov rcx, qword [0x18034a960]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm8
movss dword [rsp + 0x30], xmm9
movaps xmm1, xmm12
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
movd edx, xmm1
addss xmm2, xmm0
movd r8d, xmm2
call fcn.18009eed4
add edi, esi
cmp byte [0x180349e33], r12b
je 0x1800be66e
mov ecx, dword [0x180349e74]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be66e
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x40]
mov esi, 0x2f
mov r8d, esi
call fcn.18009d0d0
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
movsd qword [rbp - 0x70], xmm0
call fcn.18009d768
mov r8d, esi
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.18009d0d0
movsd xmm0, qword [rax]
movss xmm1, dword [rax + 8]
movsd qword [rsp + 0x50], xmm0
movss xmm2, dword [rsp + 0x54]
movss xmm3, dword [rsp + 0x50]
subss xmm3, dword [rbp - 0x70]
subss xmm2, dword [rbp - 0x6c]
movd xmm0, ebx
subss xmm1, xmm0
mulss xmm3, xmm3
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm3, xmm2
addss xmm3, xmm1
comiss xmm3, xmm15
jae 0x1800be66e
mov rcx, qword [0x18034a960]
addss xmm11, xmm8
movd xmm0, edi
lea rax, [0x18008c8a0]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x40]
movss dword [rsp + 0x30], xmm9
movaps xmm1, xmm12
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
movd edx, xmm1
addss xmm11, xmm0
movdqa xmmword [rsp + 0x40], xmm13
movaps xmm2, xmm11
movd r8d, xmm2
call fcn.18009eed4
cmp byte [0x180349d68], r12b
mov ebx, 0x30
movss xmm10, dword [0x1800904d4]
mov edi, 0xc0
movss xmm6, dword [0x1800904c0]
movss xmm7, dword [0x1800904ec]
movss xmm11, dword [0x180090508]
je 0x1800be7bb
cmp byte [0x180349d15], r12b
je 0x1800be7bb
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.18009eca0
movdqa xmm0, xmmword [0x1800907a0]
lea rax, [rsp + 0x40]
movss xmm12, dword [0x180090404]
movaps xmm3, xmm11
movss xmm2, dword [0x180197cfc]
movss xmm1, dword [0x180197cf8]
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x40], xmm0
call fcn.18009fba8
movss xmm2, dword [0x180197cfc]
lea rax, [rsp + 0x40]
movdqa xmm0, xmmword [0x1800907a0]
addss xmm2, xmm8
movss xmm1, dword [0x180197cf8]
movaps xmm3, xmm11
mov dword [rsp + 0x38], edi
movss dword [rsp + 0x30], xmm12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x40], xmm0
call fcn.18009fba8
movss xmm2, dword [0x180197cfc]
lea rax, [0x18008c8b0]
movss xmm1, dword [0x180197cf8]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x1800904a0]
mov rcx, qword [0x18034a960]
addss xmm1, xmm7
mov qword [rsp + 0x38], rax
movss dword [rsp + 0x30], xmm9
mov dword [rsp + 0x28], 2
movd r8d, xmm2
movd edx, xmm1
movdqa xmmword [rsp + 0x40], xmm13
mov dword [rsp + 0x20], 3
call fcn.18009eed4
jmp 0x1800be7c4
movss xmm12, dword [0x180090404]
cmp byte [0x180349d62], r12b
je 0x1800be8da
cmp byte [0x180349d15], r12b
je 0x1800be8da
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.18009eca0
movdqa xmm0, xmmword [0x1800907a0]
lea rax, [rsp + 0x40]
movss xmm2, dword [0x1800894c4]
movaps xmm3, xmm11
movss xmm1, dword [0x1800894c0]
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x40], xmm0
call fcn.18009fba8
movss xmm2, dword [0x1800894c4]
lea rax, [rsp + 0x40]
movdqa xmm0, xmmword [0x1800907a0]
addss xmm2, xmm8
movss xmm1, dword [0x1800894c0]
movaps xmm3, xmm11
mov dword [rsp + 0x38], edi
movss dword [rsp + 0x30], xmm12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x40], xmm0
call fcn.18009fba8
movss xmm2, dword [0x1800894c4]
lea rax, [0x18008c8c0]
movss xmm1, dword [0x1800894c0]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x1800904a0]
mov rcx, qword [0x18034a960]
addss xmm1, xmm7
mov qword [rsp + 0x38], rax
movss dword [rsp + 0x30], xmm9
mov dword [rsp + 0x28], 2
movd r8d, xmm2
movd edx, xmm1
movdqa xmmword [rsp + 0x40], xmm13
mov dword [rsp + 0x20], 3
call fcn.18009eed4
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x58]
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