Function at 0x180022e90
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x750
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
mov rax, qword [0x1801ab040]
xor rax, rsp
mov qword [rsp + 0x6a0], rax
xor edi, edi
cmp byte [0x1801dfb48], dil
je 0x180023e51
mov rax, qword [0x1801ad6e8]
mov rcx, qword [rax]
test rcx, rcx
je 0x180023e51
cmp qword [rcx + 8], rdi
je 0x180023e51
mov rax, qword [0x1801ad718]
mov rcx, qword [rax]
test rcx, rcx
je 0x180023e51
cmp qword [rcx + 0x18], rdi
je 0x180023e51
cmp qword [0x1801ad788], rdi
jne 0x180022fb0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x660], xmm0
mov qword [rsp + 0x670], rax
mov r8b, 1
lea rdx, [rsp + 0x660]
lea rcx, [0x1801adc58]
call fcn.1800a5800
mov rbx, qword [rsp + 0x668]
sub rbx, qword [rsp + 0x660]
sar rbx, 3
cmp rbx, 2
jbe 0x180022fa3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div rbx
mov rax, qword [rsp + 0x660]
mov rax, qword [rax + rdx*8 - 8]
mov qword [0x1801ad788], rax
lea rcx, [rsp + 0x660]
call fcn.18000dbb0
movzx ecx, byte [0x1801ad7a8]
movzx eax, byte [0x1801ad770]
test cl, cl
je 0x18002300e
test al, al
jne 0x18002300a
cmp qword [0x1801ad780], 0
je 0x18002300a
call fcn.18001d4b0
mov rdx, qword [0x1801ad780]
test rdx, rdx
je 0x180022ffb
mov rbx, qword [0x1801dfb30]
mov rcx, qword [0x1801ad6f8]
call fcn.18000e990
movsxd rdx, eax
mov cl, 1
call rbx
mov al, 1
mov byte [0x1801ad770], al
movzx ecx, byte [0x1801ad7a8]
test cl, cl
jne 0x180023044
test al, al
je 0x180023044
call fcn.18001d4b0
mov rdx, qword [0x1801ad780]
test rdx, rdx
je 0x18002303d
mov rbx, qword [0x1801dfb30]
mov rcx, qword [0x1801ad6f8]
call fcn.18000e990
movsxd rdx, eax
xor ecx, ecx
call rbx
mov byte [0x1801ad770], 0
cmp byte [0x1801ad79d], 0
je 0x18002308c
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rcx, qword [rax]
test rcx, rcx
je 0x18002308c
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x18002308c
mov eax, dword [0x1801ad6f0]
mov r8, qword [rax + rdx]
test r8, r8
je 0x18002308c
mov rax, qword [0x1801dfb20]
movsxd rcx, dword [rax + 0xb]
mov dword [rcx + r8], 0x42c80000
movzx ecx, byte [0x1801ad772]
movzx eax, byte [0x1801ad74f]
test cl, cl
je 0x180023105
test al, al
jne 0x180023101
movdqa xmm0, xmmword [0x180193d30]
movdqu xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x180193ae0]
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x50], 0x92bebc88
mov dword [rsp + 0x54], 0xf3f7f5b8
mov dword [rsp + 0x58], 0x969095c0
mov dword [rsp + 0x5c], 0x100cc81
lea rcx, [rsp + 0x30]
call fcn.180024030
lea rcx, [rsp + 0x30]
call fcn.18001d140
mov al, 1
mov byte [0x1801ad74f], al
movzx ecx, byte [0x1801ad772]
test cl, cl
jne 0x180023165
test al, al
je 0x180023165
movdqa xmm0, xmmword [0x180193d30]
movdqu xmmword [rsp + 0x1d0], xmm0
movdqa xmm1, xmmword [0x180193ae0]
movdqu xmmword [rsp + 0x1e0], xmm1
movdqa xmm0, xmmword [0x180192a40]
movdqu xmmword [rsp + 0x1f0], xmm0
mov byte [rsp + 0x200], 1
lea rcx, [rsp + 0x1d0]
call fcn.180023f40
lea rcx, [rsp + 0x1d0]
call fcn.18001d140
mov byte [0x1801ad74f], 0
cmp byte [0x1801ad79c], 0
je 0x1800231a4
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
jne 0x180023187
mov rax, rdi
jmp 0x18002318b
mov rax, qword [rax + 8]
mov byte [rax + 0x189], 1
cmp byte [0x1801ad74c], 0
jne 0x1800231d1
mov byte [0x1801ad74c], 1
jmp 0x1800231d1
cmp byte [0x1801ad74c], 0
je 0x1800231d1
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
jne 0x1800231c6
mov rax, rdi
jmp 0x1800231ca
mov rax, qword [rax + 8]
mov byte [rax + 0x189], 0
cmp byte [0x1801ad79e], 0
je 0x18002322f
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rcx, qword [rax]
test rcx, rcx
je 0x180023208
mov rax, qword [rcx + 8]
test rax, rax
je 0x180023208
movss xmm0, dword [0x18019274c]
comiss xmm0, dword [rax + 0x280]
jbe 0x18002322f
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rcx, qword [rax]
test rcx, rcx
je 0x18002322f
mov rax, qword [rcx + 8]
test rax, rax
je 0x18002322f
mov dword [rax + 0x280], 0x43480000
mov ecx, dword [0x1801ad77c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x18002324c
cmp byte [0x1801ad79f], 0
je 0x180023772
movdqa xmm0, xmmword [0x180193ed0]
movdqa xmmword [rsp + 0x210], xmm0
movdqa xmm1, xmmword [0x180193ff0]
movdqa xmmword [rsp + 0x220], xmm1
movdqa xmm0, xmmword [0x180193700]
movdqa xmmword [rsp + 0x230], xmm0
movdqa xmm1, xmmword [0x180193770]
movdqa xmmword [rsp + 0x240], xmm1
movdqa xmm0, xmmword [0x1801935d0]
movdqa xmmword [rsp + 0x250], xmm0
movdqa xmm1, xmmword [0x1801935a0]
movdqa xmmword [rsp + 0x260], xmm1
movdqa xmm0, xmmword [str.ppywyMiRwPMKA]
movdqa xmmword [rsp + 0x270], xmm0
movdqa xmm1, xmmword [0x180193680]
movdqa xmmword [rsp + 0x280], xmm1
movdqa xmm0, xmmword [0x180192ea0]
movdqa xmmword [rsp + 0x290], xmm0
movdqa xmm1, xmmword [0x1801930a0]
movdqa xmmword [rsp + 0x2a0], xmm1
movdqa xmm0, xmmword [str.RPS__9:]
movdqa xmmword [rsp + 0x2b0], xmm0
movdqa xmm1, xmmword [0x180192c70]
movdqa xmmword [rsp + 0x2c0], xmm1
movdqa xmm0, xmmword [0x180194480]
movdqa xmmword [rsp + 0x2d0], xmm0
movdqa xmm1, xmmword [0x180194370]
movdqa xmmword [rsp + 0x2e0], xmm1
movdqa xmm0, xmmword [0x180193ce0]
movdqa xmmword [rsp + 0x2f0], xmm0
movdqa xmm1, xmmword [0x180194080]
movdqa xmmword [rsp + 0x300], xmm1
movdqa xmm0, xmmword [0x180193780]
movdqa xmmword [rsp + 0x310], xmm0
movdqa xmm1, xmmword [0x180194470]
movdqa xmmword [rsp + 0x320], xmm1
movdqa xmm0, xmmword [0x1801942f0]
movdqa xmmword [rsp + 0x330], xmm0
movdqa xmm1, xmmword [0x180193760]
movdqa xmmword [rsp + 0x340], xmm1
movdqa xmm0, xmmword [0x180193570]
movdqa xmmword [rsp + 0x350], xmm0
movdqa xmm1, xmmword [0x1801935b0]
movdqa xmmword [rsp + 0x360], xmm1
movdqa xmm0, xmmword [str.0_b____f]
movdqa xmmword [rsp + 0x370], xmm0
movdqa xmm1, xmmword [0x180193490]
movdqa xmmword [rsp + 0x380], xmm1
movdqa xmm0, xmmword [0x180192f90]
movdqa xmmword [rsp + 0x390], xmm0
movdqa xmm1, xmmword [0x180193470]
movdqa xmmword [rsp + 0x3a0], xmm1
movdqa xmm0, xmmword [str.Qtw93_]
movdqa xmmword [rsp + 0x3b0], xmm0
movdqa xmm1, xmmword [0x180192a70]
movdqa xmmword [rsp + 0x3c0], xmm1
movdqa xmm0, xmmword [0x180194280]
movdqa xmmword [rsp + 0x3d0], xmm0
movdqa xmm1, xmmword [0x1801943d0]
movdqa xmmword [rsp + 0x3e0], xmm1
movdqa xmm0, xmmword [0x1801937a0]
movdqa xmmword [rsp + 0x3f0], xmm0
movdqa xmm1, xmmword [0x180194160]
movdqa xmmword [rsp + 0x400], xmm1
movdqa xmm0, xmmword [0x180194260]
movdqa xmmword [rsp + 0x410], xmm0
movdqa xmm1, xmmword [0x1801944f0]
movdqa xmmword [rsp + 0x420], xmm1
movdqa xmm0, xmmword [0x1801940d0]
movdqa xmmword [rsp + 0x430], xmm0
movdqa xmm1, xmmword [0x180194180]
movdqa xmmword [rsp + 0x440], xmm1
movdqa xmm0, xmmword [0x180193050]
movdqa xmmword [rsp + 0x450], xmm0
movdqa xmm1, xmmword [0x180193090]
movdqa xmmword [rsp + 0x460], xmm1
movdqa xmm0, xmmword [0x180192b70]
movdqa xmmword [rsp + 0x470], xmm0
movdqa xmm1, xmmword [0x180192bb0]
movdqa xmmword [rsp + 0x480], xmm1
movdqa xmm0, xmmword [0x180192eb0]
movdqa xmmword [rsp + 0x490], xmm0
movdqa xmm1, xmmword [0x180193020]
movdqa xmmword [rsp + 0x4a0], xmm1
movdqa xmm0, xmmword [str.6_58]
movdqa xmmword [rsp + 0x4b0], xmm0
movdqa xmm1, xmmword [0x180192aa0]
movdqa xmmword [rsp + 0x4c0], xmm1
movdqa xmm0, xmmword [0x180193d80]
movdqa xmmword [rsp + 0x4d0], xmm0
movdqa xmm1, xmmword [0x180194540]
movdqa xmmword [rsp + 0x4e0], xmm1
movdqa xmm0, xmmword [0x180193cd0]
movdqa xmmword [rsp + 0x4f0], xmm0
movdqa xmm1, xmmword [0x1801940b0]
movdqa xmmword [rsp + 0x500], xmm1
movdqa xmm0, xmmword [0x180193e30]
movdqa xmmword [rsp + 0x510], xmm0
movdqa xmm1, xmmword [0x180193d90]
movdqa xmmword [rsp + 0x520], xmm1
movdqa xmm0, xmmword [0x180194120]
movdqa xmmword [rsp + 0x530], xmm0
movdqa xmm1, xmmword [0x180194530]
movdqa xmmword [rsp + 0x540], xmm1
movdqa xmm0, xmmword [0x180193510]
movdqa xmmword [rsp + 0x550], xmm0
movdqa xmm1, xmmword [str.gnMcx_k0_2gf_s]
movdqa xmmword [rsp + 0x560], xmm1
movdqa xmm0, xmmword [0x180192fd0]
movdqa xmmword [rsp + 0x570], xmm0
movdqa xmm1, xmmword [0x1801932e0]
movdqa xmmword [rsp + 0x580], xmm1
movdqa xmm0, xmmword [0x180193370]
movdqa xmmword [rsp + 0x590], xmm0
movdqa xmm1, xmmword [0x180193040]
movdqa xmmword [rsp + 0x5a0], xmm1
movdqa xmm0, xmmword [0x180193070]
movdqa xmmword [rsp + 0x5b0], xmm0
movdqa xmm1, xmmword [0x1801934a0]
movdqa xmmword [rsp + 0x5c0], xmm1
movdqa xmm0, xmmword [0x180193ca0]
movdqa xmmword [rsp + 0x5d0], xmm0
movdqa xmm1, xmmword [0x180194360]
movdqa xmmword [rsp + 0x5e0], xmm1
movdqa xmm0, xmmword [0x180194130]
movdqa xmmword [rsp + 0x5f0], xmm0
movdqa xmm1, xmmword [0x1801939a0]
movdqa xmmword [rsp + 0x600], xmm1
movdqa xmm0, xmmword [0x1801942c0]
movdqa xmmword [rsp + 0x610], xmm0
movdqa xmm1, xmmword [0x180194520]
movdqa xmmword [rsp + 0x620], xmm1
movdqa xmm0, xmmword [0x1801937f0]
movdqa xmmword [rsp + 0x630], xmm0
mov dword [rsp + 0x640], 0x9b9388bf
mov dword [rsp + 0x644], 0x9b808483
mov dword [rsp + 0x648], 0xf8d8d8
mov byte [rsp + 0x64c], 1
lea rcx, [rsp + 0x210]
call fcn.180023f10
movzx edx, byte [rsp + 0x20]
lea rcx, [rsp + 0x678]
call fcn.18000ee80
nop
lea rax, [rsp + 0x210]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180023720
lea rdx, [rsp + 0x210]
lea rcx, [rsp + 0x678]
call fcn.18000eea0
nop
lea rcx, [rsp + 0x678]
call fcn.18000deb0
mov rcx, rax
call fcn.18001d140
cmp byte [0x1801ad79f], 0
je 0x180023765
mov byte [0x1801ad79f], 0
lea rcx, [rsp + 0x678]
call fcn.18000e640
movzx ecx, byte [0x1801ad771]
movzx eax, byte [0x1801ad74d]
test cl, cl
je 0x1800237fe
test al, al
jne 0x1800237fa
movdqa xmm0, xmmword [0x180193a10]
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x180194460]
movdqu xmmword [rsp + 0x70], xmm1
mov dword [rsp + 0x80], 0xa8b6b8be
mov dword [rsp + 0x84], 0xb9fef1b9
mov dword [rsp + 0x88], 0x86918d81
mov word [rsp + 0x8c], 0xcd
mov byte [rsp + 0x8e], 1
lea rcx, [rsp + 0x60]
call fcn.180024120
lea rcx, [rsp + 0x60]
call fcn.18001d140
mov al, 1
mov byte [0x1801ad74d], al
movzx ecx, byte [0x1801ad771]
test cl, cl
jne 0x180023870
test al, al
je 0x180023870
movdqa xmm0, xmmword [0x180193a10]
movdqu xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x180194460]
movdqu xmmword [rsp + 0xa0], xmm1
mov dword [rsp + 0xb0], 0xbeafabac
mov dword [rsp + 0xb4], 0xbeb8fdf0
mov dword [rsp + 0xb8], 0xca87928c
mov word [rsp + 0xbc], 0x100
lea rcx, [rsp + 0x90]
call fcn.180023fd0
lea rcx, [rsp + 0x90]
call fcn.18001d140
mov byte [0x1801ad74d], 0
mov ecx, dword [0x1801ad798]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800238a8
mov byte [rsp + 0x20], 0
lea rdx, [rsp + 0x20]
lea rcx, [0x1801ad768]
call fcn.1800245b0
cmp byte [0x1801ad773], 0
sete al
mov byte [0x1801ad773], al
jmp 0x1800238af
movzx eax, byte [0x1801ad773]
test al, al
je 0x180023d92
cmp byte [0x1801ad74e], 0
jne 0x1800239b7
movdqa xmm0, xmmword [0x180193d40]
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmm1, xmmword [0x180193e70]
movdqa xmmword [rsp + 0x130], xmm1
movdqa xmm0, xmmword [0x1801938e0]
movdqa xmmword [rsp + 0x140], xmm0
movdqa xmm1, xmmword [0x1801938b0]
movdqa xmmword [rsp + 0x150], xmm1
movdqa xmm0, xmmword [0x180192fb0]
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmm1, xmmword [0x180193600]
movdqa xmmword [rsp + 0x170], xmm1
movdqa xmm0, xmmword [0x1801932f0]
movdqa xmmword [rsp + 0x180], xmm0
movdqa xmm1, xmmword [0x1801932d0]
movdqa xmmword [rsp + 0x190], xmm1
movdqa xmm0, xmmword [0x180192ec0]
movdqa xmmword [rsp + 0x1a0], xmm0
movdqa xmm1, xmmword [0x180193000]
movdqa xmmword [rsp + 0x1b0], xmm1
mov dword [rsp + 0x1c0], 0x3f3f2970
mov dword [rsp + 0x1c4], 0x313b7d75
mov word [rsp + 0x1c8], 4
mov byte [rsp + 0x1ca], 1
lea rcx, [rsp + 0x120]
call fcn.180023ee0
lea rcx, [rsp + 0x120]
call fcn.18001d140
mov byte [0x1801ad74e], 1
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023a0b
mov rax, qword [rax + 8]
test rax, rax
je 0x180023a0b
movsd xmm0, qword [rax + 0x90]
movss xmm14, dword [rax + 0x98]
movaps xmm10, xmm0
shufps xmm10, xmm10, 0x55
movsd qword [rsp + 0x650], xmm0
movss xmm7, dword [rsp + 0x650]
movss dword [rsp + 0x28], xmm7
xorps xmm6, xmm6
jmp 0x180023a1c
xorps xmm6, xmm6
movss dword [rsp + 0x28], xmm6
xorps xmm10, xmm10
xorps xmm14, xmm14
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180023a59
mov eax, dword [0x1801ad774]
test eax, eax
jne 0x180023a50
movss xmm0, dword [0x1801ab0d8]
mulss xmm0, dword [0x180192688]
cvttss2si eax, xmm0
mov dword [0x1801ad774], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x180023a67
mov dword [0x1801ad774], edi
movss xmm0, dword [0x1801ab0e0]
movss dword [0x1801ab0d8], xmm0
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rcx, qword [rax]
test rcx, rcx
je 0x180023a9f
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x180023a9f
mov rbx, qword [rbx + 0x30]
test rbx, rbx
je 0x180023aa2
mov qword [rbx + 0x30], rdi
mov qword [rbx + 0x38], rdi
jmp 0x180023aa2
mov rbx, rdi
mov rdi, qword [0x1801ad710]
test rdi, rdi
je 0x180023ab3
mov rdi, qword [rdi]
jmp 0x180023ab8
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x180023d85
movss xmm8, dword [0x1801ab0d8]
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023b13
mov rax, qword [rax + 8]
test rax, rax
je 0x180023b13
movsd xmm0, qword [rax + 0x90]
movss xmm6, dword [rax + 0x98]
movaps xmm7, xmm0
shufps xmm7, xmm7, 0x55
movsd qword [rsp + 0x650], xmm0
movss xmm11, dword [rsp + 0x650]
jmp 0x180023b1a
xorps xmm11, xmm11
xorps xmm7, xmm7
movsd xmm0, qword [rdi + 0x3d0]
movsd qword [rsp + 0x650], xmm0
mov edi, dword [rdi + 0x3d8]
mov dword [rsp + 0x658], edi
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm12, dword [rsp + 0x650]
movss xmm9, dword [rsp + 0x654]
test ax, ax
jns 0x180023be8
movaps xmm0, xmm12
mulss xmm0, xmm8
addss xmm0, xmm11
movaps xmm11, xmm0
movaps xmm15, xmm9
mulss xmm15, xmm8
addss xmm15, xmm7
movaps xmm7, xmm15
movd xmm13, edi
movaps xmm0, xmm13
mulss xmm0, xmm8
addss xmm0, xmm6
movaps xmm6, xmm0
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023bd0
mov rax, qword [rax + 8]
test rax, rax
je 0x180023bd0
movss dword [rax + 0x90], xmm11
movss dword [rax + 0x94], xmm15
movss dword [rax + 0x98], xmm6
test rbx, rbx
je 0x180023bf2
movaps xmm0, xmm11
unpcklps xmm0, xmm7
movsd qword [rbx + 0x50], xmm0
movss dword [rbx + 0x58], xmm6
jmp 0x180023bf2
movss xmm13, dword [rsp + 0x658]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180023c76
movaps xmm0, xmm12
mulss xmm0, xmm8
subss xmm11, xmm0
movaps xmm0, xmm9
mulss xmm0, xmm8
subss xmm7, xmm0
movaps xmm0, xmm13
mulss xmm0, xmm8
subss xmm6, xmm0
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023c60
mov rax, qword [rax + 8]
test rax, rax
je 0x180023c60
movss dword [rax + 0x90], xmm11
movss dword [rax + 0x94], xmm7
movss dword [rax + 0x98], xmm6
test rbx, rbx
je 0x180023c76
movaps xmm0, xmm11
unpcklps xmm0, xmm7
movsd qword [rbx + 0x50], xmm0
movss dword [rbx + 0x58], xmm6
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm15, dword [rsp + 0x28]
test ax, ax
jns 0x180023d07
movaps xmm0, xmm9
mulss xmm0, xmm8
movaps xmm11, xmm15
subss xmm11, xmm0
movaps xmm6, xmm12
mulss xmm6, xmm8
addss xmm6, xmm10
movaps xmm7, xmm13
mulss xmm7, xmm8
addss xmm7, xmm14
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023cf1
mov rax, qword [rax + 8]
test rax, rax
je 0x180023cf1
movss dword [rax + 0x90], xmm11
movss dword [rax + 0x94], xmm6
movss dword [rax + 0x98], xmm7
test rbx, rbx
je 0x180023d07
movaps xmm0, xmm11
unpcklps xmm0, xmm6
movsd qword [rbx + 0x50], xmm0
movss dword [rbx + 0x58], xmm7
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180023d85
mulss xmm9, xmm8
addss xmm9, xmm15
mulss xmm12, xmm8
subss xmm10, xmm12
mulss xmm13, xmm8
subss xmm14, xmm13
call fcn.18001d4b0
mov rax, qword [0x1801ad6e8]
mov rax, qword [rax]
test rax, rax
je 0x180023d6d
mov rax, qword [rax + 8]
test rax, rax
je 0x180023d6d
movss dword [rax + 0x90], xmm9
movss dword [rax + 0x94], xmm10
movss dword [rax + 0x98], xmm14
test rbx, rbx
je 0x180023d85
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movsd qword [rbx + 0x50], xmm0
movss dword [rbx + 0x58], xmm14
cmp byte [0x1801ad773], 0
jne 0x180023e33
cmp byte [0x1801ad74e], 0
je 0x180023e33
movdqa xmm0, xmmword [0x180193d40]
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmm1, xmmword [0x180193e70]
movdqa xmmword [rsp + 0xd0], xmm1
movdqa xmm0, xmmword [0x180193800]
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmm1, xmmword [0x180193860]
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmm0, xmmword [0x180192fa0]
movdqa xmmword [rsp + 0x100], xmm0
mov dword [rsp + 0x110], 0x676b6f28
mov dword [rsp + 0x114], 0x27687f
mov byte [rsp + 0x118], 1
lea rcx, [rsp + 0xc0]
call fcn.180023eb0
lea rcx, [rsp + 0xc0]
call fcn.18001d140
mov byte [0x1801ad74e], 0
call fcn.1800c3b30
call fcn.18000c990
cmp byte [0x1801dfb48], 0
je 0x180023e4b
call fcn.18000c940
call fcn.1800c5870
nop
mov rcx, qword [rsp + 0x6a0]
xor rcx, rsp
call fcn.1800cac00
lea r11, [rsp + 0x750]
mov rbx, qword [r11 + 0x10]
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 rdi
ret