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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x298]
sub rsp, 0x358
movss xmm0, dword [0x18030ac1c]
xor r12d, r12d
cmp byte [0x18038a09c], r12b
mov r13d, 1
movss xmm1, dword [0x180091b04]
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
je 0x1800c48e9
ucomiss xmm0, xmm1
je 0x1800c4921
comiss xmm0, dword [0x180091b08]
mov byte [0x18038a09c], r12b
jae 0x1800c490b
addss xmm0, dword [0x1800918e4]
movss dword [0x18030ac1c], xmm0
jmp 0x1800c4912
mov byte [0x18038a09c], r13b
comiss xmm0, xmm1
jb 0x1800c4921
mov dword [0x18030ac1c], 0xc3960000
mov ecx, dword [0x18038a0b8]
mov ebx, 3
movss xmm10, dword [0x18009193c]
xorps xmm9, xmm9
lea edi, [rbx - 1]
test ecx, ecx
je 0x1800c4a21
sub ecx, r13d
je 0x1800c49e3
sub ecx, r13d
je 0x1800c49bd
cmp ecx, r13d
je 0x1800c4977
and dword [0x18038a0b4], r12d
mov dword [0x180283980], 0x3f800000
mov dword [0x1803341e0], 0x3f800000
jmp 0x1800c4a46
movss xmm1, dword [0x1803341e0]
movss xmm0, dword [0x18038a0b4]
addss xmm1, dword [0x180091844]
addss xmm0, dword [0x180091b4c]
comiss xmm1, xmm10
movss dword [0x1803341e0], xmm1
movss dword [0x18038a0b4], xmm0
jb 0x1800c4a46
mov dword [0x18038a0b8], r12d
jmp 0x1800c4a46
movss xmm0, dword [0x180283980]
addss xmm0, dword [0x180091844]
comiss xmm0, xmm10
movss dword [0x180283980], xmm0
jb 0x1800c4a46
mov dword [0x18038a0b8], ebx
jmp 0x1800c4a46
movss xmm1, dword [0x18038a0b4]
movss xmm0, dword [0x1803341e0]
addss xmm1, dword [0x180091844]
addss xmm0, dword [0x180091b4c]
comiss xmm1, xmm10
movss dword [0x18038a0b4], xmm1
movss dword [0x1803341e0], xmm0
jb 0x1800c4a46
mov dword [0x18038a0b8], edi
jmp 0x1800c4a46
movss xmm0, dword [0x180283980]
addss xmm0, dword [0x180091b4c]
comiss xmm0, xmm9
movss dword [0x180283980], xmm0
ja 0x1800c4a46
mov dword [0x18038a0b8], r13d
mov eax, dword [0x1803542f4]
mov ecx, dword [0x18038ac70]
cdq
sub eax, edx
sar eax, 1
movd xmm13, eax
mov eax, dword [0x180354300]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm13, xmm13
movd xmm11, eax
cvtdq2ps xmm11, xmm11
test ecx, ecx
je 0x1800c4a8c
sub ecx, r13d
je 0x1800c4a8c
cmp ecx, r13d
je 0x1800c4a8c
movss xmm6, dword [rbp + 0x2a0]
jmp 0x1800c4a95
call qword [0x18038ac68]
movaps xmm6, xmm0
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3f24
mov ecx, dword [0x18038ac70]
subss xmm6, dword [rax]
movaps xmm7, xmm6
mulss xmm7, dword [0x180091950]
addss xmm7, dword [0x180091854]
test ecx, ecx
je 0x1800c4acd
sub ecx, r13d
je 0x1800c4acd
cmp ecx, r13d
jne 0x1800c4ad3
call qword [0x18038ac68]
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3f24
cmp byte [0x1803542d6], r12b
je 0x1800c4b17
cmp byte [0x180354371], r12b
je 0x1800c4b17
mov ecx, dword [0x1803543bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c4b17
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x180091960]
ja 0x1800c4b1a
mov dl, r12b
movss xmm14, dword [0x18009186c]
lea rcx, [0x18008dc30]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
call fcn.1800b9408
call fcn.1800c3a6c
call fcn.1800c40d0
cmp byte [0x1803542aa], r12b
mov r14d, 0x12
mov r15d, dword [0x180353bc0]
mov esi, 4
je 0x1800c4d1c
mov rcx, qword [0x180354290]
test rcx, rcx
je 0x1800c4d1c
call fcn.1800a2c04
test al, al
je 0x1800c4d1c
mov rax, qword gs:[0x58]
mov rax, qword [rax + r15*8]
mov eax, dword [rsi + rax]
cmp dword [0x18038a254], eax
jle 0x1800c4bf0
lea rcx, [0x18038a254]
call fcn.180104c30
cmp dword [0x18038a254], 0xffffffff
jne 0x1800c4bf0
movd xmm2, dword [0x180354300]
lea rcx, [0x18038a254]
movd xmm0, dword [0x1803542f4]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm2, dword [0x1800918e4]
mulss xmm0, dword [0x1800918e4]
movss dword [0x18038a784], xmm2
movss dword [0x18038a780], xmm0
call fcn.180104bc4
mov rcx, qword [0x180354290]
lea rdx, [rbp + 0x19c]
and dword [rbp + 0x2a4], r12d
mov r8d, r14d
and dword [rbp + 0x2a0], r12d
call fcn.1800a3fa0
ucomiss xmm9, dword [rax]
jne 0x1800c4c58
mov rcx, qword [0x180354290]
lea rdx, [rbp + 0xe4]
mov r8d, r14d
call fcn.1800a3fa0
ucomiss xmm9, dword [rax + 4]
jne 0x1800c4c58
mov rcx, qword [0x180354290]
lea rdx, [rbp + 0xd8]
mov r8d, r14d
call fcn.1800a3fa0
ucomiss xmm9, dword [rax + 8]
je 0x1800c4d1c
mov rcx, qword [0x180354290]
lea rdx, [rbp + 0xf0]
mov r8d, 0x2f
call fcn.1800a3fa0
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp - 0x50]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
call fcn.1800a4a74
test al, al
je 0x1800c4d1c
movss xmm0, dword [0x18019ea78]
lea rax, [rbp + 0x80]
movss xmm1, dword [0x18019ea7c]
movss xmm3, dword [rbp + 0x2a0]
movss xmm2, dword [0x18038a784]
movss dword [rbp + 0x80], xmm0
movss xmm0, dword [0x18019ea80]
movss dword [rbp + 0x88], xmm0
movss xmm0, dword [0x180091954]
mov byte [rsp + 0x38], r13b
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rbp + 0x2a4]
movss dword [rbp + 0x84], xmm1
movss xmm1, dword [0x18038a780]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
mov dword [rbp + 0x8c], 0x3f800000
call fcn.1800a5c78
mov dl, byte [0x180354371]
lea rcx, [0x18008dc50]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
comiss xmm0, dword [0x180091838]
movss xmm15, dword [0x180091ab8]
jbe 0x1800c4fcd
and dword [rbp + 0x90], r12d
lea rax, [rbp + 0x90]
and dword [rbp + 0x94], r12d
movaps xmm8, xmm11
subss xmm8, dword [0x180091a5c]
and dword [rbp + 0x98], r12d
movaps xmm12, xmm13
subss xmm12, dword [0x180091a90]
mov dword [rsp + 0x38], r12d
movaps xmm3, xmm15
movss dword [rsp + 0x30], xmm9
movss dword [rbp + 0x9c], xmm0
movaps xmm2, xmm8
movss xmm0, dword [0x1800919e8]
mov qword [rsp + 0x28], rax
movaps xmm1, xmm12
movss dword [rsp + 0x20], xmm0
call fcn.1800a6a74
cmp byte [0x180354371], r12b
je 0x1800c4eb1
mov ecx, dword [0x1803543bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c4eb1
cmp byte [0x180354371], r12b
je 0x1800c4df8
xorps xmm0, xmm0
mov dl, r13b
cvtss2sd xmm0, xmm7
comisd xmm0, xmmword [0x180091908]
ja 0x1800c4dfb
mov dl, r12b
lea rcx, [0x18008dc70]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
movaps xmm2, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
comisd xmm1, xmmword [0x180091928]
jbe 0x1800c4eb1
comiss xmm7, dword [0x1800918e4]
mulss xmm6, xmm15
movaps xmm1, xmm7
addss xmm1, xmm7
minss xmm6, dword [0x180091ad0]
jae 0x1800c4e49
movaps xmm0, xmm10
jmp 0x1800c4e59
movss xmm0, dword [0x180091980]
subss xmm0, xmm1
movaps xmm1, xmm10
subss xmm6, dword [0x180091980]
and dword [rbp + 0x48], r12d
addss xmm8, xmm10
mov dword [rsp + 0x38], r12d
addss xmm12, xmm10
movss dword [rsp + 0x30], xmm9
lea rax, [rbp + 0x40]
movss dword [rbp + 0x44], xmm0
movss xmm0, dword [0x1800919cc]
movaps xmm3, xmm6
movss dword [rbp + 0x40], xmm1
movss dword [rbp + 0x4c], xmm2
movaps xmm1, xmm12
mov qword [rsp + 0x28], rax
movaps xmm2, xmm8
movss dword [rsp + 0x20], xmm0
call fcn.1800a6a74
and dword [rbp + 0x2ac], r12d
and dword [rbp + 0x2a8], r12d
cmp byte [0x1803542d4], r12b
je 0x1800c4fcd
movss xmm0, dword [0x180389e28]
ucomiss xmm0, xmm9
jne 0x1800c4efa
movss xmm0, dword [0x180389e2c]
ucomiss xmm0, xmm9
jne 0x1800c4efa
movss xmm0, dword [0x180389e30]
ucomiss xmm0, xmm9
je 0x1800c4fcd
movsd xmm0, qword [0x180389e28]
lea rdx, [rbp + 0x2a8]
mov eax, dword [0x180389e30]
lea rcx, [rbp - 0x40]
movsd qword [rbp - 0x40], xmm0
mov dword [rbp - 0x38], eax
call fcn.1800a4a74
test al, al
je 0x1800c4fcd
movss xmm0, dword [0x18019e948]
lea rcx, [rbp + 0x50]
movss xmm1, dword [0x18019e94c]
movss dword [rbp + 0x50], xmm0
movss xmm0, dword [0x18019e950]
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x54], xmm1
mov dword [rbp + 0x5c], 0x3f800000
call fcn.1800d1f6c
movss xmm0, dword [0x18019e998]
lea rcx, [rbp + 0x60]
movss xmm1, dword [0x18019e99c]
mov r8d, eax
movss dword [rbp + 0x60], xmm0
movss xmm0, dword [0x18019e9a0]
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x64], xmm1
mov dword [rbp + 0x6c], 0x41c80000
call fcn.1800d1f6c
movss xmm0, dword [rbp + 0x2a8]
lea rdx, [rbp + 0x2b0]
movss xmm1, dword [rbp + 0x2ac]
mov r9d, eax
movss dword [rbp + 0x2b0], xmm0
movss dword [rbp + 0x2b4], xmm1
mov dword [rsp + 0x20], r8d
call fcn.1800a6bc0
mov dl, byte [0x180354359]
lea rcx, [0x18008dc90]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
comiss xmm0, dword [0x180091838]
jbe 0x1800c530a
mov rax, qword [0x180354418]
xorps xmm1, xmm1
movaps xmm0, xmmword [0x180091f00]
mov ecx, 4
movdqu xmmword [rax + 0x38d0], xmm0
call fcn.1800d2558
lea rdx, [rbp + 0x2b8]
mov dword [rbp + 0x2b8], 0x3f800000
mov ecx, 5
mov dword [rbp + 0x2bc], 0x3f800000
call fcn.1800d25d0
xorps xmm1, xmm1
mov ecx, ebx
call fcn.1800d2558
movaps xmm0, xmmword [0x180091c10]
lea rdx, [rbp + 0xfc]
mov ecx, edi
movups xmmword [rbp + 0xfc], xmm0
call fcn.1800d24a4
mov rax, qword [0x180354418]
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, [0x18008dca8]
mov qword [rax + 0x47b0], r12
mov qword [rax + 0x47b8], r12
mov dword [rax + 0x47a4], r13d
mov dword [rax + 0x47a8], r13d
call fcn.1800d9058
mov eax, dword [0x1803542f4]
cdq
sub eax, edx
sar eax, 1
cmp byte [0x180354359], r12b
movd xmm12, eax
cvtdq2ps xmm12, xmm12
je 0x1800c52fb
movss xmm0, dword [0x180375618]
lea rcx, [rbp + 0x10c]
movss xmm1, dword [0x180375958]
subss xmm0, xmm10
movss xmm6, dword [0x180355548]
subss xmm1, xmm10
movss xmm8, dword [0x18037561c]
divss xmm6, xmm0
movaps xmm0, xmmword [0x180091d10]
movups xmmword [rbp + 0x10c], xmm0
divss xmm8, xmm1
call fcn.1800d1f6c
mov r8d, eax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x10], 0x437a0000
mov dword [rbp - 0xc], 0x40400000
mov dword [rbp - 0x2c], 0x43480000
subss xmm12, dword [0x180091aac]
movss dword [rbp - 0x30], xmm12
call fcn.1800c3e40
movaps xmm0, xmmword [0x180091d10]
lea rcx, [rbp + 0x11c]
movups xmmword [rbp + 0x11c], xmm0
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091f00]
lea rcx, [rbp + 0x12c]
movups xmmword [rbp + 0x12c], xmm0
mov r10d, eax
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091f00]
lea rcx, [rbp + 0x13c]
movups xmmword [rbp + 0x13c], xmm0
mov r8d, eax
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091d10]
lea rcx, [rbp + 0x18c]
movups xmmword [rbp + 0x18c], xmm0
mov r9d, eax
call fcn.1800d1f6c
minss xmm6, xmm10
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea rdx, [rbp - 0x28]
mov r8d, eax
movss dword [rbp - 0x20], xmm12
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x24], 0x40a00000
mov dword [rbp - 0x1c], 0x43480000
mulss xmm6, dword [0x180091ac8]
movss dword [rbp - 0x28], xmm6
call fcn.1800c3edc
movaps xmm0, xmmword [0x180091d10]
lea rcx, [rbp + 0x14c]
movups xmmword [rbp + 0x14c], xmm0
call fcn.1800d1f6c
mov r8d, eax
movss dword [rbp + 0x18], xmm12
lea rdx, [rbp - 0x18]
mov dword [rbp - 0x18], 0x437a0000
lea rcx, [rbp + 0x18]
mov dword [rbp - 0x14], 0x40400000
mov dword [rbp + 0x1c], 0x434e0000
call fcn.1800c3e40
movaps xmm0, xmmword [0x180091d10]
lea rcx, [rbp + 0x15c]
movups xmmword [rbp + 0x15c], xmm0
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091f00]
lea rcx, [rbp + 0x16c]
movups xmmword [rbp + 0x16c], xmm0
mov r10d, eax
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091f00]
lea rcx, [rbp + 0x17c]
movups xmmword [rbp + 0x17c], xmm0
mov r8d, eax
call fcn.1800d1f6c
movaps xmm0, xmmword [0x180091d10]
mov r9d, eax
movups xmmword [rbp + 0xc8], xmm0
lea rcx, [rbp + 0xc8]
call fcn.1800d1f6c
minss xmm8, xmm10
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea rdx, [rbp - 8]
mov r8d, eax
movss dword [rbp], xmm12
lea rcx, [rbp]
mov dword [rbp - 4], 0x40a00000
mov dword [rbp + 4], 0x434e0000
mulss xmm8, dword [0x180091ac8]
movss dword [rbp - 8], xmm8
call fcn.1800c3edc
mov ecx, r13d
call fcn.1800d2500
mov ecx, ebx
call fcn.1800d265c
mov dl, byte [0x18035437f]
lea rcx, [0x18008dcb8]
call fcn.1800975f0
mov r14d, eax
cmp eax, r13d
jle 0x1800c57be
call fcn.1800a4638
mov rcx, rax
call fcn.1800ccf44
mov rdi, rax
test rax, rax
je 0x1800c57be
mov r10, qword [rax]
test r10, r10
je 0x1800c57be
mov r10, qword [r10 + 0x10]
test r10, r10
je 0x1800c57be
or edx, 0xffffffff
mov r11, r10
mov r8d, edx
or r9, 0xffffffffffffffff
inc r9
cmp byte [r10 + r9], r12b
jne 0x1800c5367
test r9d, r9d
je 0x1800c57be
mov ebx, r9d
lea rsi, [0x180084b80]
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 0x1800c5383
not r8d
cmp r8d, 0x407209f5
jne 0x1800c57be
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 0x1800c53b3
not edx
cmp edx, 0xe93460ee
jne 0x1800c57be
cmp byte [0x1803541f7], r12b
jne 0x1800c5596
mov rcx, rdi
call fcn.1800a3240
mov rcx, rdi
mov rbx, rax
call fcn.1800a3240
movss xmm6, dword [0x180091888]
movss xmm0, dword [rbx]
movss xmm2, dword [0x180379a98]
movss xmm1, dword [rax]
mulss xmm1, xmm6
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1800c5596
comiss xmm2, xmm9
jbe 0x1800c5596
movss xmm12, dword [0x18009183c]
lea rax, [rbp + 0x30]
and dword [rsp + 0x70], r12d
movaps xmm7, xmm11
subss xmm7, dword [0x180091a68]
and dword [rsp + 0x74], r12d
movaps xmm8, xmm13
subss xmm8, dword [0x180091a90]
and dword [rsp + 0x78], r12d
movaps xmm3, xmm15
mov dword [rsp + 0x38], r12d
movss dword [rsp + 0x30], xmm9
movaps xmm2, xmm7
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x28], rax
movaps xmm1, xmm8
mulss xmm0, xmm12
movss dword [rsp + 0x7c], xmm0
movups xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x30], xmm0
movss xmm0, dword [0x1800919e8]
movss dword [rsp + 0x20], xmm0
call fcn.1800a6a74
mov rcx, rdi
call fcn.1800a3240
mov rcx, rdi
mov rbx, rax
call fcn.1800a3240
cmp byte [0x18035437f], r12b
movss xmm1, dword [rbx]
movss xmm0, dword [rax]
mulss xmm0, xmm6
movss xmm6, dword [0x180379a98]
subss xmm1, xmm0
divss xmm6, xmm1
addss xmm6, dword [0x180091854]
je 0x1800c54f8
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800c54fb
mov dl, r12b
lea rcx, [0x18008dcd0]
call fcn.1800975f0
cmp eax, r13d
jle 0x1800c57be
and dword [rsp + 0x50], r12d
and dword [rsp + 0x58], r12d
movd xmm1, eax
lea rax, [rbp + 0x20]
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x54], 0x3f48c8ca
mulss xmm1, xmm12
movss dword [rsp + 0x5c], xmm1
movups xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x20], xmm0
mulss xmm6, xmm15
addss xmm8, xmm10
mov dword [rsp + 0x38], r12d
movss xmm15, dword [0x1800919cc]
addss xmm7, xmm10
movss dword [rsp + 0x30], xmm9
minss xmm6, dword [0x180091ad0]
mov qword [rsp + 0x28], rax
movaps xmm1, xmm8
movss dword [rsp + 0x20], xmm15
movaps xmm2, xmm7
subss xmm6, dword [0x180091980]
movaps xmm3, xmm6
call fcn.1800a6a74
jmp 0x1800c57c7
mov rax, qword gs:[0x58]
mov esi, 4
mov rbx, qword [rax + r15*8]
lea r15, [0x18038aad0]
mov eax, dword [rbx + rsi]
cmp dword [0x18038aad0], eax
jle 0x1800c55e4
mov rcx, r15
call fcn.180104c30
cmp dword [0x18038aad0], 0xffffffff
jne 0x1800c55e4
mov ecx, 0x6c06da54
call fcn.18009fff4
mov rcx, r15
mov qword [0x18038a8c8], rax
call fcn.180104bc4
mov rax, qword [0x18038a8c8]
movss xmm0, dword [0x180354248]
comiss xmm0, dword [rax + rdi]
jae 0x1800c57be
and dword [rsp + 0x50], r12d
lea rax, [rbp + 0x20]
and dword [rsp + 0x54], r12d
movaps xmm7, xmm11
subss xmm7, dword [0x180091a68]
and dword [rsp + 0x58], r12d
movaps xmm8, xmm13
subss xmm8, dword [0x180091a90]
mov dword [rsp + 0x38], r12d
movaps xmm3, xmm15
movss dword [rsp + 0x30], xmm9
movd xmm0, r14d
movaps xmm2, xmm7
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x28], rax
movaps xmm1, xmm8
mulss xmm0, dword [0x18009183c]
movss dword [rsp + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x20], xmm0
movss xmm0, dword [0x1800919e8]
movss dword [rsp + 0x20], xmm0
call fcn.1800a6a74
mov eax, dword [rbx + rsi]
cmp dword [0x18038aad0], eax
jle 0x1800c56ad
mov rcx, r15
call fcn.180104c30
cmp dword [0x18038aad0], 0xffffffff
jne 0x1800c56ad
mov ecx, 0x6c06da54
call fcn.18009fff4
mov rcx, r15
mov qword [0x18038a8c8], rax
call fcn.180104bc4
mov rax, qword [0x18038a8c8]
mov rcx, rdi
movss xmm6, dword [rax + rdi]
subss xmm6, dword [0x180354248]
call fcn.1800a3240
movss xmm12, dword [rax]
mov eax, dword [rsi + rbx]
cmp dword [0x18038aad0], eax
jle 0x1800c5703
mov rcx, r15
call fcn.180104c30
cmp dword [0x18038aad0], 0xffffffff
jne 0x1800c5703
mov ecx, 0x6c06da54
call fcn.18009fff4
mov rcx, r15
mov qword [0x18038a8c8], rax
call fcn.180104bc4
mov rax, qword [0x18038a8c8]
movss xmm4, dword [0x180354248]
movaps xmm1, xmm4
addss xmm1, xmm12
movss xmm3, dword [rax + rdi]
comiss xmm3, xmm9
jae 0x1800c572c
maxss xmm1, xmm9
jmp 0x1800c574e
movaps xmm0, xmm4
movaps xmm2, xmm3
subss xmm0, xmm3
addss xmm2, xmm12
comiss xmm0, xmm9
ja 0x1800c5747
minss xmm2, xmm1
jmp 0x1800c574b
maxss xmm2, xmm1
movaps xmm1, xmm2
cmp byte [0x18035437f], r12b
subss xmm1, xmm4
divss xmm6, xmm1
addss xmm6, dword [0x180091854]
je 0x1800c5770
ucomiss xmm6, xmm10
mov dl, r13b
jne 0x1800c5773
mov dl, r12b
lea rcx, [0x18008dce8]
call fcn.1800975f0
cmp eax, r13d
jle 0x1800c57be
and dword [rsp + 0x70], r12d
and dword [rsp + 0x78], r12d
movd xmm1, eax
lea rax, [rbp + 0x30]
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x74], 0x3f48c8ca
mulss xmm1, dword [0x18009183c]
movss dword [rsp + 0x7c], xmm1
movups xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x30], xmm0
jmp 0x1800c5542
movss xmm15, dword [0x1800919cc]
mov dl, byte [0x180354388]
lea rcx, [0x18008dd00]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
movss xmm6, dword [0x180091854]
comiss xmm0, xmm6
jbe 0x1800c58b3
mov rcx, qword [0x180354418]
movss xmm1, dword [0x18019eaa8]
movss xmm2, dword [0x18019eaac]
movss dword [rbp + 0x70], xmm1
mov rax, qword [rcx + 0x3ec8]
movss xmm1, dword [0x18019eab0]
movss dword [rbp + 0x7c], xmm0
movaps xmm0, xmmword [0x180091d10]
mov byte [rax + 0xb8], r13b
mov rbx, qword [rcx + 0x3ec8]
lea rcx, [rsp + 0x40]
movss dword [rbp + 0x74], xmm2
movss dword [rbp + 0x78], xmm1
movss dword [rbp + 8], xmm13
movss dword [rbp + 0xc], xmm11
movups xmmword [rsp + 0x40], xmm0
call fcn.1800d1f6c
movss xmm2, dword [0x1800919c8]
lea rdx, [rbp + 8]
mov rcx, qword [rbx + 0x298]
mov edi, 0x40
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800ea418
lea rcx, [rbp + 0x70]
movss dword [rbp + 0x10], xmm13
movss dword [rbp + 0x14], xmm11
call fcn.1800d1f6c
movss xmm2, dword [0x1800919a0]
lea rdx, [rbp + 0x10]
mov rcx, qword [rbx + 0x298]
mov r9d, eax
mov dword [rsp + 0x20], edi
call fcn.1800ea418
mov dl, byte [0x1803542ef]
lea rcx, [0x18008dd18]
movss dword [rsp + 0x20], xmm14
call fcn.1800978f8
comiss xmm0, xmm6
jbe 0x1800c5961
movss xmm1, dword [0x18019ea58]
lea rcx, [rsp + 0x60]
movss xmm2, dword [0x18019ea5c]
mov r8, qword [0x180354418]
movss xmm6, dword [0x1801a2084]
movss dword [rsp + 0x60], xmm1
movss xmm1, dword [0x18019ea60]
mov rax, qword [r8 + 0x3ec8]
movss dword [rsp + 0x64], xmm2
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x6c], xmm0
mov byte [rax + 0xb8], r13b
movss dword [rbp - 0x60], xmm13
movss dword [rbp - 0x5c], xmm11
call fcn.1800d1f6c
mov rcx, qword [r8 + 0x3ec8]
lea rdx, [rbp - 0x60]
movss dword [rsp + 0x28], xmm10
mov r9d, eax
movaps xmm2, xmm6
mov dword [rsp + 0x20], r12d
mov rcx, qword [rcx + 0x298]
call fcn.1800ea33c
mov rcx, qword [0x180354290]
mov edi, r12d
movss xmm10, dword [0x180091a44]
mov esi, 0xf
movss xmm12, dword [0x180091a20]
test rcx, rcx
je 0x1800c5c0b
cmp byte [0x180354372], r12b
je 0x1800c5c0b
call fcn.1800a2c04
test al, al
je 0x1800c5c0b
cmp byte [0x18035424d], r12b
jne 0x1800c5c0b
mov rcx, qword [0x180354290]
call fcn.1800a3b3c
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.1800cbdb0
xorps xmm0, xmm0
xorps xmm1, xmm1
or rbx, 0xffffffffffffffff
movups xmmword [rbp + 0xa0], xmm0
mov rdx, qword [rax]
mov r8, rbx
movdqu xmmword [rbp + 0xb0], xmm1
inc r8
cmp byte [rdx + r8], r12b
jne 0x1800c59ec
lea rcx, [rbp + 0xa0]
call fcn.180095060
mov rdx, qword [rbp + 0xc0]
mov eax, ebx
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1800c5a22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [0x18035424f], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov byte [rbp - 0x80], r12b
mov qword [rbp - 0x68], rsi
je 0x1800c5a66
mov rax, qword [0x18008dd28]
mov dword [rbp - 0x80], eax
movzx eax, word [0x18008dd2c]
mov word [rbp - 0x7c], ax
mov al, byte [0x18008dd2e]
mov byte [rbp - 0x7a], al
mov qword [rbp - 0x70], 7
mov byte [rbp - 0x79], r12b
jmp 0x1800c5a88
movsd xmm0, qword [0x18008dd30]
mov al, byte [0x18008dd38]
movsd qword [rbp - 0x80], xmm0
mov byte [rbp - 0x78], al
mov qword [rbp - 0x70], 9
mov byte [rbp - 0x77], r12b
cmp qword [rbp + 0xb8], rsi
lea rbx, [rbp + 0xa0]
mov rdx, qword [0x180354290]
lea rcx, [rbp + 0xc8]
cmova rbx, qword [rbp + 0xa0]
call fcn.1800b90d0
mov rcx, qword [0x18038a7c0]
lea r9, [rsp + 0x40]
movaps xmm6, xmm11
mov qword [rsp + 0x38], rbx
movss dword [rsp + 0x30], xmm12
addss xmm6, xmm10
movups xmm0, xmmword [rax]
mov dword [rsp + 0x28], 2
movaps xmm1, xmm13
mov dword [rsp + 0x20], 3
movd edx, xmm1
movaps xmm2, xmm6
movd r8d, xmm2
movdqu xmmword [rsp + 0x40], xmm0
call fcn.1800a5da4
cmp qword [rbp - 0x68], rsi
lea rax, [rbp - 0x80]
cmova rax, qword [rbp - 0x80]
cmp byte [0x18035424f], r12b
je 0x1800c5b27
movaps xmm0, xmmword [0x180091f00]
lea rcx, [rbp + 0x20]
movups xmmword [rbp + 0x20], xmm0
jmp 0x1800c5b36
movaps xmm0, xmmword [0x180091d20]
lea rcx, [rbp + 0x30]
movups xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rcx]
mov rcx, qword [0x18038a7c0]
lea r9, [rsp + 0x40]
addss xmm6, dword [0x180091a24]
mov qword [rsp + 0x38], rax
movaps xmm1, xmm13
movss dword [rsp + 0x30], xmm12
movd edx, xmm1
mov dword [rsp + 0x28], 2
movaps xmm2, xmm6
mov dword [rsp + 0x20], 3
movd r8d, xmm2
movdqu xmmword [rsp + 0x40], xmm0
call fcn.1800a5da4
mov rdx, qword [rbp - 0x68]
mov edi, 0x16
mov ebx, 0x1000
cmp rdx, rsi
jbe 0x1800c5bc0
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800c5bbb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c5bff
call fcn.180104b88
mov rdx, qword [rbp + 0xb8]
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], rsi
mov byte [rbp - 0x80], r12b
cmp rdx, rsi
jbe 0x1800c5c0b
mov rcx, qword [rbp + 0xa0]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x1800c5c06
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800c5c06
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180104b88
mov ecx, dword [0x18038ac70]
test ecx, ecx
je 0x1800c5c2a
sub ecx, r13d
je 0x1800c5c2a
cmp ecx, r13d
je 0x1800c5c2a
movss xmm9, dword [rbp + 0x2a0]
jmp 0x1800c5c34
call qword [0x18038ac68]
movaps xmm9, xmm0
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3f24
subss xmm9, dword [rax]
subss xmm9, dword [0x180091884]
call fcn.1800a4638
mov rcx, rax
call fcn.1800a4214
movss xmm6, dword [0x180091880]
lea rcx, [0x18008dd40]
mov dl, byte [0x1803542f9]
movaps xmm14, xmm0
movss dword [rsp + 0x20], xmm6
call fcn.1800978f8
comiss xmm0, xmm6
jbe 0x1800c5fde
cmp byte [0x1803542f9], r12b
je 0x1800c5fde
cmp byte [0x1803542d6], r12b
je 0x1800c5d5d
mov ecx, dword [0x1803543bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c5d5d
movss xmm6, dword [0x18019e8f8]
movss xmm7, dword [0x18019e8fc]
movss xmm8, dword [0x18019e900]
call fcn.1800a4638
mov r8d, 0x12
lea rdx, [rbp + 0xf0]
mov rcx, rax
call fcn.1800a3fa0
mulss xmm9, dword [0x180091900]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x6c], 0x437f0000
movss dword [rsp + 0x60], xmm6
movss xmm0, dword [rax + 4]
addss xmm9, dword [0x18009188c]
subss xmm0, dword [0x1800918e4]
movss xmm1, dword [rax]
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x68], xmm8
mulss xmm9, xmm14
movss dword [rbp - 0x5c], xmm0
movss xmm0, dword [rax + 8]
addss xmm9, dword [0x18009185c]
movss dword [rbp - 0x60], xmm1
movss dword [rbp - 0x58], xmm0
movaps xmm2, xmm9
call fcn.1800c3f80
cmp byte [0x1803542d5], r12b
je 0x1800c5ddb
mov ecx, dword [0x1803543bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c5ddb
movaps xmm0, xmmword [0x180091d20]
lea rax, [0x18008dd58]
mov rcx, qword [0x18038a7c0]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm10
movss dword [rsp + 0x30], xmm12
movaps xmm1, xmm13
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.1800a5da4
add edi, esi
cmp byte [0x1803542c2], r12b
je 0x1800c5e59
mov ecx, dword [0x1803543b0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c5e59
movaps xmm0, xmmword [0x180091d50]
lea rax, [0x18008dd68]
mov rcx, qword [0x18038a7c0]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm10
movss dword [rsp + 0x30], xmm12
movaps xmm1, xmm13
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.1800a5da4
add edi, esi
cmp byte [0x1803542c6], r12b
je 0x1800c5ed7
mov ecx, dword [0x1803543bc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c5ed7
movaps xmm0, xmmword [0x180091d60]
lea rax, [0x18008dd78]
mov rcx, qword [0x18038a7c0]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm0
addss xmm2, xmm10
movss dword [rsp + 0x30], xmm12
movaps xmm1, xmm13
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.1800a5da4
add edi, esi
cmp byte [0x180354373], r12b
je 0x1800c5fde
mov ecx, dword [0x1803543b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800c5fde
mov rcx, qword [0x180354290]
lea rdx, [rbp + 0xd8]
mov esi, 0x2f
mov r8d, esi
call fcn.1800a3fa0
movsd xmm0, qword [rax]
mov ebx, dword [rax + 8]
movsd qword [rbp - 0x50], xmm0
call fcn.1800a4638
mov r8d, esi
lea rdx, [rbp + 0xe4]
mov rcx, rax
call fcn.1800a3fa0
movsd xmm0, qword [rax]
movss xmm1, dword [rax + 8]
movsd qword [rbp - 0x40], xmm0
movss xmm2, dword [rbp - 0x40]
movss xmm3, dword [rbp - 0x3c]
subss xmm3, dword [rbp - 0x4c]
subss xmm2, dword [rbp - 0x50]
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 0x1800c5fde
movaps xmm0, xmmword [0x180091f00]
addss xmm11, xmm10
mov rcx, qword [0x18038a7c0]
lea rax, [0x18008dd88]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmm13
movss dword [rsp + 0x30], xmm12
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
movd edx, xmm1
addss xmm11, xmm0
movaps xmm2, xmm11
movd r8d, xmm2
call fcn.1800a5da4
cmp byte [0x1803542a8], r12b
mov ebx, 0x30
movss xmm8, dword [0x180091a8c]
mov edi, 0xc0
movss xmm6, dword [0x180091a78]
movss xmm7, dword [0x180091aa0]
movss xmm9, dword [0x180091ac4]
je 0x1800c612f
cmp byte [0x18035424d], r12b
je 0x1800c612f
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.1800a5b70
movaps xmm0, xmmword [0x180091cf0]
lea rax, [rsp + 0x40]
movss xmm11, dword [0x1800919bc]
movaps xmm3, xmm9
movss xmm2, dword [0x1801a254c]
movss xmm1, dword [0x1801a2548]
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1800a6a74
movss xmm2, dword [0x1801a254c]
lea rax, [rsp + 0x40]
movaps xmm0, xmmword [0x180091cf0]
addss xmm2, xmm10
movss xmm1, dword [0x1801a2548]
movaps xmm3, xmm9
mov dword [rsp + 0x38], edi
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1800a6a74
movss xmm2, dword [0x1801a254c]
lea rax, [0x18008dd98]
movss xmm1, dword [0x1801a2548]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x180091a58]
movaps xmm0, xmmword [0x180091f00]
addss xmm1, xmm7
mov rcx, qword [0x18038a7c0]
mov qword [rsp + 0x38], rax
movss dword [rsp + 0x30], xmm12
movd r8d, xmm2
movd edx, xmm1
mov dword [rsp + 0x28], 2
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x20], 3
call fcn.1800a5da4
jmp 0x1800c6138
movss xmm11, dword [0x1800919bc]
cmp byte [0x1803542a2], r12b
je 0x1800c6252
cmp byte [0x18035424d], r12b
je 0x1800c6252
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movq rcx, xmm0
call fcn.1800a5b70
movaps xmm0, xmmword [0x180091cf0]
lea rax, [rsp + 0x40]
movss xmm2, dword [0x180089894]
movaps xmm3, xmm9
movss xmm1, dword [0x180089890]
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1800a6a74
movss xmm2, dword [0x180089894]
lea rax, [rsp + 0x40]
movaps xmm0, xmmword [0x180091cf0]
addss xmm2, xmm10
movss xmm1, dword [0x180089890]
movaps xmm3, xmm9
mov dword [rsp + 0x38], edi
movss dword [rsp + 0x30], xmm11
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1800a6a74
movss xmm2, dword [0x180089894]
lea rax, [0x18008dda8]
movss xmm1, dword [0x180089890]
lea r9, [rsp + 0x40]
addss xmm2, dword [0x180091a58]
movaps xmm0, xmmword [0x180091f00]
addss xmm1, xmm7
mov rcx, qword [0x18038a7c0]
mov qword [rsp + 0x38], rax
movss dword [rsp + 0x30], xmm12
movd r8d, xmm2
movd edx, xmm1
mov dword [rsp + 0x28], 2
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x20], 3
call fcn.1800a5da4
lea r11, [rsp + 0x358]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret