Function at 0x180048100
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
lea rbp, [rax - 0x2f8]
sub rsp, 0x3f0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x180090010]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov rax, qword [0x180090c78]
cmp byte [rax + 0x14c], 0
je 0x1800483f2
cmp byte [0x180084ef9], 0
movups xmm0, xmmword [0x180084ee0]
movzx eax, word [0x180084ef8]
movsd xmm1, qword [0x180084ef0]
movups xmmword [rbp + 0x50], xmm0
mov word [rbp + 0x68], ax
movsd qword [rbp + 0x60], xmm1
je 0x180048324
xor r8d, r8d
cmp dword [0x180090018], 2
jl 0x1800482e1
movdqa xmm0, xmmword [0x180085dd0]
lea rcx, [rbp + 0x54]
movdqa xmm5, xmmword [0x180085d20]
mov eax, 0x1a
movdqa xmm4, xmmword [0x180086240]
movdqa xmm7, xmmword [0x180085dc0]
movdqa xmmword [rbp - 0x60], xmm0
mov edx, dword [rbp - 0x60]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
pxor xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x180085d80]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x1800481d0
cmp r8d, 0x1a
jge 0x180048324
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8b6e9c61
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x7c
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0x1a
jl 0x1800482f0
xor r9d, r9d
lea r8, [rbp + 0x50]
xor edx, edx
call fcn.18005bef0
test rax, rax
je 0x1800483c8
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x180090bd0], 1
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18004837a
imul rax, rax, 0x64
jmp 0x180048398
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
movabs rcx, 0x7ffffffffff0bdbf
cmp rax, rcx
jge 0x1800483af
add rax, 0xf4240
jmp 0x1800483b9
movabs rax, 0x7fffffffffffffff
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.1800490b0
cmp byte [0x180090bd0], 0
je 0x1800483f2
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x180090bd0], 0
mov rax, qword [0x180090c78]
cmp byte [rax + 0x134], 0
je 0x180049080
mov rax, qword [0x180090d60]
mov qword [rsp + 0x408], rdi
mov qword [rsp + 0x410], r14
movaps xmmword [rsp + 0x3b0], xmm9
mov rcx, qword [rax + 0x10]
movaps xmmword [rsp + 0x380], xmm12
mov rax, qword [rcx]
test rax, rax
jne 0x180048440
xor r14d, r14d
jmp 0x180048444
mov r14, qword [rax + 8]
mov qword [rsp + 0x400], rsi
call fcn.180047da0
movss xmm12, dword [0x180085af8]
mov rdi, rax
mov rax, qword [0x180090c78]
xorps xmm8, xmm8
movss xmm9, dword [0x180085aac]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
cmp byte [rax + 0x13d], 0
je 0x18004856e
mov rcx, qword [0x180090b60]
lea r8, str.Foreground
mov rdx, qword [rcx + 0x4890]
mov rcx, qword [rdx]
mov edx, 1
call fcn.18000a100
movaps xmm0, xmmword [0x180086100]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
mov rbx, rax
call fcn.180006970
mov rcx, qword [0x180090d38]
mov esi, eax
mov rax, qword [0x180090c78]
movss xmm0, dword [rcx]
movss xmm1, dword [rcx + 4]
movd xmm2, dword [rax + 0x160]
mulss xmm0, xmm9
mulss xmm1, xmm9
movss dword [rsp + 0x50], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x54], xmm1
test esi, 0xff000000
je 0x180048575
comiss xmm9, xmm2
ja 0x180048575
movss xmm0, dword [0x180085b70]
subss xmm2, xmm9
mov dword [rsp + 0x28], 0x63
lea rdx, [rsp + 0x50]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
mov rcx, rbx
call fcn.1800284a0
mov r8d, dword [rbx + 0x78]
mov r9d, esi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
movss dword [rsp + 0x28], xmm12
mov dword [rsp + 0x20], 1
call fcn.180026a40
mov dword [rbx + 0x78], 0
mov rax, qword [0x180090c78]
mov rcx, qword [0x180090d38]
test rdi, rdi
je 0x180049056
cmp byte [rax + 0x135], 0
movaps xmmword [rsp + 0x3a0], xmm10
movaps xmmword [rsp + 0x390], xmm11
movsd xmm11, qword [0x180085b30]
jne 0x1800488dc
lea rcx, str.FiveM_b2802_GTAProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x18004874c
lea rcx, str.FiveM_b2802_GameProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x18004874c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x438]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x48], eax
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x430]
movsd qword [rbp - 0x50], xmm0
movups xmmword [rbp], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm0, dword [rbp - 0x80]
mov rcx, qword [0x180090c78]
movss xmm1, dword [rbp - 0x7c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x78]
mov ecx, dword [rcx + 0x15c]
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm0
sub ecx, 1
je 0x180048726
sub ecx, 1
je 0x180048700
sub ecx, 1
je 0x1800486dd
cmp ecx, 1
jne 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x490]
movups xmm1, xmmword [rdi + 0x70]
lea r8, [rbp + 0x10]
movups xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x40], xmm1
lea rdx, [rsp + 0x68]
movsd qword [rsp + 0x68], xmm0
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x70], eax
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm0, dword [rsp + 0x58]
movss xmm1, dword [rsp + 0x5c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x60]
jmp 0x180048db9
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x480]
jmp 0x18004868f
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4b8]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x4b0]
jmp 0x18004868f
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4a8]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x4a0]
jmp 0x18004868f
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp + 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x48], eax
movups xmmword [rbp + 0x10], xmm0
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rbp - 0x50], xmm0
movups xmmword [rbp + 0x40], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm0, dword [rbp - 0x80]
mov rcx, qword [0x180090c78]
movss xmm1, dword [rbp - 0x7c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x78]
mov ecx, dword [rcx + 0x15c]
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm0
sub ecx, 1
je 0x18004889f
sub ecx, 1
je 0x180048862
sub ecx, 1
je 0x180048825
cmp ecx, 1
jne 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x468]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x460]
movups xmmword [rbp], xmm1
jmp 0x1800486a6
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x478]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x470]
movups xmmword [rbp], xmm1
jmp 0x1800486a6
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x490]
movups xmmword [rbp], xmm1
jmp 0x1800486a6
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x618]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x610]
movups xmmword [rbp], xmm1
jmp 0x1800486a6
movss xmm7, dword [rcx]
lea rdx, [rbp - 0x70]
movss xmm6, dword [rcx + 4]
xor r9d, r9d
mov r8, rdi
mulss xmm7, xmm9
mulss xmm6, xmm9
call fcn.180042da0
mov r9d, 7
lea rdx, [rbp - 0x40]
mov r8, rdi
call fcn.180042da0
mov r9d, 8
lea rdx, [rbp + 0x110]
mov r8, rdi
call fcn.180042da0
mov r9d, 1
lea rdx, [rbp + 0x118]
mov r8, rdi
call fcn.180042da0
mov r9d, 2
lea rdx, [rbp + 0x120]
mov r8, rdi
call fcn.180042da0
mov r9d, 6
lea rdx, [rsp + 0x68]
mov r8, rdi
call fcn.180042da0
mov r9d, 5
lea rdx, [rbp - 0x50]
mov r8, rdi
call fcn.180042da0
movss xmm0, dword [rbp - 0x6c]
cvtps2pd xmm1, xmm6
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x70]
cvtps2pd xmm1, xmm7
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x1800489c3
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x1800489cb
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movss xmm7, dword [0x180085b98]
comiss xmm7, xmm6
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x438]
lea r8, [rbp + 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x70]
mov dword [rbp + 0x78], eax
movups xmmword [rbp + 0x10], xmm0
lea rcx, [rbp + 0xc0]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x30], xmm0
movsd xmm0, qword [rdi + 0x430]
movsd qword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x40], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0xc0]
movss xmm1, dword [rbp + 0xc4]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0xc8]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4a8]
lea r8, [rbp - 0x30]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x80]
mov dword [rbp + 0x88], eax
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp + 0xd0]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x10], xmm0
movsd xmm0, qword [rdi + 0x4a0]
movsd qword [rbp + 0x80], xmm0
movups xmmword [rbp], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0xd0]
movss xmm1, dword [rbp + 0xd4]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0xd8]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4b8]
lea r8, [rbp + 0x130]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x90]
mov dword [rbp + 0x98], eax
movups xmmword [rbp + 0x130], xmm0
lea rcx, [rbp + 0xe0]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x140], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x150], xmm0
movsd xmm0, qword [rdi + 0x4b0]
movsd qword [rbp + 0x90], xmm0
movups xmmword [rbp + 0x160], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0xe0]
movss xmm1, dword [rbp + 0xe4]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0xe8]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x448]
lea r8, [rbp + 0x170]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0xa0]
mov dword [rbp + 0xa8], eax
movups xmmword [rbp + 0x170], xmm0
lea rcx, [rbp + 0xf0]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x180], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x190], xmm0
movsd xmm0, qword [rdi + 0x440]
movsd qword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0x1a0], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0xf0]
movss xmm1, dword [rbp + 0xf4]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0xf8]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x458]
lea r8, [rbp + 0x1b0]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb8], eax
movups xmmword [rbp + 0x1b0], xmm0
lea rcx, [rbp + 0x100]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x1c0], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x1d0], xmm0
movsd xmm0, qword [rdi + 0x450]
movsd qword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0x1e0], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0x100]
movss xmm1, dword [rbp + 0x104]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0x108]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
lea r8, [rbp + 0x1f0]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x60], eax
movups xmmword [rbp + 0x1f0], xmm0
lea rcx, [rbp + 0x50]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x200], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x210], xmm0
movsd xmm0, qword [rdi + 0x490]
movsd qword [rsp + 0x58], xmm0
movups xmmword [rbp + 0x220], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm0, dword [rbp + 0x50]
movss xmm1, dword [rbp + 0x54]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp + 0x58]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x44], xmm1
jbe 0x180048dc5
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp + 0x230]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x78], eax
movups xmmword [rbp + 0x230], xmm0
lea rcx, [rbp - 0x60]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x240], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x250], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rbp - 0x80], xmm0
movups xmmword [rbp + 0x260], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp - 0x5c]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rbp - 0x58]
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x48], xmm0
mov rax, qword [0x180090c78]
mov esi, dword [rsp + 0x48]
movsd xmm10, qword [rsp + 0x40]
cmp byte [rax + 0x144], 0
je 0x180048eed
mov rax, qword [0x180090d60]
lea r8, [rsp + 0x54]
mov rbx, qword [0x180090b60]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
movsd qword [rsp + 0x40], xmm10
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x50], 0
call qword [rax + 0x38]
movss xmm7, dword [rsp + 0x50]
mulss xmm7, dword [rbx + 0x10]
movss xmm6, dword [rsp + 0x54]
movaps xmm0, xmmword [0x180085f70]
mulss xmm6, dword [rbx + 0x14]
movaps xmmword [rbp - 0x60], xmm0
movss xmm0, dword [0x180085a80]
comiss xmm0, xmm7
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm6
ja 0x180048eed
movsd xmm0, qword [0x180085b10]
cvtps2pd xmm1, xmm6
comisd xmm0, xmm1
ja 0x180048eed
mov rax, qword [0x180090b60]
comiss xmm7, dword [rax + 0x10]
ja 0x180048eed
comiss xmm6, dword [rax + 0x14]
ja 0x180048eed
mov rax, qword [rax + 0x4890]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.18000a100
movaps xmm0, xmm7
movss dword [rbp - 0x40], xmm7
addss xmm0, dword [0x180085b60]
lea rcx, [rbp - 0x60]
movss dword [rbp - 0x3c], xmm6
mov r10, rax
movss dword [rbp - 0x70], xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x180085b60]
movss dword [rbp - 0x6c], xmm0
call fcn.180006970
movss dword [rsp + 0x30], xmm12
lea rdx, [rbp - 0x40]
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp - 0x70]
mov rcx, r10
call fcn.180028fa0
mov rax, qword [0x180090c78]
mov ecx, dword [rax + 0x164]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180049044
mov rax, qword [0x180090d38]
lea r8, [rsp + 0x54]
mov rbx, qword [0x180090b60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
movss xmm8, dword [rax]
movss xmm6, dword [rax + 4]
mov rax, qword [0x180090d60]
mulss xmm8, xmm9
mov dword [rbp - 0x78], esi
mulss xmm6, xmm9
mov qword [rsp + 0x50], 0
movsd qword [rbp - 0x80], xmm10
call qword [rax + 0x38]
movss xmm0, dword [rsp + 0x54]
movaps xmm1, xmm11
mulss xmm0, dword [rbx + 0x14]
movss xmm7, dword [rsp + 0x50]
mulss xmm7, dword [rbx + 0x10]
movss dword [rsp + 0x54], xmm0
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm6
movss dword [rsp + 0x50], xmm7
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movaps xmm1, xmm11
cvtps2pd xmm0, xmm7
cvtps2pd xmm2, xmm8
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x180048fbd
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x180048fc5
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov rax, qword [0x180090c78]
cmp byte [rax + 0x154], 0
je 0x18004900e
mov rax, qword [0x180090d60]
mov r9d, 0xe0c26c4
mov r8b, 1
mov byte [rsp + 0x20], 0
mov rdx, rdi
mov rcx, r14
mov r10, qword [rax + 0xd0]
call r10
test al, al
mov rax, qword [0x180090c78]
setne cl
mov byte [0x180090034], cl
jmp 0x180049015
movzx ecx, byte [0x180090034]
movd xmm0, dword [rax + 0x160]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x180049044
test cl, cl
je 0x180049044
cmp byte [rax + 0x13c], 0
jne 0x180049044
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm10
mov dword [rbp - 0x78], esi
call fcn.180042eb0
movaps xmm11, xmmword [rsp + 0x390]
movaps xmm10, xmmword [rsp + 0x3a0]
mov rsi, qword [rsp + 0x400]
mov r14, qword [rsp + 0x410]
mov rdi, qword [rsp + 0x408]
movaps xmm9, xmmword [rsp + 0x3b0]
movaps xmm12, xmmword [rsp + 0x380]
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.18005c260
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rbp
ret