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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
lea rbp, [rax - 0x308]
sub rsp, 0x400
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x1800dd080]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov rax, qword [0x1800de880]
cmp byte [rax + 0x14c], 0
je 0x180047742
cmp byte [0x1800cefb9], 0
movups xmm0, xmmword [0x1800cefa0]
movzx eax, word [0x1800cefb8]
mov word [rbp + 0x60], ax
movups xmmword [rbp + 0x48], xmm0
movsd xmm0, qword [str._uzctf]
movsd qword [rbp + 0x58], xmm0
je 0x180047674
xor r8d, r8d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x18004762d
movdqa xmm0, xmmword [0x1800cfe60]
lea rcx, [rbp + 0x4c]
movdqa xmm5, xmmword [0x1800cfd20]
mov eax, reloc.WLDAP32.dll_Ordinal_26
movdqa xmm4, xmmword [0x1800d0060]
movdqa xmm7, xmmword [0x1800cfdd0]
movdqa xmmword [rbp - 0x60], xmm0
mov edx, dword [rbp - 0x60]
movd xmm6, eax
mov eax, Ordinal_33
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
andps xmm2, xmmword [0x1800cfd90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps 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
andps xmm2, xmmword [0x1800cfd90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180047520
cmp r8d, 0x1a
jge 0x180047674
movsxd rax, r8d
lea r9, [rbp + 0x48]
add r9, rax
nop word [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, 0x30
xor byte [r9 - 1], al
cmp r8d, 0x1a
jl 0x180047640
xor r9d, r9d
lea r8, [rbp + 0x48]
xor edx, edx
call fcn.180057a10
test rax, rax
je 0x180047718
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 [0x1800de1b0], 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 0x1800476ca
imul rax, rax, 0x64
jmp 0x1800476e8
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 0x1800476ff
add rax, 0xf4240
jmp 0x180047709
movabs rax, 0x7fffffffffffffff
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.180048560
cmp byte [0x1800de1b0], 0
je 0x180047742
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 [0x1800de1b0], 0
mov rax, qword [0x1800de880]
cmp byte [rax + 0x134], 0
je 0x180048522
mov rax, qword [0x1800de960]
mov qword [rsp + 0x418], rdi
movaps xmmword [rsp + 0x3c0], xmm9
movaps xmmword [rsp + 0x3b0], xmm10
mov rcx, qword [rax + 0x10]
movaps xmmword [rsp + 0x3a0], xmm11
movaps xmmword [rsp + 0x390], xmm12
movaps xmmword [rsp + 0x370], xmm14
mov rax, qword [rcx]
mov qword [rsp + 0x420], r14
test rax, rax
jne 0x1800477ab
xor r14d, r14d
jmp 0x1800477af
mov r14, qword [rax + 8]
mov qword [rsp + 0x410], rsi
call fcn.1800470e0
movss xmm14, dword [0x1800cfab8]
mov rdi, rax
mov rax, qword [0x1800de880]
xorps xmm12, xmm12
movss xmm11, dword [0x1800cfa70]
xorps xmm8, xmm8
xorps xmm9, xmm9
xorps xmm10, xmm10
cmp byte [rax + 0x13d], 0
je 0x1800478d4
mov rcx, qword [0x1800ddd40]
lea r8, str.Foreground
mov rdx, qword [rcx + 0x4890]
mov rcx, qword [rdx]
mov edx, 1
call fcn.180009f20
movaps xmm0, xmmword [0x1800cff50]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
mov rbx, rax
call fcn.180006b20
mov rcx, qword [0x1800de938]
mov esi, eax
mov rax, qword [0x1800de880]
movss xmm0, dword [rcx]
movss xmm1, dword [rcx + 4]
movd xmm2, dword [rax + 0x160]
mulss xmm0, xmm11
mulss xmm1, xmm11
movss dword [rsp + 0x50], xmm0
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x54], xmm1
test esi, 0xff000000
je 0x1800478db
comiss xmm11, xmm2
ja 0x1800478db
movss xmm0, dword [0x1800cfb34]
subss xmm2, xmm11
mov dword [rsp + 0x28], 0x63
lea rdx, [rsp + 0x50]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
mov rcx, rbx
call fcn.1800281f0
mov r8d, dword [rbx + 0x78]
mov r9d, esi
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
movss dword [rsp + 0x28], xmm14
mov dword [rsp + 0x20], 1
call fcn.180026770
mov dword [rbx + 0x78], 0
mov rax, qword [0x1800de880]
mov rcx, qword [0x1800de938]
test rdi, rdi
je 0x1800484dd
cmp byte [rax + 0x135], 0
movaps xmmword [rsp + 0x380], xmm13
movsd xmm13, qword [0x1800cfaf0]
jne 0x180047dd2
lea rcx, str.FiveM_b2802_GTAProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180047b90
lea rcx, str.FiveM_b2802_GameProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180047b90
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x438]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x30]
mov dword [rbp + 0x38], eax
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x430]
movsd qword [rbp + 0x30], xmm0
movups xmmword [rbp - 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
mov rcx, qword [0x1800de880]
movss xmm8, dword [rbp - 0x78]
movss xmm9, dword [rbp - 0x74]
movss xmm10, dword [rbp - 0x70]
mov ecx, dword [rcx + 0x15c]
sub ecx, 1
je 0x180047b53
sub ecx, 1
je 0x180047b16
sub ecx, 1
je 0x180047ad9
sub ecx, 1
je 0x180047a9c
cmp ecx, 1
jne 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x438]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x48], eax
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x430]
movsd qword [rsp + 0x40], xmm0
movups xmmword [rbp + 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4a8]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x48], eax
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rsp + 0x58]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x4a0]
movsd qword [rsp + 0x40], xmm0
movups xmmword [rbp + 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm8, dword [rsp + 0x58]
movss xmm9, dword [rsp + 0x5c]
movss xmm10, dword [rsp + 0x60]
addss xmm8, dword [rsp + 0x70]
addss xmm9, dword [rsp + 0x74]
addss xmm10, dword [rsp + 0x78]
jmp 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x490]
movups xmmword [rbp + 0x20], xmm1
jmp 0x180047d9e
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x480]
movups xmmword [rbp + 0x20], xmm1
jmp 0x180047d9e
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4b8]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x4b0]
movups xmmword [rbp + 0x20], xmm1
jmp 0x180047d9e
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4a8]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x4a0]
movups xmmword [rbp + 0x20], xmm1
jmp 0x180047d9e
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x30]
mov dword [rbp + 0x38], eax
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
mov rcx, qword [0x1800de880]
movss xmm8, dword [rbp - 0x78]
movss xmm9, dword [rbp - 0x74]
movss xmm10, dword [rbp - 0x70]
mov ecx, dword [rcx + 0x15c]
sub ecx, 1
je 0x180047d66
sub ecx, 1
je 0x180047d43
sub ecx, 1
je 0x180047d20
sub ecx, 1
je 0x180047cfd
cmp ecx, 1
jne 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x48], eax
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x48], eax
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x58]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm8, dword [rsp + 0x70]
movss xmm9, dword [rsp + 0x74]
movss xmm10, dword [rsp + 0x78]
addss xmm8, dword [rsp + 0x58]
addss xmm9, dword [rsp + 0x5c]
addss xmm10, dword [rsp + 0x60]
jmp 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x468]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x460]
jmp 0x180047d87
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x478]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x470]
jmp 0x180047d87
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x490]
jmp 0x180047d87
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x618]
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x610]
movups xmm1, xmmword [rdi + 0x70]
lea r8, [rbp - 0x50]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x20], xmm1
lea rdx, [rsp + 0x40]
movsd qword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x48], eax
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm8, dword [rsp + 0x58]
movss xmm9, dword [rsp + 0x5c]
movss xmm10, dword [rsp + 0x60]
jmp 0x18004824c
movss xmm7, dword [rcx]
lea rdx, [rbp - 0x80]
movss xmm6, dword [rcx + 4]
xor r9d, r9d
mov r8, rdi
mulss xmm7, xmm11
mulss xmm6, xmm11
call fcn.1800420f0
mov r9d, 7
lea rdx, [rbp + 0x40]
mov r8, rdi
call fcn.1800420f0
mov r9d, 8
lea rdx, [rbp + 0x108]
mov r8, rdi
call fcn.1800420f0
mov r9d, 1
lea rdx, [rbp + 0x110]
mov r8, rdi
call fcn.1800420f0
mov r9d, 2
lea rdx, [rbp + 0x118]
mov r8, rdi
call fcn.1800420f0
mov r9d, 6
lea rdx, [rsp + 0x40]
mov r8, rdi
call fcn.1800420f0
mov r9d, 5
lea rdx, [rbp + 0x30]
mov r8, rdi
call fcn.1800420f0
movss xmm0, dword [rbp - 0x7c]
cvtps2pd xmm1, xmm6
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x80]
cvtps2pd xmm1, xmm7
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm13
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 0x180047eb9
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x180047ec1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movss xmm7, dword [0x1800cfb5c]
comiss xmm7, xmm6
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x438]
lea r8, [rbp - 0x10]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x68]
mov dword [rbp + 0x70], eax
movups xmmword [rbp - 0x10], xmm0
lea rcx, [rbp + 0xb8]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x10], xmm0
movsd xmm0, qword [rdi + 0x430]
movsd qword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0xb8]
movss xmm9, dword [rbp + 0xbc]
movss xmm10, dword [rbp + 0xc0]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4a8]
lea r8, [rbp - 0x50]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x78]
mov dword [rbp + 0x80], eax
movups xmmword [rbp - 0x50], xmm0
lea rcx, [rbp + 0xc8]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp - 0x30], xmm0
movsd xmm0, qword [rdi + 0x4a0]
movsd qword [rbp + 0x78], xmm0
movups xmmword [rbp - 0x20], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0xc8]
movss xmm9, dword [rbp + 0xcc]
movss xmm10, dword [rbp + 0xd0]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x4b8]
lea r8, [rbp + 0x120]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x88]
mov dword [rbp + 0x90], eax
movups xmmword [rbp + 0x120], xmm0
lea rcx, [rbp + 0xd8]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x130], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x140], xmm0
movsd xmm0, qword [rdi + 0x4b0]
movsd qword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x150], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0xd8]
movss xmm9, dword [rbp + 0xdc]
movss xmm10, dword [rbp + 0xe0]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x448]
lea r8, [rbp + 0x160]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0x98]
mov dword [rbp + 0xa0], eax
movups xmmword [rbp + 0x160], xmm0
lea rcx, [rbp + 0xe8]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x170], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x180], xmm0
movsd xmm0, qword [rdi + 0x440]
movsd qword [rbp + 0x98], xmm0
movups xmmword [rbp + 0x190], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0xe8]
movss xmm9, dword [rbp + 0xec]
movss xmm10, dword [rbp + 0xf0]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x458]
lea r8, [rbp + 0x1a0]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp + 0xa8]
mov dword [rbp + 0xb0], eax
movups xmmword [rbp + 0x1a0], xmm0
lea rcx, [rbp + 0xf8]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x1b0], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x1c0], xmm0
movsd xmm0, qword [rdi + 0x450]
movsd qword [rbp + 0xa8], xmm0
movups xmmword [rbp + 0x1d0], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0xf8]
movss xmm9, dword [rbp + 0xfc]
movss xmm10, dword [rbp + 0x100]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x498]
lea r8, [rbp + 0x1e0]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x60], eax
movups xmmword [rbp + 0x1e0], xmm0
lea rcx, [rbp + 0x48]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x1f0], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x200], xmm0
movsd xmm0, qword [rdi + 0x490]
movsd qword [rsp + 0x58], xmm0
movups xmmword [rbp + 0x210], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
comiss xmm7, xmm6
movss xmm8, dword [rbp + 0x48]
movss xmm9, dword [rbp + 0x4c]
movss xmm10, dword [rbp + 0x50]
jbe 0x18004824c
movups xmm0, xmmword [rdi + 0x60]
mov eax, dword [rdi + 0x488]
lea r8, [rbp + 0x220]
movups xmm1, xmmword [rdi + 0x70]
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x70], eax
movups xmmword [rbp + 0x220], xmm0
lea rcx, [rbp - 0x60]
movups xmm0, xmmword [rdi + 0x80]
movups xmmword [rbp + 0x230], xmm1
movups xmm1, xmmword [rdi + 0x90]
movups xmmword [rbp + 0x240], xmm0
movsd xmm0, qword [rdi + 0x480]
movsd qword [rbp - 0x78], xmm0
movups xmmword [rbp + 0x250], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXVec3Transform]
movss xmm8, dword [rbp - 0x60]
movss xmm9, dword [rbp - 0x5c]
movss xmm10, dword [rbp - 0x58]
mov rax, qword [0x1800de880]
movd esi, xmm10
movaps xmm10, xmm8
unpcklps xmm10, xmm9
cmp byte [rax + 0x144], 0
je 0x180048377
mov rax, qword [0x1800de960]
lea r8, [rsp + 0x54]
mov rbx, qword [0x1800ddd40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm10
mov dword [rsp + 0x78], esi
mov qword [rsp + 0x50], 0
call qword [rax + gethostname]
movss xmm7, dword [rsp + 0x50]
mulss xmm7, dword [rbx + 0x10]
movss xmm6, dword [rsp + 0x54]
movaps xmm0, xmmword [0x1800cff50]
mulss xmm6, dword [rbx + 0x14]
movdqa xmmword [rbp - 0x60], xmm0
movss xmm0, dword [0x1800cfa44]
comiss xmm0, xmm7
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm6
ja 0x180048377
movsd xmm0, qword [0x1800cfad0]
cvtps2pd xmm1, xmm6
comisd xmm0, xmm1
ja 0x180048377
mov rax, qword [0x1800ddd40]
comiss xmm7, dword [rax + 0x10]
ja 0x180048377
comiss xmm6, dword [rax + 0x14]
ja 0x180048377
mov rax, qword [rax + 0x4890]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180009f20
movaps xmm0, xmm7
movss dword [rbp + 0x40], xmm7
addss xmm0, dword [0x1800cfb24]
lea rcx, [rbp - 0x60]
movss dword [rbp + 0x44], xmm6
mov r10, rax
movss dword [rbp - 0x80], xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x1800cfb24]
movss dword [rbp - 0x7c], xmm0
call fcn.180006b20
movss dword [rsp + 0x30], xmm14
lea rdx, [rbp + 0x40]
mov r9d, eax
movss dword [rsp + 0x20], xmm12
lea r8, [rbp - 0x80]
mov rcx, r10
call fcn.180028cf0
mov rcx, qword [0x1800de880]
mov ecx, dword [rcx + 0x164]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800484d4
mov rax, qword [0x1800de938]
lea r8, [rsp + 0x54]
mov rbx, qword [0x1800ddd40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
movss xmm8, dword [rax]
movss xmm6, dword [rax + 4]
mov rax, qword [0x1800de960]
mulss xmm8, xmm11
mov dword [rsp + 0x78], esi
mulss xmm6, xmm11
mov qword [rsp + 0x50], 0
movsd qword [rsp + 0x70], xmm10
call qword [rax + gethostname]
movss xmm0, dword [rsp + 0x54]
movaps xmm1, xmm13
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, xmm13
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 0x18004844a
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x180048452
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov rax, qword [0x1800de880]
cmp byte [rax + 0x154], 0
je 0x18004849b
mov rax, qword [0x1800de960]
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 [0x1800de880]
setne cl
mov byte [reloc.WS2_32.dll_accept], cl
jmp 0x1800484a2
movzx ecx, byte [reloc.WS2_32.dll_accept]
movd xmm0, dword [rax + 0x160]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x1800484d4
test cl, cl
je 0x1800484d4
cmp byte [rax + 0x13c], 0
jne 0x1800484d4
lea rdx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm10
mov dword [rsp + 0x78], esi
call fcn.180042200
movaps xmm13, xmmword [rsp + 0x380]
mov rsi, qword [rsp + 0x410]
mov r14, qword [rsp + 0x420]
movaps xmm10, xmmword [rsp + 0x3b0]
movaps xmm9, xmmword [rsp + 0x3c0]
movaps xmm11, xmmword [rsp + 0x3a0]
mov rdi, qword [rsp + 0x418]
movaps xmm12, xmmword [rsp + 0x390]
movaps xmm14, xmmword [rsp + 0x370]
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.18009a130
lea r11, [rsp + 0x400]
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