Function at 0x180047930
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 [0x180106060]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov rax, qword [0x180107dd0]
cmp byte [rax + 0x14c], 0
je 0x180047c22
cmp byte [0x1800f3361], 0
movups xmm0, xmmword [0x1800f3348]
movzx eax, word [0x1800f3360]
movsd xmm1, qword [0x1800f3358]
movups xmmword [rbp + 0x50], xmm0
mov word [rbp + 0x68], ax
movsd qword [rbp + 0x60], xmm1
je 0x180047b54
xor r8d, r8d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x180047b11
movdqa xmm0, xmmword [0x1800f56a0]
lea rcx, [rbp + 0x54]
movdqa xmm5, xmmword [0x1800f53c0]
mov eax, reloc.WLDAP32.dll_Ordinal_26
movdqa xmm4, xmmword [0x1800f5c40]
movdqa xmm7, xmmword [0x1800f54f0]
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
pand xmm2, xmmword [0x1800f5480]
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 [0x1800f5480]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
pxor xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180047a00
cmp r8d, 0x1a
jge 0x180047b54
movsxd rax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8b6e9cd3
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, 0x76
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x1a
jl 0x180047b20
xor r9d, r9d
lea r8, [rbp + 0x50]
xor edx, edx
call fcn.18005c1b0
test rax, rax
je 0x180047bf8
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 [0x180107ce0], 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 0x180047baa
imul rax, rax, 0x64
jmp 0x180047bc8
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 0x180047bdf
add rax, 0xf4240
jmp 0x180047be9
movabs rax, 0x7fffffffffffffff
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.1800488e0
cmp byte [0x180107ce0], 0
je 0x180047c22
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 [0x180107ce0], 0
mov rax, qword [0x180107dd0]
cmp byte [rax + 0x134], 0
je 0x1800488b0
mov rax, qword [0x180107eb0]
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 0x180047c70
xor r14d, r14d
jmp 0x180047c74
mov r14, qword [rax + 8]
mov qword [rsp + 0x400], rsi
call fcn.1800475b0
movss xmm12, dword [0x1800f51a4]
mov rdi, rax
mov rax, qword [0x180107dd0]
xorps xmm8, xmm8
movss xmm9, dword [0x1800f5158]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
cmp byte [rax + 0x13d], 0
je 0x180047d9e
mov rcx, qword [0x180107920]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rcx + 0x4890]
mov rcx, qword [rcx]
call fcn.180009df0
movaps xmm0, xmmword [0x1800f59b0]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
mov rbx, rax
call fcn.180006f50
mov rcx, qword [0x180107e88]
mov esi, eax
mov rax, qword [0x180107dd0]
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 0x180047da5
comiss xmm9, xmm2
ja 0x180047da5
movss xmm0, dword [0x1800f5214]
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.1800275d0
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.180025c20
mov dword [rbx + 0x78], 0
mov rax, qword [0x180107dd0]
mov rcx, qword [0x180107e88]
test rdi, rdi
je 0x180048886
cmp byte [rax + 0x135], 0
movaps xmmword [rsp + 0x3a0], xmm10
movaps xmmword [rsp + 0x390], xmm11
movsd xmm11, qword [0x1800f51d8]
jne 0x18004810c
lea rcx, str.FiveM_b2802_GTAProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180047f7c
lea rcx, str.FiveM_b2802_GameProcess.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180047f7c
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 [0x180107dd0]
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 0x180047f56
sub ecx, 1
je 0x180047f30
sub ecx, 1
je 0x180047f0d
cmp ecx, 1
jne 0x1800485f5
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 0x1800485e9
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 0x180047ebf
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 0x180047ebf
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 0x180047ebf
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 [0x180107dd0]
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 0x1800480cf
sub ecx, 1
je 0x180048092
sub ecx, 1
je 0x180048055
cmp ecx, 1
jne 0x1800485f5
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 0x180047ed6
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 0x180047ed6
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 0x180047ed6
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 0x180047ed6
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.1800427a0
mov r9d, 7
lea rdx, [rbp - 0x40]
mov r8, rdi
call fcn.1800427a0
mov r9d, 8
lea rdx, [rbp + 0x110]
mov r8, rdi
call fcn.1800427a0
mov r9d, 1
lea rdx, [rbp + 0x118]
mov r8, rdi
call fcn.1800427a0
mov r9d, 2
lea rdx, [rbp + 0x120]
mov r8, rdi
call fcn.1800427a0
mov r9d, 6
lea rdx, [rsp + 0x68]
mov r8, rdi
call fcn.1800427a0
mov r9d, 5
lea rdx, [rbp - 0x50]
mov r8, rdi
call fcn.1800427a0
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 0x1800481f3
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x1800481fb
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movss xmm7, dword [0x1800f5238]
comiss xmm7, xmm6
jbe 0x1800485f5
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 0x1800485f5
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 0x1800485f5
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 0x1800485f5
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 0x1800485f5
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 0x1800485f5
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 0x1800485f5
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 [0x180107dd0]
mov esi, dword [rsp + 0x48]
movsd xmm10, qword [rsp + 0x40]
cmp byte [rax + 0x144], 0
je 0x18004871d
mov rax, qword [0x180107eb0]
lea r8, [rsp + 0x54]
mov rbx, qword [0x180107920]
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 + gethostname]
movss xmm7, dword [rsp + 0x50]
mulss xmm7, dword [rbx + 0x10]
movss xmm6, dword [rsp + 0x54]
movaps xmm0, xmmword [0x1800f59a0]
mulss xmm6, dword [rbx + 0x14]
movaps xmmword [rbp - 0x60], xmm0
movss xmm0, dword [0x1800f5130]
comiss xmm0, xmm7
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm6
ja 0x18004871d
movsd xmm0, qword [0x1800f51b8]
cvtps2pd xmm1, xmm6
comisd xmm0, xmm1
ja 0x18004871d
mov rax, qword [0x180107920]
comiss xmm7, dword [rax + 0x10]
ja 0x18004871d
comiss xmm6, dword [rax + 0x14]
ja 0x18004871d
mov rax, qword [rax + 0x4890]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.180009df0
movaps xmm0, xmm7
movss dword [rbp - 0x40], xmm7
addss xmm0, dword [0x1800f5204]
lea rcx, [rbp - 0x60]
movss dword [rbp - 0x3c], xmm6
mov r10, rax
movss dword [rbp - 0x70], xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x1800f5204]
movss dword [rbp - 0x6c], xmm0
call fcn.180006f50
mov r9d, eax
movss dword [rsp + 0x30], xmm12
lea rdx, [rbp - 0x40]
movss dword [rsp + 0x20], xmm8
lea r8, [rbp - 0x70]
mov rcx, r10
call fcn.1800280c0
mov rax, qword [0x180107dd0]
mov ecx, dword [rax + 0x164]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180048874
mov rax, qword [0x180107e88]
lea r8, [rsp + 0x54]
mov rbx, qword [0x180107920]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm10
mov dword [rbp - 0x78], esi
movss xmm8, dword [rax]
movss xmm6, dword [rax + 4]
mov rax, qword [0x180107eb0]
mulss xmm8, xmm9
mov qword [rsp + 0x50], 0
mulss xmm6, xmm9
call qword [rax + gethostname]
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 0x1800487ed
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x1800487f5
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov rax, qword [0x180107dd0]
cmp byte [rax + 0x154], 0
je 0x18004883e
mov rax, qword [0x180107eb0]
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 [0x180107dd0]
setne cl
mov byte [reloc.WS2_32.dll_accept], cl
jmp 0x180048845
movzx ecx, byte [reloc.WS2_32.dll_accept]
movd xmm0, dword [rax + 0x160]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x180048874
test cl, cl
je 0x180048874
cmp byte [rax + 0x13c], 0
jne 0x180048874
lea rdx, [rbp - 0x80]
movsd qword [rbp - 0x80], xmm10
mov dword [rbp - 0x78], esi
call fcn.1800428b0
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.1800bc030
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