Function at 0x1800377f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x240
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
vmovaps xmmword [rax - 0x78], xmm10
vmovaps xmmword [rax - 0x88], xmm11
vmovaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x180199a80]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
mov rsi, rcx
mov dword [rcx + 0x264], 0xff
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [0x1801dd064]
cmp eax, 0x3e8
je 0x18003789e
vmovss xmm0, dword [rsi + 0x268]
vaddss xmm1, xmm0, xmm0
vcvtss2sd xmm2, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmovaps xmm1, xmm0
vfnmadd231sd xmm1, xmm0, xmm2
vfmadd231sd xmm1, xmm2, qword [0x180180380]
vcvttsd2si eax, xmm1
mov dword [0x1801dd064], eax
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vcomisd xmm0, qword [0x180180378]
jbe 0x1800378c5
vcomisd xmm0, qword [0x180180388]
jae 0x1800378c5
mov eax, 0x3e8
mov dword [0x1801dd064], eax
vmovss xmm0, dword [0x1801dd05c]
vmovss xmm3, dword [0x1801dd060]
vucomiss xmm0, xmm3
je 0x180037909
vmovss xmm2, dword [rsi + 0x268]
vcvtss2sd xmm2, xmm2, xmm2
vcvtss2sd xmm0, xmm0, xmm0
vmovaps xmm1, xmm0
vfnmadd231sd xmm1, xmm0, xmm2
vcvtss2sd xmm0, xmm3, xmm3
vfmadd231sd xmm1, xmm2, xmm0
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [0x1801dd05c], xmm0
vcvtss2sd xmm1, xmm0, xmm0
vcvtss2sd xmm2, xmm3, xmm3
vmovsd xmm4, qword [0x1801802b0]
vsubsd xmm0, xmm2, xmm4
vcomisd xmm1, xmm0
jbe 0x180037935
vaddsd xmm0, xmm2, xmm4
vcomisd xmm1, xmm0
jae 0x180037935
vmovss dword [0x1801dd05c], xmm3
vmovss xmm3, dword [0x1801dd068]
vcvtss2sd xmm3, xmm3, xmm3
vmovsd xmm2, qword [0x1801dd070]
vucomisd xmm2, xmm3
je 0x180037978
vmovss xmm1, dword [rsi + 0x268]
vcvtss2sd xmm1, xmm1, xmm1
vmovsd xmm0, qword [0x180180350]
vsubsd xmm0, xmm0, xmm1
vmulsd xmm2, xmm0, xmm2
vfmadd231sd xmm2, xmm1, xmm3
vmovsd qword [0x1801dd070], xmm2
vsubsd xmm0, xmm3, xmm4
vcomisd xmm2, xmm0
jbe 0x180037994
vaddsd xmm0, xmm3, xmm4
vcomisd xmm2, xmm0
jae 0x180037994
vmovsd qword [0x1801dd070], xmm3
mov dword [rsi + 0x264], eax
lea rbx, [rsi + 8]
mov qword [rsp + 0x78], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1800379bc
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
jne 0x1800379d7
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
xor r12d, r12d
vmovss xmm12, dword [0x1801802a8]
cmp byte [rsi + 0x59], r12b
je 0x180037b55
cmp byte [rsi + 0x80], r12b
je 0x180037b55
call fcn.18001a5f0
mov ecx, 1
call qword [sym.imp.USER32.dll_ShowCursor]
vmovss xmm0, dword [rsi + 0x110]
vaddss xmm6, xmm0, dword [rsi + 0xb0]
mov rcx, qword [rsi + 0x2c8]
cmp qword [rsi + 0x2c0], rcx
je 0x180037a72
mov rcx, qword [rcx - 8]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rdx, rax
mov rcx, qword [rsi + 0x90]
cmp rcx, rax
cmovb rdx, rcx
vxorps xmm0, xmm0, xmm0
test rdx, rdx
js 0x180037a54
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x180037a69
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vfmadd231ss xmm6, xmm0, dword [rsi + 0x15c]
vaddss xmm1, xmm6, dword [rsi + 0x1d0]
vmulss xmm6, xmm12, dword [rsi + 0x8c]
vmovss xmm9, dword [rsi + 0x84]
vmulss xmm7, xmm1, xmm12
vmovss xmm8, dword [rsi + 0x88]
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, dword [rsp + 0x70]
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm3, xmm3, dword [rsp + 0x74]
vaddss xmm0, xmm9, xmm6
vaddss xmm2, xmm0, xmm6
vaddss xmm1, xmm8, xmm7
vaddss xmm5, xmm1, xmm7
vcomiss xmm4, xmm2
ja 0x180037b55
vcomiss xmm4, xmm9
jb 0x180037b55
vcomiss xmm3, xmm5
ja 0x180037b55
vcomiss xmm3, xmm8
jb 0x180037b55
lea rdi, [0x18019b8c8]
mov rcx, rdi
call fcn.18010d5c0
test al, al
je 0x180037b55
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x16
lea rax, [0x18013eefe]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, str.big::UserInterface::UIManager::OnTick
mov r8d, 0x5f
lea rdx, str.E:Unfinished_modsGame_Hacks_in_the_worksPECA_ServicesPECA___Engine_V3BigBaseV2_srcUIUIManager.cpp
lea rcx, [rsp + 0x80]
call fcn.18010d650
nop
lea rcx, [rax + 8]
lea rdx, [0x18017ff48]
call fcn.180008970
nop
lea rcx, [rsp + 0x80]
call fcn.18010d820
mov rax, qword [0x18019b9e0]
cmp byte [rax + 0x59], 0
je 0x180037b77
movzx eax, byte [0x1801dd231]
test al, al
je 0x180037b72
call fcn.18001a5f0
mov rbx, qword [rsp + 0x78]
mov dword [rsi + 0x2d8], 0
mov word [rsi + 0x2dc], 0
mov byte [rsi + 0x2de], 0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037bb7
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037bb7
mov al, 1
jmp 0x180037bb9
xor al, al
mov byte [rsi + 0x2d8], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037be5
mov ecx, 8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037be5
mov al, 1
jmp 0x180037be7
xor al, al
mov byte [rsi + 0x2d9], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037c13
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037c13
mov al, 1
jmp 0x180037c15
xor al, al
mov byte [rsi + 0x2da], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037c41
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037c41
mov al, 1
jmp 0x180037c43
xor al, al
mov byte [rsi + 0x2db], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037c6f
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037c6f
mov al, 1
jmp 0x180037c71
xor al, al
mov byte [rsi + 0x2dc], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037c9d
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037c9d
mov al, 1
jmp 0x180037c9f
xor al, al
mov byte [rsi + 0x2dd], al
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x1801dd178]
cmp rax, qword [rcx]
jne 0x180037ccb
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180037ccb
mov al, 1
jmp 0x180037ccd
xor al, al
mov byte [rsi + 0x2de], al
mov rcx, rsi
call fcn.1800380f0
cmp byte [rsi + 0x59], 0
je 0x180038082
mov edx, 0x1b
xor ecx, ecx
call fcn.180037780
mov eax, dword [rsi + 0x88]
mov dword [rsi + 0x2b8], eax
mov rax, qword [rsi + 0x2c8]
cmp qword [rsi + 0x2c0], rax
je 0x180038071
mov r14, qword [rax - 8]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x20]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x18]
mov rdx, r14
mov rcx, rsi
call fcn.180038950
cmp byte [rsi + 0x140], 0
je 0x180037d46
mov rdx, r14
mov rcx, rsi
call fcn.180038bf0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x30]
test rax, rax
je 0x180038071
mov r15, r12
mov r13, qword [rsi + 0x90]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x30]
cmp rax, r13
ja 0x180037d7c
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x30]
mov r13, rax
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x30]
cmp rax, qword [rsi + 0x90]
jbe 0x180037e0a
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x38]
mov rcx, qword [rsi + 0x90]
sub rcx, 6
cmp rax, rcx
jb 0x180037e0a
mov rbp, r12
mov r12d, 6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x30]
mov rdi, rax
sub rdi, rbp
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x38]
cmp rax, rdi
jae 0x180037e01
mov rdi, qword [0x18019b9e0]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
mov r15, rbp
sub r15, qword [rdi + 0x90]
inc rax
add r15, rax
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
lea r13, [rax + 1]
add r13, rbp
inc rbp
sub r12, 1
jne 0x180037db4
vmovss xmm8, dword [rsi + 0x2b8]
cmp r15, r13
jae 0x180038071
mov rbp, r13
sub rbp, r15
vxorps xmm11, xmm11, xmm11
nop word [rax + rax]
vmovss xmm7, dword [rsi + 0x15c]
vmovaps xmm6, xmm8
vfmadd231ss xmm6, xmm7, xmm12
vmovss xmm9, dword [rsi + 0x8c]
vmovss xmm10, dword [rsi + 0x84]
cmp byte [rsi + 0x146], 0
je 0x180037f72
lea rdi, str.Virtual_X_T
cmp qword [0x18019b9d8], 0xf
cmova rdi, qword [str.Virtual_X_T]
mov rcx, rdi
call fcn.1800370f0
mov rcx, rdi
test eax, eax
je 0x180037ed0
mov dword [rsp + 0x58], r12d
mov dword [rsp + 0x50], 0xff
mov dword [rsp + 0x48], 0xff
mov dword [rsp + 0x40], 0xff
mov dword [rsp + 0x38], r12d
vmovss dword [rsp + 0x30], xmm11
vmovss dword [rsp + 0x28], xmm7
vmovss dword [rsp + 0x20], xmm9
vmovaps xmm3, xmm6
vmovaps xmm2, xmm10
lea rdx, str.scroller
call fcn.180037250
jmp 0x180037ed5
call fcn.1800370a0
cmp byte [rsi + 0xe4], 0
je 0x18003801b
vmovss xmm7, dword [rsi + 0x15c]
vmovss xmm9, dword [rsi + 0x8c]
vmovss xmm10, dword [rsi + 0x84]
lea rdi, str.Virtual_X_T
cmp qword [0x18019b9d8], 0xf
cmova rdi, qword [str.Virtual_X_T]
mov rcx, rdi
call fcn.1800370f0
mov rcx, rdi
test eax, eax
je 0x180037f68
mov dword [rsp + 0x58], r12d
mov dword [rsp + 0x50], 0xff
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x38], r12d
vmovss dword [rsp + 0x30], xmm11
vmovss dword [rsp + 0x28], xmm7
vmovss dword [rsp + 0x20], xmm9
vmovaps xmm3, xmm6
vmovaps xmm2, xmm10
lea rdx, str.scroller
call fcn.180037250
jmp 0x18003801b
call fcn.1800370a0
jmp 0x18003801b
vmovups xmm1, xmmword [rsi + 0x19c]
mov r8, qword [rsi + 0x1a4]
mov rcx, r8
shr rcx, 0x20
vmovq rax, xmm1
shr rax, 0x20
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], eax
vmovd dword [rsp + 0x20], xmm1
vmovaps xmm3, xmm7
vmovaps xmm2, xmm9
vmovaps xmm1, xmm6
vmovaps xmm0, xmm10
call fcn.180037130
cmp byte [rsi + 0xe4], 0
je 0x18003801b
vmovups xmm0, xmmword [rsi + 0x18c]
mov r8, qword [rsi + 0x194]
mov rcx, r8
shr rcx, 0x20
vmovq rax, xmm0
shr rax, 0x20
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], eax
vmovd dword [rsp + 0x20], xmm0
vmovss xmm3, dword [rsi + 0x15c]
vmovss xmm2, dword [rsi + 0x8c]
vmovss xmm1, dword [0x1801dd05c]
vmovss xmm0, dword [rsi + 0x84]
call fcn.180037130
vaddss xmm8, xmm8, dword [rsi + 0x15c]
sub rbp, 1
jne 0x180037e30
cmp r15, r13
jae 0x180038071
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
cmp r15, rax
sete dil
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
movzx r9d, dil
mov r8, r14
mov rdx, rax
mov rcx, rsi
call fcn.180039080
inc r15
cmp r15, r13
jb 0x180038032
mov rcx, rsi
call fcn.180039b30
mov rcx, rsi
call fcn.18003a0e0
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.180123a40
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret