Function at 0x140059a80
Capabilities:
Check for time delay via gettickcount
Create thread
Enumerate gui resources
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
cmp dword [0x1400d05f0], 0
jne 0x140059b5d
xor ebx, ebx
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x51], rbx
lea rdx, [rbp - 0x59]
lea rcx, [0x140054870]
call qword [sym.imp.USER32.dll_EnumWindows]
mov r8, qword [rbp - 0x59]
test r8, r8
je 0x14005a464
mov rcx, qword [rbp - 0x49]
sub rcx, r8
movabs rax, 0xf83e0f83e0f83e1
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x108
mov rax, r8
cmp rdx, 0x1000
jb 0x140059b50
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059b50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.14006baac
jmp 0x14005a464
mov rbx, qword [0x1400d05a0]
or dword [rbx + 0x47a8], 2
movsd xmm0, qword [0x1400cda70]
movsd qword [rbx + 0x47c8], xmm0
mov dword [rbx + 0x47b0], 2
movsd xmm2, qword [rbx + 0x3e48]
movss xmm0, dword [0x140101f68]
cvtps2pd xmm0, xmm0
movaps xmm1, xmm2
subsd xmm1, xmm0
comisd xmm1, xmmword [0x140079dc8]
jbe 0x140059bc7
cmp byte [0x1400cea22], 0
sete al
mov byte [0x1400cea22], al
cvtpd2ps xmm0, xmm2
movss dword [0x140101f68], xmm0
jmp 0x140059bce
movzx eax, byte [0x1400cea22]
test al, al
jne 0x140059bf7
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov rbx, qword [0x1400d05a0]
cmp byte [0x1400cea22], 0
jne 0x140059bf7
movaps xmm0, xmmword [0x14007a570]
jmp 0x140059bfe
movaps xmm0, xmmword [0x14007a270]
lea rdi, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
mov dword [rbp - 0x59], 5
movups xmm0, xmmword [rbx + 0x3904]
movups xmmword [rbp - 0x55], xmm0
lea rcx, [rbx + 0x4818]
lea rdx, [rbp - 0x59]
call fcn.14001a980
movups xmm0, xmmword [rdi]
movups xmmword [rbx + 0x3904], xmm0
cmp byte [0x1400d059a], 1
jne 0x14005a464
mov ecx, dword [0x1400d06b8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
test al, 1
je 0x140059cc4
lea ecx, [rbx + 8]
call fcn.14006b748
lea rcx, [0x140056310]
mov qword [rax], rcx
mov qword [rbp + 0x67], rax
lea rcx, [rbp - 0x61]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x140067040]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x69], rax
test rax, rax
je 0x140059d30
cmp dword [rbp - 0x61], ebx
jne 0x140059ca4
lea ecx, [rbx + 1]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x59], xmm0
lea rcx, [rbp - 0x59]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x140059cc4
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov ecx, dword [0x1400d0624]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140059d5f
mov ecx, 8
call fcn.14006b748
lea rcx, [0x140056370]
mov qword [rax], rcx
mov qword [rbp + 0x67], rax
lea rcx, [rbp - 0x61]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebx
mov r9, rax
lea r8, [0x140067040]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x69], rax
test rax, rax
je 0x140059f10
cmp dword [rbp - 0x61], 0
jne 0x140059d3f
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x61], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x59], xmm0
lea rcx, [rbp - 0x59]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x140059d5f
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov r8d, 0xa3
lea rdx, [0x140086052]
lea rcx, str.INT1
call fcn.14000d3e0
mov rcx, qword [0x1400d05a0]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3ed0]
mov qword [0x140106318], rax
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3ed0]
mov r14, qword [rax + 0x290]
movsd xmm11, qword [rax + 0x18]
movaps xmm0, xmmword [0x14007a240]
movups xmmword [rbp - 0x69], xmm0
movaps xmm1, xmmword [0x14007a2f0]
movups xmmword [rbp - 0x59], xmm1
movsd qword [rbp + 0x67], xmm11
movaps xmm12, xmm11
addss xmm12, dword [0x140079ec4]
movss dword [rbp + 0x6f], xmm12
movss xmm10, dword [rbp + 0x6b]
movaps xmm6, xmm10
addss xmm6, dword [0x140079ec4]
movss dword [rbp + 0x73], xmm6
lea rcx, [rbp - 0x59]
call fcn.140003db0
mov r9d, eax
mov dword [rsp + 0x28], ebx
movss xmm13, dword [0x140079e34]
movss dword [rsp + 0x20], xmm13
lea r8, [rbp + 0x6f]
lea rdx, [rbp + 0x67]
mov rcx, r14
call fcn.140026030
movss dword [rbp + 0x6f], xmm12
movss dword [rbp + 0x73], xmm6
lea rcx, [rbp - 0x69]
call fcn.140003db0
mov r9d, eax
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm13
lea r8, [rbp + 0x6f]
lea rdx, [rbp + 0x67]
mov rcx, r14
call fcn.140026030
xorps xmm9, xmm9
movss xmm0, dword [0x140101f6c]
ucomiss xmm0, xmm9
jp 0x140059e8e
jne 0x140059e8e
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [0x140101f6c], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm0, dword [0x140101f6c]
addss xmm0, dword [0x140079e40]
mov rsi, qword [0x1400d05a0]
comiss xmm1, xmm0
jbe 0x140059f65
movzx eax, byte [0x1400cea21]
movss xmm1, dword [0x140101f64]
test al, al
je 0x140059f1f
movss xmm2, dword [0x140079d94]
comiss xmm2, xmm1
jbe 0x140059f02
movss xmm0, dword [0x140079d28]
divss xmm0, dword [rsi + 0xe0]
mulss xmm0, dword [0x140079e88]
addss xmm1, xmm0
movss dword [0x140101f64], xmm1
comiss xmm1, xmm2
jb 0x140059f5b
mov byte [0x1400cea21], 0
jmp 0x140059f5b
mov dword [rbp - 0x61], ebx
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
comiss xmm1, xmm9
jbe 0x140059f49
movss xmm0, dword [0x140079d28]
divss xmm0, dword [rsi + 0xe0]
mulss xmm0, dword [0x140079e88]
subss xmm1, xmm0
movss dword [0x140101f64], xmm1
mov ecx, 1
comiss xmm9, xmm1
cmovae eax, ecx
mov byte [0x1400cea21], al
mov dword [0x140101f6c], 0
mov rdi, qword [0x140107238]
mov qword [rbp + 0x67], rdi
test rdi, rdi
jne 0x140059f8d
mov rdi, qword [rsi + 0x68]
test rdi, rdi
jne 0x140059f89
mov rax, qword [rsi + 0x58]
mov rcx, qword [rax + 0x60]
mov rdi, qword [rcx]
mov qword [rbp + 0x67], rdi
mov rcx, rdi
call fcn.14000fe60
lea rcx, [rsi + 0x4838]
lea rdx, [rbp + 0x67]
call fcn.14001ab20
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rsi + 0x3ed0]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x290]
call fcn.140023770
mov dword [rbp - 0x69], 0x3f800000
mov dword [rbp - 0x65], 0x3f800000
mov dword [rbp - 0x61], 0x3f800000
movss xmm0, dword [0x140101f64]
movss dword [rbp - 0x5d], xmm0
lea rcx, [rbp - 0x69]
call fcn.140003db0
mov edi, eax
movaps xmm7, xmm11
addss xmm7, dword [0x140079ec8]
movaps xmm8, xmm10
subss xmm8, dword [0x140079e78]
addss xmm11, xmm9
movaps xmm6, xmm10
addss xmm6, dword [0x140079e98]
mov rcx, qword [0x1400d05a0]
mov qword [rsp + 0x30], rbx
lea rbx, str.CHAMS___COMBO
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x140079f28]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140079f10]
movss xmm2, dword [rcx + 0x3c20]
lea rdx, [rbp + 0x67]
mov rcx, qword [rcx + 0x3c18]
call fcn.14002d920
subss xmm7, xmm11
subss xmm8, xmm6
movss xmm2, dword [0x140079d68]
mulss xmm7, xmm2
mulss xmm8, xmm2
addss xmm7, xmm11
addss xmm8, xmm6
movss xmm0, dword [rbp + 0x67]
addss xmm0, dword [0x140079da4]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
subss xmm7, xmm1
movss dword [rbp + 0x6f], xmm7
movss xmm0, dword [rbp + 0x6b]
mulss xmm0, xmm2
subss xmm8, xmm0
movss dword [rbp + 0x73], xmm8
test edi, 0xff000000
je 0x14005a112
mov rax, qword [r14 + 0x38]
movups xmm0, xmmword [r14 + 0x88]
movups xmmword [rbp - 0x59], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
lea rcx, [0x140078895]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rbx
lea rcx, [rbp - 0x59]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
lea r9, [rbp + 0x6f]
movss xmm2, dword [rax + 0x10]
mov rdx, r14
mov rcx, qword [rax + 8]
call fcn.14002db40
call fcn.14000ff20
movss dword [rbp + 0x67], xmm12
movaps xmm0, xmm10
addss xmm0, dword [0x140079e80]
movss dword [rbp + 0x6b], xmm0
movss dword [rbp + 0x6f], xmm11
addss xmm10, xmm9
movss dword [rbp + 0x73], xmm10
lea rcx, [0x1400cffb8]
call fcn.140003db0
mov r9d, eax
mov dword [rsp + 0x28], 0x30
movss dword [rsp + 0x20], xmm13
lea r8, [rbp + 0x67]
lea rdx, [rbp + 0x6f]
mov rcx, r14
call fcn.140026030
mov rbx, qword [0x1400d05a0]
mov rax, qword [rbx + 0x3ed0]
mov byte [rax + 0xb0], 1
mov rax, qword [rbx + 0x3ed0]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x7c]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x80]
addss xmm1, dword [0x140079e58]
addss xmm0, dword [0x140079e84]
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
mov byte [rax + 0x139], 1
movss xmm0, dword [0x140079ec0]
movss dword [rbp + 0x67], xmm0
movss xmm1, dword [0x140079ebc]
movss dword [rbp + 0x6b], xmm1
mov rax, qword [rbx + 0x3ed0]
mov byte [rax + 0xb0], 1
mov rax, qword [rbx + 0x3ed0]
movsxd rcx, dword [rax + 0xe8]
mov rax, qword [rax + 0xf0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.CHAMS
call fcn.140003810
mov edi, eax
cmp dword [rbx + 0x3f18], eax
jne 0x14005a234
lea r8, str.CHAMS
mov edx, 0xb
mov ecx, eax
call fcn.14001a1d0
mov dword [rsp + 0x20], 8
xor r9d, r9d
lea r8, [rbp + 0x67]
mov edx, edi
lea rcx, str.CHAMS
call fcn.14000a550
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05f6]
lea rcx, str.Solid
call fcn.140032c80
cmp byte [0x1400d05f6], 0
setne byte [0x1400d05f6]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05f8]
lea rcx, str.BOX_Z
call fcn.140032c80
cmp byte [0x1400d05f8], 0
setne byte [0x1400d05f8]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05fb]
lea rcx, str.MOCO
call fcn.140032c80
cmp byte [0x1400d05fb], 0
setne byte [0x1400d05fb]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05c9]
lea rcx, str.ESP_BONES
call fcn.140032c80
cmp byte [0x1400d05c9], 0
setne byte [0x1400d05c9]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05ca]
lea rcx, str.Box_2D
call fcn.140032c80
cmp byte [0x1400d05ca], 0
setne byte [0x1400d05ca]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d05df]
lea rcx, str.Box_3D
call fcn.140032c80
cmp byte [0x1400d05df], 0
setne byte [0x1400d05df]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d06bc]
lea rcx, str.RGB_3D
call fcn.140032c80
cmp byte [0x1400d06bc], 0
setne byte [0x1400d06bc]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d06bd]
lea rcx, str.Tono_3D
call fcn.140032c80
cmp byte [0x1400d06bd], 0
setne byte [0x1400d06bd]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d062b]
lea rcx, str.Pick
call fcn.140032c80
cmp byte [0x1400d062b], 0
setne byte [0x1400d062b]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d06be]
lea rcx, [0x140078908]
call fcn.140032c80
cmp byte [0x1400d06be], 0
setne byte [0x1400d06be]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d062a]
lea rcx, str.Glow
call fcn.140032c80
cmp byte [0x1400d062a], 0
setne byte [0x1400d062a]
xor r9d, r9d
lea r8, str.Open_In_Emulators
lea rdx, [0x1400d062c]
lea rcx, str.WireFRAME
call fcn.140032c80
cmp byte [0x1400d062c], 0
setne byte [0x1400d062c]
call fcn.14000a890
call fcn.140052df0
call fcn.14000fa30
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
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]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret