Function at 0x1800bcee8
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 [0x180090554]
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 0x1800bcf6f
ucomiss xmm0, xmm1
je 0x1800bcfa7
comiss xmm0, dword [0x180090558]
mov byte [0x18034a24c], r12b
jae 0x1800bcf91
addss xmm0, dword [0x180090344]
movss dword [0x18030084c], xmm0
jmp 0x1800bcf98
mov byte [0x18034a24c], r13b
comiss xmm0, xmm1
jb 0x1800bcfa7
mov dword [0x18030084c], 0xc3960000
mov ecx, dword [0x18034a270]
mov ebx, 3
movss xmm10, dword [0x18009039c]
xorps xmm9, xmm9
lea edi, [rbx - 1]
test ecx, ecx
je 0x1800bd0a7
sub ecx, r13d
je 0x1800bd069
sub ecx, r13d
je 0x1800bd043
cmp ecx, r13d
je 0x1800bcffd
and dword [0x18034a26c], r12d
mov dword [0x1802795b0], 0x3f800000
mov dword [0x180329e10], 0x3f800000
jmp 0x1800bd0cc
movss xmm1, dword [0x180329e10]
movss xmm0, dword [0x18034a26c]
addss xmm1, dword [0x1800902ac]
addss xmm0, dword [0x18009059c]
comiss xmm1, xmm10
movss dword [0x180329e10], xmm1
movss dword [0x18034a26c], xmm0
jb 0x1800bd0cc
mov dword [0x18034a270], r12d
jmp 0x1800bd0cc
movss xmm0, dword [0x1802795b0]
addss xmm0, dword [0x1800902ac]
comiss xmm0, xmm10
movss dword [0x1802795b0], xmm0
jb 0x1800bd0cc
mov dword [0x18034a270], ebx
jmp 0x1800bd0cc
movss xmm1, dword [0x18034a26c]
movss xmm0, dword [0x180329e10]
addss xmm1, dword [0x1800902ac]
addss xmm0, dword [0x18009059c]
comiss xmm1, xmm10
movss dword [0x18034a26c], xmm1
movss dword [0x180329e10], xmm0
jb 0x1800bd0cc
mov dword [0x18034a270], edi
jmp 0x1800bd0cc
movss xmm0, dword [0x1802795b0]
addss xmm0, dword [0x18009059c]
comiss xmm0, xmm9
movss dword [0x1802795b0], xmm0
ja 0x1800bd0cc
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 0x1800bd112
sub ecx, r13d
je 0x1800bd112
cmp ecx, r13d
je 0x1800bd112
movss xmm6, dword [rbp + 0xa0]
jmp 0x1800bd11b
call qword [0x18034ae08]
movaps xmm6, xmm0
call fcn.18009d788
mov rcx, rax
call fcn.18009d074
mov ecx, dword [0x18034ae10]
subss xmm6, dword [rax]
movaps xmm7, xmm6
mulss xmm7, dword [0x1800903b0]
addss xmm7, dword [0x1800902b4]
test ecx, ecx
je 0x1800bd153
sub ecx, r13d
je 0x1800bd153
cmp ecx, r13d
jne 0x1800bd159
call qword [0x18034ae08]
call fcn.18009d788
mov rcx, rax
call fcn.18009d074
cmp byte [0x180349d96], r12b
je 0x1800bd19d
cmp byte [0x180349e31], r12b
je 0x1800bd19d
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800bd19d
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x1800903c0]
ja 0x1800bd1a0
mov dl, r12b
movss xmm14, dword [0x1800902cc]
lea rcx, [0x18008c748]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
call fcn.1800b211c
call fcn.1800bc91c
cmp byte [0x180349d6a], r12b
mov r14d, 0x12
mov r15d, dword [0x180349694]
mov esi, 4
je 0x1800bd398
mov rcx, qword [0x180349d50]
test rcx, rcx
je 0x1800bd398
call fcn.18009bd54
test al, al
je 0x1800bd398
mov rax, qword gs:[0x58]
mov rax, qword [rax + r15*8]
mov eax, dword [rsi + rax]
cmp dword [0x18034a3f4], eax
jle 0x1800bd271
lea rcx, [0x18034a3f4]
call fcn.1800fc10c
cmp dword [0x18034a3f4], 0xffffffff
jne 0x1800bd271
movd xmm2, dword [0x180349dc0]
lea rcx, [0x18034a3f4]
movd xmm0, dword [0x180349db4]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm2, dword [0x180090344]
mulss xmm0, dword [0x180090344]
movss dword [0x18034a924], xmm2
movss dword [0x18034a920], xmm0
call fcn.1800fc0a0
mov rcx, qword [0x180349d50]
lea rdx, [rbp - 0x70]
and dword [rbp + 0xa4], r12d
mov r8d, r14d
and dword [rbp + 0xa0], r12d
call fcn.18009d0f0
ucomiss xmm9, dword [rax]
jne 0x1800bd2d2
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x50]
mov r8d, r14d
call fcn.18009d0f0
ucomiss xmm9, dword [rax + 4]
jne 0x1800bd2d2
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x60]
mov r8d, r14d
call fcn.18009d0f0
ucomiss xmm9, dword [rax + 8]
je 0x1800bd398
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x40]
mov r8d, 0x2f
call fcn.18009d0f0
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.18009dbc4
test al, al
je 0x1800bd398
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 [0x1800903b4]
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.18009edc8
mov dl, byte [0x180349e31]
lea rcx, [0x18008c768]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
comiss xmm0, dword [0x1800902a0]
movss xmm15, dword [0x18009050c]
jbe 0x1800bd667
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 [0x1800904b4]
subss xmm13, dword [0x1800904e8]
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 [0x180090440]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.18009fbc8
cmp byte [0x180349e31], r12b
je 0x1800bd53e
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800bd53e
cmp byte [0x180349e31], r12b
je 0x1800bd475
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x180090368]
ja 0x1800bd478
mov dl, r12b
lea rcx, [0x18008c788]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
movaps xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
comisd xmm1, xmmword [0x180090388]
jbe 0x1800bd53e
comiss xmm7, dword [0x180090344]
mulss xmm6, xmm15
movaps xmm1, xmm7
addss xmm1, xmm7
minss xmm6, dword [0x180090524]
jae 0x1800bd4c6
movaps xmm0, xmm10
jmp 0x1800bd4d6
movss xmm0, dword [0x1800903d8]
subss xmm0, xmm1
movaps xmm1, xmm10
and dword [rsp + 0x48], r12d
addss xmm8, xmm10
subss xmm6, dword [0x1800903d8]
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 [0x180090424]
movaps xmm1, xmm13
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
call fcn.18009fbc8
and dword [rbp + 0xa4], r12d
and dword [rbp + 0xa0], r12d
cmp byte [0x180349d94], r12b
je 0x1800bd667
movss xmm0, dword [0x180349fe0]
ucomiss xmm0, xmm9
jne 0x1800bd587
movss xmm0, dword [0x180349fe4]
ucomiss xmm0, xmm9
jne 0x1800bd587
movss xmm0, dword [0x180349fe8]
ucomiss xmm0, xmm9
je 0x1800bd667
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.18009dbc4
test al, al
je 0x1800bd667
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.1800c98c0
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.1800c98c0
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.18009fd14
mov dl, byte [0x180349e19]
lea rcx, [0x18008c7a8]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
comiss xmm0, dword [0x1800902a0]
jbe 0x1800bd9cb
mov rax, qword [0x180349ed0]
xorps xmm1, xmm1
movdqa xmm13, xmmword [0x180090b90]
mov ecx, 4
movdqu xmmword [rax + 0x38d0], xmm13
call fcn.1800c9eb0
lea rdx, [rbp + 0xa0]
mov dword [rbp + 0xa0], 0x3f800000
mov ecx, 5
mov dword [rbp + 0xa4], 0x3f800000
call fcn.1800c9f28
xorps xmm1, xmm1
mov ecx, ebx
call fcn.1800c9eb0
movdqa xmm0, xmmword [0x180090640]
lea rdx, [rsp + 0x40]
mov ecx, edi
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c9dfc
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.1800d0944
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 0x1800bd9bc
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 [0x180090840]
movups xmmword [rsp + 0x40], xmm0
divss xmm8, xmm1
call fcn.1800c98c0
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 [0x180090508]
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xb0], xmm0
call fcn.1800bcc58
movdqa xmm0, xmmword [0x180090840]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98c0
lea rcx, [rsp + 0x40]
mov r10d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98c0
lea rcx, [rsp + 0x40]
mov r8d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98c0
movdqa xmm0, xmmword [0x180090840]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov r9d, eax
call fcn.1800c98c0
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 [0x18009051c]
movss dword [rbp + 0xa8], xmm6
movss xmm6, dword [rbp + 0xa0]
movss dword [rbp + 0xa0], xmm6
call fcn.1800bccf4
movdqa xmm0, xmmword [0x180090840]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98c0
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.1800bcc58
movdqa xmm0, xmmword [0x180090840]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.1800c98c0
lea rcx, [rsp + 0x40]
mov r10d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98c0
lea rcx, [rsp + 0x40]
mov r8d, eax
movups xmmword [rsp + 0x40], xmm13
call fcn.1800c98c0
movdqa xmm0, xmmword [0x180090840]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
mov r9d, eax
call fcn.1800c98c0
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 [0x18009051c]
movss dword [rbp + 0xa0], xmm8
call fcn.1800bccf4
mov ecx, r13d
call fcn.1800c9e58
mov ecx, ebx
call fcn.1800c9fb4
mov dl, byte [0x180349e3f]
lea rcx, [0x18008c7d0]
call fcn.1800959ec
mov r14d, eax
cmp eax, r13d
jle 0x1800bde5f
call fcn.18009d788
mov rcx, rax
call fcn.1800c4d10
mov rdi, rax
test rax, rax
je 0x1800bde5f
mov r10, qword [rax]
test r10, r10
je 0x1800bde5f
mov r10, qword [r10 + 0x10]
test r10, r10
je 0x1800bde5f
or edx, 0xffffffff
mov r11, r10
mov r8d, edx
or r9, 0xffffffffffffffff
inc r9
cmp byte [r10 + r9], r12b
jne 0x1800bda28
test r9d, r9d
je 0x1800bde5f
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 0x1800bda44
not r8d
cmp r8d, 0x407209f5
jne 0x1800bde5f
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 0x1800bda74
not edx
cmp edx, 0xe93460ee
jne 0x1800bde5f
cmp byte [0x180349cbf], r12b
jne 0x1800bdc5b
mov rcx, rdi
call fcn.18009c390
mov rcx, rdi
mov rbx, rax
call fcn.18009c390
movss xmm6, dword [0x1800902e8]
movss xmm0, dword [rbx]
movss xmm2, dword [0x18034a00c]
movss xmm1, dword [rax]
mulss xmm1, xmm6
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1800bdc5b
comiss xmm2, xmm9
jbe 0x1800bdc5b
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 [0x1800904c0]
subss xmm8, dword [0x1800904e8]
movss xmm13, dword [0x1800902a4]
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 [0x180090440]
movss dword [rsp + 0x20], xmm0
call fcn.18009fbc8
mov rcx, rdi
call fcn.18009c390
mov rcx, rdi
mov rbx, rax
call fcn.18009c390
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 [0x1800902b4]
je 0x1800bdbbb
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800bdbbe
mov dl, r12b
lea rcx, [0x18008c7e8]
call fcn.1800959ec
cmp eax, r13d
jle 0x1800bde5f
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 [0x180090424]
movss dword [rsp + 0x4c], xmm1
movaps xmm2, xmm7
minss xmm6, dword [0x180090524]
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 [0x1800903d8]
movss dword [rsp + 0x20], xmm15
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm3, xmm6
call fcn.18009fbc8
jmp 0x1800bde68
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 0x1800bdca9
mov rcx, r15
call fcn.1800fc10c
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bdca9
mov ecx, 0x6c06da54
call fcn.180099144
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc0a0
mov rax, qword [0x18034aa68]
movss xmm0, dword [0x180349d10]
comiss xmm0, dword [rax + rdi]
jae 0x1800bde5f
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 [0x1800904c0]
subss xmm8, dword [0x1800904e8]
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 [0x1800902a4]
movss dword [rsp + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movss xmm0, dword [0x180090440]
movss dword [rsp + 0x20], xmm0
call fcn.18009fbc8
mov eax, dword [rbx + rsi]
cmp dword [0x18034ac70], eax
jle 0x1800bdd74
mov rcx, r15
call fcn.1800fc10c
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bdd74
mov ecx, 0x6c06da54
call fcn.180099144
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc0a0
mov rax, qword [0x18034aa68]
mov rcx, rdi
movss xmm6, dword [rax + rdi]
subss xmm6, dword [0x180349d10]
call fcn.18009c390
movss xmm13, dword [rax]
mov eax, dword [rsi + rbx]
cmp dword [0x18034ac70], eax
jle 0x1800bddca
mov rcx, r15
call fcn.1800fc10c
cmp dword [0x18034ac70], 0xffffffff
jne 0x1800bddca
mov ecx, 0x6c06da54
call fcn.180099144
mov rcx, r15
mov qword [0x18034aa68], rax
call fcn.1800fc0a0
mov rax, qword [0x18034aa68]
movss xmm4, dword [0x180349d10]
movaps xmm1, xmm4
addss xmm1, xmm13
movss xmm3, dword [rax + rdi]
comiss xmm3, xmm9
jae 0x1800bddf3
maxss xmm1, xmm9
jmp 0x1800bde15
movaps xmm0, xmm4
movaps xmm2, xmm3
subss xmm0, xmm3
addss xmm2, xmm13
comiss xmm0, xmm9
ja 0x1800bde0e
minss xmm2, xmm1
jmp 0x1800bde12
maxss xmm2, xmm1
movaps xmm1, xmm2
cmp byte [0x180349e3f], r12b
subss xmm1, xmm4
divss xmm6, xmm1
addss xmm6, dword [0x1800902b4]
je 0x1800bde37
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800bde3a
mov dl, r12b
lea rcx, [0x18008c800]
call fcn.1800959ec
cmp eax, r13d
jle 0x1800bde5f
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1800902a4]
jmp 0x1800bdbdf
movss xmm15, dword [0x180090424]
mov dl, byte [0x180349e48]
lea rcx, [0x18008c818]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
movss xmm6, dword [0x1800902b4]
comiss xmm0, xmm6
jbe 0x1800bdf77
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 [0x180090840]
movups xmmword [rsp + 0x40], xmm0
movss dword [rbp + 0xa0], xmm12
movss dword [rbp + 0xa4], xmm11
call fcn.1800c98c0
movss xmm2, dword [0x180090420]
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbx + 0x298]
mov edi, 0x40
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800e1908
lea rcx, [rsp + 0x60]
movss dword [rbp + 0xa0], xmm12
movss dword [rbp + 0xa4], xmm11
call fcn.1800c98c0
movss xmm2, dword [0x1800903f8]
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbx + 0x298]
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800e1908
mov dl, byte [0x180349daf]
lea rcx, [0x18008c830]
movss dword [rsp + 0x20], xmm14
call fcn.180095cf4
comiss xmm0, xmm6
jbe 0x1800be039
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.1800c98c0
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.1800e182c
mov rcx, qword [0x180349d50]
mov edi, r12d
movss xmm8, dword [0x18009049c]
mov esi, 0xf
movss xmm9, dword [0x180090478]
test rcx, rcx
je 0x1800be2b6
cmp byte [0x180349e32], r12b
je 0x1800be2b6
call fcn.18009bd54
test al, al
je 0x1800be2b6
cmp byte [0x180349d15], r12b
jne 0x1800be2b6
mov rcx, qword [0x180349d50]
call fcn.18009cc8c
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.1800c3bb4
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 0x1800be0be
lea rcx, [rbp - 0x60]
call fcn.1800935b0
mov rdx, qword [rbp + 0xa0]
mov eax, ebx
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1800be0f1
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 0x1800be13b
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 0x1800be160
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.1800b1de4
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.18009eef4
cmp byte [0x180349d17], r12b
lea rax, [rsp + 0x70]
movdqa xmm13, xmmword [0x180090b90]
je 0x1800be1eb
movdqa xmm0, xmm13
jmp 0x1800be1f3
movdqa xmm0, xmmword [0x180090850]
addss xmm6, dword [0x18009047c]
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.18009eef4
mov rdx, qword [rbp - 0x78]
mov edi, 0x16
mov ebx, 0x1000
cmp rdx, rsi
jbe 0x1800be27b
mov rcx, qword [rsp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800be276
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be2a8
call fcn.1800fc064
mov rdx, qword [rbp - 0x48]
cmp rdx, rsi
jbe 0x1800be2bf
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800be2af
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800be2af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fc064
jmp 0x1800be2bf
movdqa xmm13, xmmword [0x180090b90]
mov ecx, dword [0x18034ae10]
test ecx, ecx
je 0x1800be2dd
sub ecx, r13d
je 0x1800be2dd
cmp ecx, r13d
je 0x1800be2dd
movss xmm7, dword [rbp + 0xa0]
jmp 0x1800be2e6
call qword [0x18034ae08]
movaps xmm7, xmm0
call fcn.18009d788
mov rcx, rax
call fcn.18009d074
subss xmm7, dword [rax]
subss xmm7, dword [0x1800902e4]
call fcn.18009d788
mov rcx, rax
call fcn.18009d364
movss xmm6, dword [0x1800902e0]
lea rcx, [0x18008c858]
mov dl, byte [0x180349db9]
movaps xmm10, xmm0
movss dword [rsp + 0x20], xmm6
call fcn.180095cf4
comiss xmm0, xmm6
jbe 0x1800be68e
cmp byte [0x180349db9], r12b
je 0x1800be68e
cmp byte [0x180349d96], r12b
je 0x1800be411
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be411
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.18009d788
mov r8d, 0x12
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18009d0f0
mulss xmm7, dword [0x180090360]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rsp + 0x60]
addss xmm7, dword [0x1800902ec]
movss xmm2, dword [rax + 4]
subss xmm2, dword [0x180090344]
movss xmm1, dword [rax]
movss xmm3, dword [rax + 8]
mulss xmm7, xmm10
unpcklps xmm1, xmm2
movss dword [rsp + 0x58], xmm3
addss xmm7, dword [0x1800902bc]
movdqa xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x50], xmm1
movaps xmm2, xmm7
call fcn.1800bcd98
cmp byte [0x180349d95], r12b
je 0x1800be490
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be490
movdqa xmm0, xmmword [0x180090850]
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.18009eef4
add edi, esi
cmp byte [0x180349d82], r12b
je 0x1800be50f
mov ecx, dword [0x180349e70]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be50f
movdqa xmm0, xmmword [0x1800908a0]
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.18009eef4
add edi, esi
cmp byte [0x180349d86], r12b
je 0x1800be58e
mov ecx, dword [0x180349e7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be58e
movdqa xmm0, xmmword [0x1800908b0]
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.18009eef4
add edi, esi
cmp byte [0x180349e33], r12b
je 0x1800be68e
mov ecx, dword [0x180349e74]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800be68e
mov rcx, qword [0x180349d50]
lea rdx, [rsp + 0x40]
mov esi, 0x2f
mov r8d, esi
call fcn.18009d0f0
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
movsd qword [rbp - 0x70], xmm0
call fcn.18009d788
mov r8d, esi
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.18009d0f0
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 0x1800be68e
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.18009eef4
cmp byte [0x180349d68], r12b
mov ebx, 0x30
movss xmm10, dword [0x1800904e4]
mov edi, 0xc0
movss xmm6, dword [0x1800904d0]
movss xmm7, dword [0x1800904fc]
movss xmm11, dword [0x180090518]
je 0x1800be7db
cmp byte [0x180349d15], r12b
je 0x1800be7db
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.18009ecc0
movdqa xmm0, xmmword [0x1800907b0]
lea rax, [rsp + 0x40]
movss xmm12, dword [0x180090414]
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.18009fbc8
movss xmm2, dword [0x180197cfc]
lea rax, [rsp + 0x40]
movdqa xmm0, xmmword [0x1800907b0]
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.18009fbc8
movss xmm2, dword [0x180197cfc]
lea rax, [0x18008c8b0]
movss xmm1, dword [0x180197cf8]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x1800904b0]
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.18009eef4
jmp 0x1800be7e4
movss xmm12, dword [0x180090414]
cmp byte [0x180349d62], r12b
je 0x1800be8fa
cmp byte [0x180349d15], r12b
je 0x1800be8fa
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.18009ecc0
movdqa xmm0, xmmword [0x1800907b0]
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.18009fbc8
movss xmm2, dword [0x1800894c4]
lea rax, [rsp + 0x40]
movdqa xmm0, xmmword [0x1800907b0]
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.18009fbc8
movss xmm2, dword [0x1800894c4]
lea rax, [0x18008c8c0]
movss xmm1, dword [0x1800894c0]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x1800904b0]
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.18009eef4
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