Function at 0x180022010
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x108]
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1c0], xmm9
call fcn.180017060
mov ebx, dword [0x180296940]
mov rdi, rax
mov r15d, 4
test rax, rax
je 0x180022128
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rbx*8]
mov ecx, dword [rsi + r15]
cmp dword [0x1802bde58], ecx
jle 0x1800220a8
lea rcx, [0x1802bde58]
call fcn.1800f8774
cmp dword [0x1802bde58], 0xffffffff
jne 0x1800220a8
mov ecx, 0x3300df68
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bdb10], rcx
lea rcx, [0x1802bde58]
call fcn.1800f8714
mov r8, rdi
call fcn.180052260
mov rdi, rax
test rax, rax
je 0x180022128
mov ecx, dword [rsi + r15]
cmp dword [0x1802bdaa8], ecx
jle 0x1800220f9
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x1800220f9
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x30], 0
lea rcx, [rbp - 0x70]
mov dword [rsp + 0x38], 0
xorps xmm9, xmm9
call fcn.1800521c0
jmp 0x18002213b
xorps xmm9, xmm9
mov qword [rbp - 0x70], 0
mov dword [rbp - 0x68], 0
call fcn.180017060
mov rdi, rax
test rax, rax
je 0x180022217
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rbx*8]
mov ecx, dword [rsi + r15]
cmp dword [0x1802bde58], ecx
jle 0x18002219a
lea rcx, [0x1802bde58]
call fcn.1800f8774
cmp dword [0x1802bde58], 0xffffffff
jne 0x18002219a
mov ecx, 0x3300df68
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bdb10], rcx
lea rcx, [0x1802bde58]
call fcn.1800f8714
mov r8, rdi
call fcn.180052260
mov rdi, rax
test rax, rax
je 0x180022217
mov ecx, dword [rsi + r15]
cmp dword [0x1802be06c], ecx
jle 0x1800221eb
lea rcx, [0x1802be06c]
call fcn.1800f8774
cmp dword [0x1802be06c], 0xffffffff
jne 0x1800221eb
mov ecx, 0x33ac3a8f
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bdf10], rcx
lea rcx, [0x1802be06c]
call fcn.1800f8714
mov rdx, qword [0x1802bdf10]
lea r8, [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x38], 0
call fcn.1800521c0
jmp 0x180022228
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x58], 0
mov rax, qword gs:[0x58]
mov r13, qword [rax + rbx*8]
mov eax, dword [r15 + r13]
cmp dword [0x1802bd974], eax
jle 0x180022273
lea rcx, [0x1802bd974]
call fcn.1800f8774
cmp dword [0x1802bd974], 0xffffffff
jne 0x180022273
mov ecx, 0xf7ce809e
call fcn.1800081c0
lea rcx, [0x1802bd974]
mov qword [0x1802bdec0], rax
call fcn.1800f8714
mov rax, qword [0x1802bdec0]
mov rcx, qword [rax + 0xb8]
movsd xmm0, qword [rcx]
mov eax, dword [rcx + 8]
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], eax
call fcn.180017060
mov rbx, rax
test rax, rax
jne 0x1800222b0
mov qword [rsp + 0x64], rax
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x60]
jmp 0x18002235e
mov eax, dword [r15 + r13]
cmp dword [0x1802bdb3c], eax
jle 0x1800222ee
lea rcx, [0x1802bdb3c]
call fcn.1800f8774
cmp dword [0x1802bdb3c], 0xffffffff
jne 0x1800222ee
mov ecx, 0x6d5c7dd2
call fcn.18000c310
lea rcx, [0x1802bdb3c]
mov qword [0x1802bdfd0], rax
call fcn.1800f8714
mov rax, qword [0x1802bdfd0]
mov qword [rsp + 0x64], 0
mov dword [rsp + 0x60], 0
mov rbx, qword [rbx + rax]
test rbx, rbx
jne 0x180022316
lea rax, [rsp + 0x60]
jmp 0x18002235e
mov eax, dword [r15 + r13]
cmp dword [0x1802bda90], eax
jle 0x180022354
lea rcx, [0x1802bda90]
call fcn.1800f8774
cmp dword [0x1802bda90], 0xffffffff
jne 0x180022354
mov ecx, 0x7cd71351
call fcn.18000c310
lea rcx, [0x1802bda90]
mov qword [0x1802bdad0], rax
call fcn.1800f8714
mov rax, qword [0x1802bdad0]
add rax, rbx
movss xmm0, dword [rsp + 0x58]
movss xmm1, dword [rsp + 0x54]
movss xmm2, dword [rbp - 0x7c]
addss xmm2, dword [rax + 4]
movss xmm3, dword [rbp - 0x68]
movss xmm4, dword [rbp - 0x6c]
mulss xmm0, xmm2
mulss xmm1, xmm2
addss xmm3, xmm0
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm2
addss xmm4, xmm1
addss xmm0, dword [rbp - 0x70]
movss dword [rbp + 0x160], xmm3
movss dword [rsp + 0x58], xmm3
movss dword [rbp + 0x168], xmm4
movss dword [rsp + 0x54], xmm4
movss dword [rbp + 0x158], xmm0
movss dword [rsp + 0x50], xmm0
call fcn.180017060
mov rdi, qword [0x180296ad8]
mov r14, rax
movabs rsi, 0x7fffffff0000
lea r12, [rdi + 0xb8]
cmp r12, 0x40000
jbe 0x1800224f0
lea rcx, [r12 + 8]
cmp rcx, rsi
jae 0x1800224f0
mov rcx, qword [r12]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800224f0
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800224f0
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800224f0
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800224f0
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800224f0
mov eax, dword [r15 + r13]
cmp dword [0x1802bdaa8], eax
jle 0x180022495
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x180022495
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x30]
mov r9, rbx
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x38], 0
call fcn.1800521c0
movss xmm0, dword [rsp + 0x40]
mov rcx, r12
movss xmm1, dword [rsp + 0x44]
addss xmm1, dword [0x1801237a0]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rsp + 0x48]
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x64], xmm1
jmp 0x18002252d
movss dword [rsp + 0x60], xmm9
xorps xmm0, xmm0
movss dword [rsp + 0x68], xmm9
mov rcx, r12
addss xmm0, dword [0x1801237a0]
movss dword [rsp + 0x64], xmm0
cmp r12, 0x40000
jbe 0x1800225f9
lea rax, [r12 + 8]
cmp rax, rsi
jae 0x1800225f9
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800225f9
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800225f9
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800225f9
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800225f9
mov rbx, qword [rcx]
test rbx, rbx
je 0x1800225f9
mov eax, dword [r15 + r13]
cmp dword [0x1802bdaa8], eax
jle 0x1800225bb
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x1800225bb
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x30]
mov r9, rbx
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x38], 0
call fcn.1800521c0
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
movss xmm2, dword [rsp + 0x40]
jmp 0x180022602
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [rbp - 0x70], xmm2
movss dword [rbp - 0x68], xmm1
addss xmm0, dword [0x180123848]
movss dword [rbp - 0x6c], xmm0
test rdi, rdi
jne 0x180022623
mov rbx, r15
jmp 0x180022677
mov eax, dword [r15 + r13]
cmp dword [0x1802bde58], eax
jle 0x180022664
lea rcx, [0x1802bde58]
call fcn.1800f8774
cmp dword [0x1802bde58], 0xffffffff
jne 0x180022664
mov ecx, 0x3300df68
call fcn.180009330
lea rcx, [0x1802bde58]
mov rdx, qword [rax]
mov qword [0x1802bdb10], rdx
call fcn.1800f8714
mov r8, rdi
call fcn.180052260
mov rdi, rax
mov rbx, r15
test rax, rax
jne 0x180022688
mov qword [rbp], 0
mov dword [rbp + 8], 0
jmp 0x1800226f2
mov eax, dword [r15 + r13]
cmp dword [0x1802bdaa8], eax
jle 0x1800226c9
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x1800226c9
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x30], 0
lea rcx, [rbp]
mov dword [rsp + 0x38], 0
call fcn.1800521c0
movsd xmm0, qword [rbp]
mov eax, dword [rbp + 8]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
call fcn.180017060
lea rcx, [rax + 0xb8]
cmp rcx, 0x40000
jbe 0x1800227f2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800227f2
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800227f2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800227f2
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800227f2
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x1800227f2
mov rdi, qword [rcx]
test rdi, rdi
je 0x1800227f2
mov eax, dword [rbx + r13]
cmp dword [0x1802bdaa8], eax
jle 0x1800227b8
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x1800227b8
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x40]
mov r9, rdi
mov qword [rsp + 0x40], 0
lea rcx, [rbp - 0x60]
mov dword [rsp + 0x48], 0
call fcn.1800521c0
movss xmm0, dword [rbp - 0x58]
movss xmm1, dword [rbp - 0x60]
movss xmm6, dword [rbp - 0x5c]
jmp 0x1800227fb
xorps xmm1, xmm1
xorps xmm6, xmm6
xorps xmm0, xmm0
cmp byte [0x180296b41], 0
subss xmm6, dword [rsp + 0x34]
subss xmm1, dword [rsp + 0x30]
subss xmm0, dword [rsp + 0x38]
mulss xmm6, xmm6
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm6, xmm1
addss xmm6, xmm0
movss dword [rbp + 0x150], xmm6
je 0x1800228a8
mov ecx, dword [0x180296c38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800228a8
mov rax, qword [0x180296ae0]
lea rdx, [rbp - 0x80]
add rax, 0x734a20
mov qword [rsp + 0x20], 1
comiss xmm6, dword [0x180123dfc]
mov r8d, 0x59a12301
xorps xmm3, xmm3
jae 0x18002289c
movsd xmm0, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x68]
mov dword [rbp - 0x78], ecx
mov ecx, dword [rsp + 0x58]
movsd qword [rbp - 0x80], xmm0
movsd xmm0, qword [rsp + 0x50]
mov dword [rbp - 0x28], ecx
lea rcx, [rbp - 0x30]
movsd qword [rbp - 0x30], xmm0
call rax
jmp 0x1800229d6
movsd xmm0, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x68]
jmp 0x180022877
cmp r12, 0x40000
jbe 0x180022976
lea rax, [r12 + 8]
cmp rax, rsi
jae 0x180022976
mov rcx, qword [r12]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180022976
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180022976
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180022976
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x180022976
mov rdi, qword [rcx]
test rdi, rdi
je 0x180022976
mov eax, dword [r15 + r13]
cmp dword [0x1802bdaa8], eax
jle 0x18002294a
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x18002294a
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rsp + 0x30]
mov r9, rdi
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x38], 0
call fcn.1800521c0
jmp 0x180022987
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
movsd xmm0, qword [rsp + 0x70]
lea rdx, [rbp - 0x80]
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x30]
mov r9, qword [0x180296ae0]
xorps xmm3, xmm3
movsd qword [rbp - 0x80], xmm0
add r9, 0x734a20
movsd xmm0, qword [rsp + 0x50]
mov r8d, 0x59a12301
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x58]
movsd qword [rbp - 0x30], xmm0
mov dword [rbp - 0x28], eax
mov qword [rsp + 0x20], 1
call r9
test al, al
je 0x1800229f4
mov qword [0x1802bd378], 0
mov dword [0x1802bd380], 0
jmp 0x180023206
movaps xmmword [rsp + 0x1e0], xmm7
xor edi, edi
movaps xmmword [rsp + 0x1d0], xmm8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1a0], xmm11
movaps xmmword [rsp + 0x190], xmm12
movaps xmmword [rsp + 0x180], xmm13
movaps xmmword [rsp + 0x170], xmm14
movaps xmmword [rsp + 0x160], xmm15
mov qword [rbp - 0x40], rdi
movdqu xmmword [rbp - 0x50], xmm0
test r14, r14
jne 0x180022a53
mov rbx, r15
jmp 0x180022aa1
mov eax, dword [rbx + r13]
cmp dword [0x1802bdb3c], eax
jle 0x180022a91
lea rcx, [0x1802bdb3c]
call fcn.1800f8774
cmp dword [0x1802bdb3c], 0xffffffff
jne 0x180022a91
mov ecx, 0x6d5c7dd2
call fcn.18000c310
lea rcx, [0x1802bdb3c]
mov qword [0x1802bdfd0], rax
call fcn.1800f8714
mov rax, qword [0x1802bdfd0]
mov rsi, qword [rax + r14]
test rsi, rsi
jne 0x180022ab2
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], edi
test r14, r14
jne 0x180022b00
jmp 0x180022b4e
mov eax, dword [rbx + r13]
cmp dword [0x1802be030], eax
jle 0x180022af3
lea rcx, [0x1802be030]
call fcn.1800f8774
cmp dword [0x1802be030], 0xffffffff
jne 0x180022af3
mov ecx, 0x3fc4366
call fcn.180009330
lea rcx, [0x1802be030]
mov r8, qword [rax]
mov qword [0x1802be080], r8
call fcn.1800f8714
mov rdx, rsi
lea rcx, [rbp + 0x10]
call qword [0x1802be080]
mov eax, dword [rbx + r13]
cmp dword [0x1802bdb3c], eax
jle 0x180022b3e
lea rcx, [0x1802bdb3c]
call fcn.1800f8774
cmp dword [0x1802bdb3c], 0xffffffff
jne 0x180022b3e
mov ecx, 0x6d5c7dd2
call fcn.18000c310
lea rcx, [0x1802bdb3c]
mov qword [0x1802bdfd0], rax
call fcn.1800f8714
mov rax, qword [0x1802bdfd0]
mov rsi, qword [rax + r14]
test rsi, rsi
jne 0x180022b63
xorps xmm5, xmm5
mov dword [rbp - 0xc], edi
xorps xmm6, xmm6
movss dword [rbp - 0x10], xmm5
movss dword [rbp - 8], xmm6
jmp 0x180022bbb
mov eax, dword [rbx + r13]
cmp dword [0x1802be018], eax
jle 0x180022ba4
lea rcx, [0x1802be018]
call fcn.1800f8774
cmp dword [0x1802be018], 0xffffffff
jne 0x180022ba4
mov ecx, 0x28985755
call fcn.180009330
lea rcx, [0x1802be018]
mov r8, qword [rax]
mov qword [0x1802be110], r8
call fcn.1800f8714
mov rdx, rsi
lea rcx, [rbp - 0x10]
call qword [0x1802be110]
movss xmm5, dword [rbp - 0x10]
movss xmm6, dword [rbp - 8]
movsd xmm0, qword [rbp + 0x150]
mov r14d, edi
comisd xmm0, xmmword [0x180123b40]
mov esi, edi
mov rbx, qword [rbp - 0x48]
movss xmm15, dword [0x1801237e4]
setb r14b
inc r14d
movsd xmm14, qword [0x180123b50]
xorps xmm4, xmm4
movsd xmm7, qword [0x180123ed0]
movss xmm3, dword [rbp + 0x18]
movss xmm2, dword [rbp + 0x10]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movaps xmm0, xmm3
mulsd xmm3, xmm14
mulsd xmm0, xmm7
movaps xmm1, xmm2
mulsd xmm1, xmm7
mulsd xmm2, xmm14
cvtpd2ps xmm8, xmm0
cvtps2pd xmm0, xmm6
xorps xmm6, xmmword [0x1801245f0]
mulsd xmm0, xmm14
cvtpd2ps xmm7, xmm1
cvtpd2ps xmm13, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
cvtps2pd xmm1, xmm5
xorps xmm5, xmmword [0x1801245f0]
mulsd xmm0, xmm14
mulsd xmm1, xmm14
cvtsi2ss xmm4, esi
cvtpd2ps xmm14, xmm0
mulss xmm4, dword [0x1801236b4]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
comiss xmm4, xmm9
mulsd xmm0, qword [0x180123b50]
cvtpd2ps xmm11, xmm3
cvtpd2ps xmm6, xmm0
cvtpd2ps xmm10, xmm2
cvtpd2ps xmm12, xmm1
jae 0x180022c97
movaps xmm4, xmm9
jmp 0x180022ca1
comiss xmm4, xmm15
jbe 0x180022ca1
movaps xmm4, xmm15
mulss xmm4, dword [0x180123980]
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
movss dword [rsp + 0x74], xmm4
cmp rbx, rdi
je 0x180022cdf
movsd xmm0, qword [rsp + 0x70]
movsd qword [rbx], xmm0
mov eax, dword [rsp + 0x78]
mov dword [rbx + 8], eax
add rbx, 0xc
mov qword [rbp - 0x48], rbx
jmp 0x180022cf8
lea r8, [rsp + 0x70]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180053150
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
movss dword [rbp - 0x20], xmm7
movss dword [rbp - 0x18], xmm8
mov dword [rbp - 0x1c], 0
cmp rbx, rdi
je 0x180022d28
movsd xmm0, qword [rbp - 0x20]
movsd qword [rbx], xmm0
mov eax, dword [rbp - 0x18]
mov dword [rbx + 8], eax
add rbx, 0xc
mov qword [rbp - 0x48], rbx
jmp 0x180022d40
lea r8, [rbp - 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180053150
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
movss dword [rbp - 0x60], xmm10
movss dword [rbp - 0x58], xmm11
mov dword [rbp - 0x5c], 0
cmp rbx, rdi
je 0x180022d71
movsd xmm0, qword [rbp - 0x60]
movsd qword [rbx], xmm0
mov eax, dword [rbp - 0x58]
mov dword [rbx + 8], eax
add rbx, 0xc
mov qword [rbp - 0x48], rbx
jmp 0x180022d89
lea r8, [rbp - 0x60]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180053150
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
movss dword [rsp + 0x40], xmm12
movss dword [rsp + 0x48], xmm13
mov dword [rsp + 0x44], 0
cmp rbx, rdi
je 0x180022dbf
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbx], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rbx + 8], eax
add rbx, 0xc
mov qword [rbp - 0x48], rbx
jmp 0x180022dd8
lea r8, [rsp + 0x40]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180053150
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x38], xmm14
mov dword [rsp + 0x34], 0
cmp rbx, rdi
je 0x180022e0d
movsd xmm0, qword [rsp + 0x30]
movsd qword [rbx], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rbx + 8], eax
add rbx, 0xc
mov qword [rbp - 0x48], rbx
jmp 0x180022e26
lea r8, [rsp + 0x30]
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180053150
mov rdi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
add esi, r14d
cmp esi, 5
jge 0x180022e3d
movss xmm6, dword [rbp - 8]
movss xmm5, dword [rbp - 0x10]
jmp 0x180022be4
mov r15, qword [rbp - 0x50]
mov r14, r15
cmp r15, rbx
je 0x18002311e
movss xmm13, dword [rbp + 0x150]
movss xmm14, dword [0x180123dfc]
movss xmm15, dword [rbp + 0x158]
nop dword [rax + rax]
movsd xmm0, qword [r14]
lea rdx, [rbp + 0x20]
mov eax, dword [r14 + 8]
movaps xmm10, xmm0
mov ecx, dword [rsp + 0x58]
movaps xmm3, xmm9
mov dword [rbp - 0x58], eax
mov r8d, 0x59a12301
mov rax, qword [0x180296ae0]
movss xmm11, dword [rbp - 0x58]
add rax, 0x734a20
movsd qword [rbp - 0x60], xmm0
movaps xmm6, xmm11
addss xmm6, dword [rbp + 0x160]
movsd xmm0, qword [rsp + 0x50]
movss xmm12, dword [rbp - 0x60]
mov dword [rbp + 0x28], ecx
movaps xmm8, xmm12
addss xmm8, xmm15
shufps xmm10, xmm10, 0x55
movaps xmm7, xmm10
movss dword [rsp + 0x48], xmm6
addss xmm7, dword [rbp + 0x168]
lea rcx, [rbp - 0x20]
movss dword [rbp - 0x18], xmm6
movsd qword [rbp + 0x20], xmm0
movss dword [rsp + 0x40], xmm8
movss dword [rbp - 0x20], xmm8
movss dword [rsp + 0x44], xmm7
movss dword [rbp - 0x1c], xmm7
mov qword [rsp + 0x20], 1
call rax
test al, al
je 0x180023111
cmp byte [0x180296b41], 0
je 0x180022fca
mov ecx, dword [0x180296c38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180022fca
mov rax, qword [0x180296ae0]
movaps xmm3, xmm9
add rax, 0x734a20
mov qword [rsp + 0x20], 1
comiss xmm13, xmm14
mov r8d, 0x59a12301
jae 0x180022f99
mov ecx, dword [rbp - 0x68]
lea rdx, [rsp + 0x70]
movsd xmm0, qword [rbp - 0x70]
mov dword [rbp + 0x38], ecx
lea rcx, [rbp + 0x30]
movss dword [rsp + 0x70], xmm8
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x78], xmm6
movsd qword [rbp + 0x30], xmm0
call rax
jmp 0x180023109
mov ecx, dword [rsp + 0x68]
lea rdx, [rbp - 0x30]
movsd xmm0, qword [rsp + 0x60]
mov dword [rbp + 0x48], ecx
lea rcx, [rbp + 0x40]
movss dword [rbp - 0x30], xmm8
movss dword [rbp - 0x2c], xmm7
movss dword [rbp - 0x28], xmm6
movsd qword [rbp + 0x40], xmm0
call rax
jmp 0x180023109
cmp r12, 0x40000
jbe 0x1800230a8
lea rax, [r12 + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x1800230a8
mov rcx, qword [r12]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x1800230a8
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800230a8
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x1800230a8
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800230a8
mov rsi, qword [rcx]
test rsi, rsi
je 0x1800230a8
mov eax, 4
mov eax, dword [rax + r13]
cmp dword [0x1802bdaa8], eax
jle 0x18002307f
lea rcx, [0x1802bdaa8]
call fcn.1800f8774
cmp dword [0x1802bdaa8], 0xffffffff
jne 0x18002307f
mov ecx, 0x56e64b7d
call fcn.180009330
mov rcx, qword [rax]
mov qword [0x1802bd9b0], rcx
lea rcx, [0x1802bdaa8]
call fcn.1800f8714
mov rdx, qword [0x1802bd9b0]
lea r8, [rbp - 0x80]
mov r9, rsi
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x30]
mov dword [rbp - 0x78], 0
call fcn.1800521c0
jmp 0x1800230b9
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
movsd xmm0, qword [rsp + 0x40]
lea rdx, [rbp + 0x50]
mov eax, dword [rsp + 0x48]
lea rcx, [rbp - 0x50]
mov r9, qword [0x180296ae0]
movaps xmm3, xmm9
movsd qword [rbp + 0x50], xmm0
add r9, 0x734a20
movsd xmm0, qword [rsp + 0x30]
mov r8d, 0x59a12301
mov dword [rbp + 0x58], eax
mov eax, dword [rsp + 0x38]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
mov qword [rsp + 0x20], 1
call r9
test al, al
jne 0x1800231c8
add r14, 0xc
cmp r14, rbx
jne 0x180022e70
mov qword [0x1802bd3c0], 0
mov dword [0x1802bd3c8], 0
movaps xmm15, xmmword [rsp + 0x160]
movaps xmm14, xmmword [rsp + 0x170]
movaps xmm13, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
test r15, r15
je 0x180023206
sub rdi, r15
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 2
imul rdi, rax
mov rax, r15
lea rdx, [rdi + rdi*2]
shl rdx, 2
cmp rdx, 0x1000
jb 0x1800231fe
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800231fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
ucomiss xmm12, xmm9
jne 0x1800231de
ucomiss xmm10, xmm9
jne 0x1800231de
ucomiss xmm11, xmm9
je 0x18002311e
movss dword [0x1802bd3c0], xmm12
movss dword [0x1802bd3c4], xmm10
movss dword [0x1802bd3c8], xmm11
jmp 0x180023133
mov rcx, r15
call fcn.1800f8c40
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x1c0]
add rsp, 0x208
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret