Function at 0x18001ea40
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x188]
sub rsp, 0x260
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18005a080]
xor rax, rsp
mov qword [rbp + 0xb0], rax
xor r13d, r13d
mov ebx, r13d
mov esi, dword [0x18005fb00]
xorps xmm8, xmm8
test esi, esi
je 0x18001f1f7
movss xmm7, dword [0x180051740]
mov rdi, qword [0x18005faf8]
mov r14d, dword [0x18005fb10]
mov r12, qword [0x18005fb08]
nop dword [rax + rax]
movsxd rax, esi
imul rcx, rbx, 0x38
cmp rbx, rax
jae 0x18001eb07
lea rdx, [rcx + rdi]
mov qword [rsp + 0x78], rdx
jmp 0x18001eb0c
mov rdx, qword [rsp + 0x78]
cmp byte [rdx], 0
je 0x18001f083
cmp rbx, rax
jae 0x18001eb24
lea rax, [rcx + rdi]
mov qword [rbp - 0x40], rax
jmp 0x18001eb28
mov rax, qword [rbp - 0x40]
lea rcx, [rax + 0x10]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x18001eb3a
mov rcx, qword [rcx]
test r8, r8
jne 0x18001eb53
lea rdx, [0x18004fbc1]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18001ec9d
movsxd rax, esi
cmp rbx, rax
jae 0x18001eb68
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x48], rax
jmp 0x18001eb6c
mov rax, qword [rbp - 0x48]
cmp r14d, dword [rax + 0x30]
jle 0x18001ec9d
mov r15, r13
test r14d, r14d
je 0x18001ec9d
movsxd rax, esi
cmp rbx, rax
jae 0x18001eb97
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x50], rax
jmp 0x18001eb9b
mov rax, qword [rbp - 0x50]
lea rdx, [rax + 0x10]
movsxd rax, r14d
cmp r15, rax
jae 0x18001ebb1
lea rax, [r12 + r13]
mov qword [rbp - 0x58], rax
jmp 0x18001ebb5
mov rax, qword [rbp - 0x58]
lea rcx, [rax + 8]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18001ebc7
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x18001ebd5
mov rcx, qword [rcx]
cmp r8, rax
jne 0x18001ec84
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18001ec84
movsxd rax, r14d
cmp r15, rax
jae 0x18001ebfd
lea rax, [r12 + r13]
mov qword [rbp - 0x60], rax
jmp 0x18001ec01
mov rax, qword [rbp - 0x60]
cmp qword [rax + 0x98], 0
je 0x18001ec84
movsxd rax, esi
cmp rbx, rax
jae 0x18001ec20
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x68], rax
jmp 0x18001ec24
mov rax, qword [rbp - 0x68]
movsxd rcx, dword [rax + 0x30]
movsxd rax, r14d
cmp rcx, rax
jae 0x18001ec40
imul rax, rcx, 0xd8
add rax, r12
mov qword [rbp - 0x70], rax
jmp 0x18001ec44
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x98]
mov ecx, dword [rax]
movsxd rax, esi
cmp rbx, rax
jae 0x18001ec62
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x78], rax
jmp 0x18001ec66
mov rax, qword [rbp - 0x78]
mov dword [rax + 4], ecx
mov esi, dword [0x18005fb00]
mov rdi, qword [0x18005faf8]
mov r14d, dword [0x18005fb10]
mov r12, qword [0x18005fb08]
inc r15
add r13, 0xd8
movsxd rax, r14d
cmp r15, rax
jb 0x18001eb82
xor r13d, r13d
movsxd rax, esi
cmp rbx, rax
jae 0x18001ecb3
imul rax, rbx, 0x38
add rax, rdi
mov qword [rsp + 0x70], rax
jmp 0x18001ecb8
mov rax, qword [rsp + 0x70]
cmp byte [0x18005f505], 0
je 0x18001f1e8
mov edx, dword [rax + 4]
call fcn.180016340
test al, al
je 0x18001f1cd
movsxd rax, dword [0x18005fb00]
cmp rbx, rax
jae 0x18001ed01
imul r9, rbx, 0x38
add r9, qword [0x18005faf8]
mov qword [rbp - 0x80], r9
imul rcx, rbx, 0x38
add rcx, qword [0x18005faf8]
mov qword [rbp + 0x40], rcx
jmp 0x18001ed05
mov r9, qword [rbp - 0x80]
mov rax, qword [r9 + 8]
movzx ecx, byte [rax]
test cl, cl
sete cl
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 8]
mov byte [rax], cl
movsxd r8, dword [0x18005fb00]
mov rcx, qword [0x18005faf8]
cmp rbx, r8
jae 0x18001ed3b
imul rax, rbx, 0x38
add rax, rcx
mov qword [rbp - 0x10], rax
jmp 0x18001ed3f
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
cmp byte [rax], 0
je 0x18001eee4
movups xmm6, xmmword [0x18005f7a8]
movsd xmm0, qword [0x180050890]
movsd qword [rsp + 0x60], xmm0
movzx eax, byte [0x180050898]
mov byte [rsp + 0x60], 0x5d
xor byte [rsp + 0x61], 0x35
xor byte [rsp + 0x62], 0x36
xor byte [rsp + 0x63], 0x37
xor byte [rsp + 0x64], 0x38
xor byte [rsp + 0x65], 0x39
xor byte [rsp + 0x66], 0x3a
xor byte [rsp + 0x67], 0x3b
xor al, 0x3c
mov byte [rsp + 0x68], al
cmp rbx, r8
jae 0x18001eda8
imul rax, rbx, 0x38
add rax, rcx
mov qword [rbp - 8], rax
jmp 0x18001edac
mov rax, qword [rbp - 8]
lea r8, [rax + 0x10]
movzx eax, word [0x180050804]
mov word [rsp + 0x50], ax
cmp byte [0x180050805], 0
je 0x18001edcf
mov byte [rsp + 0x50], 0x5b
xor byte [rsp + 0x51], 0x35
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.180020350
nop
lea rcx, [rsp + 0x60]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rcx + r8], 0
jne 0x18001edf0
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180004220
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], recv
mov byte [rax], 0
lea rcx, [rbp + 0x20]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0xf
cmova rcx, rdx
movdqa xmmword [rsp + 0x50], xmm6
lea r9, [rsp + 0x50]
movaps xmm2, xmm8
movaps xmm1, xmm7
call fcn.18001ce00
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x18001ee94
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ee8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f336
call fcn.18004c45c
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x18001eecf
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001eeca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f33d
call fcn.18004c45c
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], recv
mov byte [rbp + 0x48], 0
jmp 0x18001f1cd
movaps xmm6, xmmword [0x180051970]
movsd xmm0, qword [0x180050808]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x180050810]
mov qword [rbp - 0x80], r9
mov byte [rsp + 0x40], 0x5d
xor byte [rsp + 0x41], 0x35
xor byte [rsp + 0x42], 0x36
xor byte [rsp + 0x43], 0x37
xor byte [rsp + 0x44], 0x38
xor byte [rsp + 0x45], 0x39
xor byte [rsp + 0x46], 0x3a
xor byte [rsp + 0x47], 0x3b
xor al, 0x3c
mov byte [rsp + 0x48], al
cmp rbx, r8
jae 0x18001ef44
imul rax, rbx, 0x38
add rax, rcx
mov qword [rbp], rax
jmp 0x18001ef48
mov rax, qword [rbp]
lea r8, [rax + 0x10]
movzx eax, word [0x180050804]
mov word [rsp + 0x50], ax
cmp byte [0x180050805], 0
je 0x18001ef6b
mov byte [rsp + 0x50], 0x5b
xor byte [rsp + 0x51], 0x35
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.180020350
nop
lea rcx, [rsp + 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], 0
jne 0x18001ef86
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180004220
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], recv
mov byte [rax], 0
lea rcx, [rbp + 0x20]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0xf
cmova rcx, rdx
movdqa xmmword [rsp + 0x50], xmm6
lea r9, [rsp + 0x50]
movaps xmm2, xmm8
movaps xmm1, xmm7
call fcn.18001ce00
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x18001f02a
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001f024
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f344
call fcn.18004c45c
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0xf
jbe 0x18001f068
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001f063
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f34b
call fcn.18004c45c
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], socket
mov byte [rbp + 0x70], 0
jmp 0x18001f1cd
cmp rbx, rax
jae 0x18001f092
lea rax, [rcx + rdi]
mov qword [rbp + 8], rax
jmp 0x18001f096
mov rax, qword [rbp + 8]
cmp dword [rax + 0x30], 0xffffffff
je 0x18001f1e8
movsxd rax, esi
cmp rbx, rax
jae 0x18001f0b2
lea rax, [rcx + rdi]
mov qword [rbp + 0x10], rax
jmp 0x18001f0b6
mov rax, qword [rbp + 0x10]
movsxd rax, dword [rax + 0x30]
movsxd rcx, r14d
cmp rax, rcx
jae 0x18001f0d2
imul rax, rax, 0xd8
add rax, r12
mov qword [rbp + 0x18], rax
jmp 0x18001f0d6
mov rax, qword [rbp + 0x18]
cmp qword [rax + 0x98], 0
je 0x18001f12d
movsxd rax, esi
cmp rbx, rax
jae 0x18001f0f5
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x38], rax
jmp 0x18001f0f9
mov rax, qword [rbp - 0x38]
movsxd rax, dword [rax + 0x30]
cmp rax, rcx
jae 0x18001f112
imul rax, rax, 0xd8
add rax, r12
mov qword [rbp - 0x30], rax
jmp 0x18001f116
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 0x98]
mov dword [rax], r13d
mov esi, dword [0x18005fb00]
mov rdi, qword [0x18005faf8]
movsxd rax, esi
cmp rbx, rax
jae 0x18001f142
imul rax, rbx, 0x38
add rax, rdi
mov qword [rbp - 0x28], rax
jmp 0x18001f146
mov rax, qword [rbp - 0x28]
mov dword [rax + 0x30], r13d
movsxd rax, dword [0x18005fb00]
cmp rbx, rax
jae 0x18001f167
imul rax, rbx, 0x38
add rax, qword [0x18005faf8]
mov qword [rbp - 0x20], rax
jmp 0x18001f16b
mov rax, qword [rbp - 0x20]
lea rcx, [rax + 0x10]
cmp qword [rax + 0x28], 0xf
jbe 0x18001f17a
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x20], r13
mov byte [rcx], 0
movsxd rax, dword [0x18005fb00]
cmp rbx, rax
jae 0x18001f19e
imul rax, rbx, 0x38
add rax, qword [0x18005faf8]
mov qword [rbp - 0x18], rax
jmp 0x18001f1a2
mov rax, qword [rbp - 0x18]
mov qword [rax + 8], r13
movsxd rax, dword [0x18005fb00]
cmp rbx, rax
jae 0x18001f1c4
imul rax, rbx, 0x38
add rax, qword [0x18005faf8]
mov qword [rsp + 0x30], rax
jmp 0x18001f1c9
mov rax, qword [rsp + 0x30]
mov dword [rax + 4], r13d
mov r12, qword [0x18005fb08]
mov r14d, dword [0x18005fb10]
mov rdi, qword [0x18005faf8]
mov esi, dword [0x18005fb00]
inc rbx
movsxd rax, esi
cmp rbx, rax
jb 0x18001eaf0
xorps xmm0, xmm0
movsd xmm1, qword [0x18005f9a8]
ucomisd xmm1, xmm0
jp 0x18001f21e
jne 0x18001f21e
call fcn.1800402f0
mov rcx, rax
call fcn.18003d310
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
cvtpd2ps xmm6, xmm1
mov rdi, r13
mov ecx, dword [0x18005faf0]
movss xmm7, dword [0x180051ad0]
movss xmm10, dword [0x18005180c]
movss xmm13, dword [0x1800517a8]
movss xmm11, dword [0x180051728]
test ecx, ecx
je 0x18001f72b
mov rbx, r13
movss xmm9, dword [0x180051768]
movss xmm8, dword [0x1800517bc]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x30]
movss xmm12, dword [0x180051730]
nop dword [rax]
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov rdx, qword [rbp - 0x40]
mov qword [rbp - 0x40], rdx
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x68], rax
mov r11, qword [rbp - 0x70]
mov qword [rbp - 0x70], r11
mov r10, qword [rbp - 0x78]
mov qword [rbp - 0x78], r10
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x50], r9
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x70], r8
movsxd rax, ecx
mov rdx, qword [0x18005fae8]
cmp rdi, rax
jae 0x18001f309
lea r9, [rbx + rdx]
mov qword [rsp + 0x30], r9
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
cmp byte [r8 + 0x50], 0
mov r8, qword [rsp + 0x70]
jne 0x18001f4d9
cmp rdi, rax
jae 0x18001f37e
lea r14, [rbx + rdx]
xorps xmm1, xmm1
test rdi, rdi
js 0x18001f352
cvtsi2ss xmm1, rdi
jmp 0x18001f36a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movaps xmm0, xmm1
lea rsi, [rbx + rdx]
lea rax, [rbx + rdx]
mov qword [rbp - 0x18], rax
movaps xmm2, xmm1
jmp 0x18001f3af
xorps xmm2, xmm2
test rdi, rdi
js 0x18001f38d
cvtsi2ss xmm2, rdi
jmp 0x18001f3a5
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm2
movaps xmm0, xmm2
mov rax, qword [rbp - 0x18]
movss xmm3, dword [rsi + 0x30]
xorps xmm3, xmm7
mulss xmm0, dword [r14 + 0x34]
movss dword [rax + 0x38], xmm3
movss dword [rax + 0x3c], xmm0
movsxd rcx, dword [0x18005faf0]
mov rdx, qword [0x18005fae8]
cmp rdi, rcx
jae 0x18001f3e7
lea r9, [rbx + rdx]
mov qword [rbp - 0x20], r9
mov r9, qword [rsp + 0x50]
mov r8, qword [rbp - 0x20]
movss xmm0, dword [r8 + 0x38]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
mov r8, qword [rsp + 0x70]
jp 0x18001f400
je 0x18001f467
movaps xmm0, xmm6
cmp rdi, rcx
jae 0x18001f428
lea rax, [rbx + rdx]
mov qword [rsp + 0x78], rax
mulss xmm1, dword [rax + 0x34]
lea r12, [rbx + rdx]
lea r13, [rbx + rdx]
lea rax, [rbx + rdx]
mov qword [rbp - 0x28], rax
jmp 0x18001f43e
movaps xmm1, xmm2
mov rax, qword [rsp + 0x78]
mulss xmm1, dword [rax + 0x34]
mov qword [rsp + 0x78], rax
mov rax, qword [rbp - 0x28]
subss xmm0, dword [r12 + 0x24]
mulss xmm0, xmm10
addss xmm0, dword [r13 + 0x38]
movss dword [rax + 0x38], xmm0
movss dword [rax + 0x3c], xmm1
mov ecx, dword [0x18005faf0]
mov rdx, qword [0x18005fae8]
movsxd rax, ecx
cmp rdi, rax
jae 0x18001f47b
lea r11, [rbx + rdx]
mov qword [rbp - 0x30], r11
mov r11, qword [rbp - 0x70]
mov r10, qword [rbp - 0x30]
movss xmm0, dword [r10 + 0x38]
comiss xmm0, xmm3
mov r10, qword [rbp - 0x78]
jbe 0x18001f4d9
cmp rdi, rax
jae 0x18001f49d
lea rax, [rbx + rdx]
mov qword [rbp - 0x38], rax
jmp 0x18001f4a1
mov rax, qword [rbp - 0x38]
mov byte [rax + 0x50], 1
movsxd rax, dword [0x18005faf0]
cmp rdi, rax
jae 0x18001f4c1
mov rax, qword [0x18005fae8]
add rax, rbx
mov qword [rbp + 0x18], rax
jmp 0x18001f4c5
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x38], 0
mov ecx, dword [0x18005faf0]
mov rdx, qword [0x18005fae8]
comiss xmm9, xmm6
jb 0x18001f506
movsxd rax, ecx
cmp rdi, rax
jae 0x18001f4f1
lea rax, [rbx + rdx]
mov qword [rbp + 0x10], rax
jmp 0x18001f4f5
mov rax, qword [rbp + 0x10]
mov byte [rax + 0x51], 1
mov ecx, dword [0x18005faf0]
mov rdx, qword [0x18005fae8]
movsxd rax, ecx
cmp rdi, rax
jae 0x18001f54e
lea rax, [rbx + rdx]
mov qword [rsp + 0x70], rax
movss xmm2, dword [rax + 0x34]
lea rax, [rbx + rdx]
mov qword [rsp + 0x50], rax
lea rcx, [rbx + rdx]
mov qword [rbp - 0x78], rcx
movss xmm1, dword [rax + 0x30]
addss xmm1, dword [rcx + 0x2c]
lea rax, [rbx + rdx]
mov qword [rbp - 0x70], rax
movss xmm3, dword [rax + 0x3c]
lea rax, [rbx + rdx]
mov qword [rbp + 8], rax
jmp 0x18001f56a
movss xmm2, dword [r8 + 0x34]
movss xmm1, dword [r10 + 0x2c]
addss xmm1, dword [r9 + 0x30]
movss xmm3, dword [r11 + 0x3c]
mov rax, qword [rbp + 8]
movups xmm0, xmmword [0x18005f688]
movdqa xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x20], xmm1
movss xmm2, dword [rax + 0x38]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x18005f558]
call fcn.180039c70
movsxd rdx, dword [0x18005faf0]
mov rcx, qword [0x18005fae8]
cmp rdi, rdx
jae 0x18001f5e0
lea rax, [rbx + rcx]
mov qword [rbp - 0x68], rax
movss xmm1, dword [rax + 0x34]
lea rax, [rbx + rcx]
mov qword [rbp - 0x60], rax
movss xmm3, dword [rax + 0x3c]
lea rax, [rbx + rcx]
mov qword [rbp - 0x58], rax
lea r8, [rbx + rcx]
mov qword [rbp - 0x50], r8
lea r9, [rbx + rcx]
mov qword [rbp], r9
jmp 0x18001f5fe
mov rax, qword [rbp - 0x68]
movss xmm1, dword [rax + 0x34]
mov rax, qword [rbp - 0x60]
movss xmm3, dword [rax + 0x3c]
mov rax, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp]
movss xmm2, dword [r8 + 0x38]
addss xmm2, dword [rax + 0x30]
addss xmm2, dword [r9 + 0x2c]
subss xmm2, xmm8
jae 0x18001f620
lea rax, [rbx + rcx]
mov qword [rbp - 8], rax
jmp 0x18001f624
mov rax, qword [rbp - 8]
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x40]
mov rcx, qword [0x18005f558]
call fcn.180039c70
movss xmm3, dword [0x18005f794]
divss xmm3, xmm13
movsxd rdx, dword [0x18005faf0]
mov rcx, qword [0x18005fae8]
cmp rdi, rdx
jae 0x18001f68d
lea r8, [rbx + rcx]
mov qword [rbp - 0x40], r8
lea rax, [rbx + rcx]
mov qword [rbp - 0x48], rax
lea r9, [rbx + rcx]
mov qword [rbp - 0x80], r9
lea r10, [rbx + rcx]
mov qword [rbp - 0x10], r10
jmp 0x18001f69d
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x80]
mov r10, qword [rbp - 0x10]
movss xmm2, dword [rax + 0x34]
mulss xmm2, xmm11
addss xmm2, dword [r8 + 0x3c]
movss xmm1, dword [r10 + 0x30]
addss xmm1, dword [r9 + 0x2c]
mulss xmm1, xmm11
subss xmm1, xmm8
addss xmm1, dword [r8 + 0x38]
jae 0x18001f6cf
lea r15, [rbx + rcx]
mov rcx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x18001f6dc
mov rcx, qword [r15]
movups xmm0, xmmword [0x18005f718]
movdqa xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x20], xmm12
movaps xmm0, xmm3
unpcklps xmm0, xmm3
movq r9, xmm0
lea r8, [rsp + 0x40]
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180017950
inc rdi
add rbx, 0x58
movsxd rcx, dword [0x18005faf0]
cmp rdi, rcx
jb 0x18001f290
xorps xmm8, xmm8
xor r13d, r13d
mov rdx, r13
test ecx, ecx
je 0x18001f940
mov r9, r13
mov r8, qword [0x18005fae8]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x30]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x30]
mov r12, qword [rsp + 0x30]
nop dword [rax]
movsxd rax, ecx
cmp rdx, rax
jae 0x18001f781
lea rcx, [r9 + r8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x50], 0
movsxd rcx, dword [0x18005faf0]
je 0x18001f92a
cmp rdx, rax
jae 0x18001f7aa
lea r15, [r9 + r8]
lea rax, [r9 + r8]
mov qword [rbp - 0x18], rax
jmp 0x18001f7ae
mov rax, qword [rbp - 0x18]
movaps xmm0, xmm6
subss xmm0, dword [r15 + 0x24]
comiss xmm0, dword [rax + 0x20]
jb 0x18001f92a
cmp rdx, rcx
jae 0x18001f7d0
lea rax, [r9 + r8]
mov qword [rbp - 0x20], rax
jmp 0x18001f7d4
mov rax, qword [rbp - 0x20]
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm8
jp 0x18001f806
jne 0x18001f806
cmp rdx, rcx
jae 0x18001f7f0
lea rax, [r9 + r8]
mov qword [rbp - 0x28], rax
jmp 0x18001f7f4
mov rax, qword [rbp - 0x28]
movss dword [rax + 0x28], xmm6
mov ecx, dword [0x18005faf0]
mov r8, qword [0x18005fae8]
movsxd rax, ecx
cmp rdx, rax
jae 0x18001f820
lea rsi, [r9 + r8]
lea r14, [r9 + r8]
lea rax, [r9 + r8]
mov qword [rbp - 0x30], rax
jmp 0x18001f824
mov rax, qword [rbp - 0x30]
movss xmm1, dword [r14 + 0x30]
addss xmm1, dword [rax + 0x2c]
xorps xmm1, xmm7
movss xmm0, dword [rsi + 0x38]
comiss xmm0, xmm1
jb 0x18001f8db
movsxd rax, ecx
xorps xmm0, xmm0
cmp rdx, rax
jae 0x18001f885
lea r10, [r9 + r8]
test rdx, rdx
js 0x18001f863
cvtsi2ss xmm0, rdx
lea r11, [r9 + r8]
lea r12, [r9 + r8]
jmp 0x18001f8a9
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
lea r11, [r9 + r8]
lea r12, [r9 + r8]
jmp 0x18001f8a9
test rdx, rdx
js 0x18001f891
cvtsi2ss xmm0, rdx
jmp 0x18001f8a9
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
movaps xmm1, xmm6
subss xmm1, dword [r11 + 0x28]
mulss xmm1, xmm10
xorps xmm1, xmm7
mulss xmm0, dword [r10 + 0x34]
movss dword [r12 + 0x38], xmm1
movss dword [r12 + 0x3c], xmm0
mov ecx, dword [0x18005faf0]
mov r8, qword [0x18005fae8]
movsxd rax, ecx
cmp rdx, rax
jae 0x18001f8f5
lea rdi, [r9 + r8]
lea rbx, [r9 + r8]
lea rax, [r9 + r8]
mov qword [rbp - 0x38], rax
jmp 0x18001f8f9
mov rax, qword [rbp - 0x38]
movss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rbx + 0x30]
xorps xmm0, xmm7
comiss xmm0, dword [rdi + 0x38]
jbe 0x18001f92a
movsxd rax, ecx
cmp rdx, rax
jae 0x18001f918
lea r13, [r9 + r8]
mov byte [r13 + 0x51], 1
mov ecx, dword [0x18005faf0]
mov r8, qword [0x18005fae8]
inc rdx
add r9, 0x58
movsxd rax, ecx
cmp rdx, rax
jb 0x18001f770
xor r13d, r13d
cmp byte [0x18005f505], 0
je 0x18001f969
mov edx, 0x2d
call fcn.180016340
test al, al
je 0x18001f969
cmp byte [0x180060168], 0
sete al
mov byte [0x180060168], al
jmp 0x18001f970
movzx eax, byte [0x180060168]
test al, al
je 0x18001fc01
mov esi, r13d
mov rdi, qword [0x18005ff28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18001fc01
movsd xmm14, qword [0x180051ac0]
movsd xmm15, qword [0x180051738]
movss xmm13, dword [0x180051790]
nop dword [rax]
mov eax, dword [rbx + 0x10]
mov dword [rbp + 0x70], eax
mov eax, dword [rbx + 0x18]
mov dword [rbp + 0x78], eax
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x80]
call fcn.18000e820
movss xmm0, dword [rbx + 0x40]
movss dword [rbp + 0xa0], xmm0
movss xmm1, dword [rbx + 0x44]
movss dword [rbp + 0xa4], xmm1
mov rax, qword [rbx + 0x48]
mov qword [rbp + 0xa8], rax
call fcn.1800403f0
test rax, rax
je 0x18001fa1f
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18003c870
movd xmm12, dword [rsp + 0x50]
cvtdq2ps xmm12, xmm12
mulss xmm12, xmm11
jmp 0x18001fa23
movaps xmm12, xmm8
addss xmm12, xmm12
mov rax, qword [rbp + 0xa8]
cmp byte [rax], 0
je 0x18001fbb1
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm15
xorps xmm0, xmm14
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss xmm1, dword [0x180051730]
lea rcx, [rsp + 0x60]
call fcn.180017c70
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x20]
call fcn.18000e820
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1800405d0
movss xmm7, dword [rsp + 0x7c]
movaps xmm8, xmm7
addss xmm8, xmm13
movss xmm9, dword [rsp + 0x78]
movaps xmm11, xmm9
addss xmm11, dword [0x1800517c0]
movd xmm10, esi
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm8
subss xmm12, xmm11
movaps xmm0, xmmword [0x180051910]
movaps xmmword [rsp + 0x40], xmm0
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm11
movaps xmm3, xmm10
movaps xmm2, xmm12
lea rdx, [rsp + 0x40]
mov rcx, qword [0x18005f558]
call fcn.180039c70
movups xmm6, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x40], xmm6
movaps xmm2, xmm12
subss xmm2, xmm13
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm10
lea rdx, [rsp + 0x40]
mov rcx, qword [0x18005f558]
call fcn.180039c70
movss xmm1, dword [0x18005f794]
divss xmm1, dword [0x1800517a8]
movss xmm0, dword [0x180051728]
mulss xmm8, xmm0
mulss xmm7, xmm0
subss xmm8, xmm7
addss xmm10, xmm8
mulss xmm11, xmm0
mulss xmm9, xmm0
subss xmm11, xmm9
addss xmm11, xmm12
lea rcx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0xf
cmova rcx, qword [rbp + 0x80]
movdqa xmmword [rsp + 0x40], xmm6
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm1
unpcklps xmm0, xmm1
movq r9, xmm0
lea r8, [rsp + 0x40]
unpcklps xmm11, xmm10
movq rdx, xmm11
call fcn.180017ae0
inc esi
movss xmm11, dword [0x180051728]
xorps xmm8, xmm8
mov rdx, qword [rbp + 0x98]
cmp rdx, 0xf
jbe 0x18001fbf2
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001fbed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001fd85
call fcn.18004c45c
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x18001f9b0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18001fc1d
lea rcx, [0x18005fb20]
call fcn.1800166d0
mov dword [0x18005f788], r13d
lea rcx, [0x18005fd00]
call fcn.1800166d0
mov rcx, qword [0x18005fa00]
test rcx, rcx
je 0x18001fc53
call fcn.18004c45c
mov qword [0x18005fa00], r13
mov qword [0x18005fa08], 0
mov rdi, qword [0x18005fb08]
test rdi, rdi
je 0x18001fc9f
lea r9, [fcn.180016870]
mov r8, qword [rdi - 8]
mov edx, 0xd8
mov rcx, rdi
call fcn.18004c498
imul rdx, qword [rdi - 8], 0xd8
add rdx, 8
lea rcx, [rdi - 8]
call fcn.18004c490
nop
mov qword [0x18005fb08], r13
mov qword [0x18005fb10], 0
mov al, 1
movsxd r8, dword [0x18005faf0]
mov rcx, r13
mov rdi, qword [0x18005fae8]
test r8, r8
je 0x18001fcdb
mov rdx, rdi
nop word [rax + rax]
movzx eax, al
cmp byte [rdx + 0x51], 0
cmove eax, r13d
inc rcx
lea rdx, [rdx + 0x58]
cmp rcx, r8
jb 0x18001fcc0
test al, al
je 0x18001fd1d
test rdi, rdi
je 0x18001fd1d
lea r9, [fcn.180003f50]
mov r8, qword [rdi - 8]
mov edx, 0x58
mov rcx, rdi
call fcn.18004c498
imul rdx, qword [rdi - 8], 0x58
add rdx, 8
lea rcx, [rdi - 8]
call fcn.18004c490
nop
mov qword [0x18005fae8], r13
mov qword [0x18005faf0], 0
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.18004c400
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, 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 rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3