Function at 0x140004c60
Capabilities:
Enumerate processes
Terminate process
Terminate process by name

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x548]
sub rsp, 0x640
mov rax, qword [0x140078010]
xor rax, rsp
mov qword [rbp + 0x500], rax
mov qword [r11 + 8], rbx
mov ecx, 0x14
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x10], r14
vmovaps xmmword [r11 - 0x28], xmm6
vmovaps xmmword [r11 - 0x38], xmm7
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [0x1400794a0]
lea rcx, [0x1400797a0]
xor edi, edi
mov r8d, 0x80e2
mov qword [rax + 0x20], rdi
cmp qword [0x1400797b8], 0x10
cmovae rcx, qword [0x1400797a0]
xor edx, edx
call fcn.140017cf0
call fcn.14000a9b0
test al, al
jne 0x140004d03
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor r9d, r9d
lea edx, [rdi + 0x10]
mov rcx, rax
xor r8d, r8d
call qword [sym.imp.USER32.dll_PostMessageW]
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1400794a0]
lea r8, str.Background
xor edx, edx
mov rax, qword [rcx + 0x3ef8]
vmovss xmm6, dword [rax + 0x20]
vmovss xmm7, dword [rax + 0x24]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
mov rcx, qword [rcx + 0x48d0]
mov rbx, qword [rax + 0x298]
mov rcx, qword [rcx]
call fcn.140011de0
mov rax, qword [0x1400794a0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x48d0]
mov rcx, qword [rcx]
call fcn.140011de0
vaddss xmm0, xmm6, dword [0x14006b4f0]
vaddss xmm1, xmm7, dword [0x14006b4f0]
vmovss dword [rbp + 0x1d0], xmm0
vmovups xmm0, xmmword [0x14006b650]
vmovss dword [rbp + 0x1d4], xmm1
vmovups xmm1, xmm0
vmovups xmmword [rsp + 0x44], xmm0
vmovups xmmword [rsp + 0x54], xmm0
vmovups xmm0, xmmword [0x14006b680]
lea rcx, [rsp + 0x44]
vmovups xmmword [rsp + 0x64], xmm0
vmovss dword [rbp + 0x1e0], xmm6
vmovss dword [rbp + 0x1e4], xmm7
vmovups xmmword [rsp + 0x74], xmm1
call fcn.14000dd30
lea rcx, [rsp + 0x54]
mov r11d, eax
call fcn.14000dd30
lea rcx, [rsp + 0x64]
mov r10d, eax
call fcn.14000dd30
lea rcx, [rsp + 0x74]
mov r8d, eax
call fcn.14000dd30
mov dword [rsp + 0x30], r11d
lea rdx, [rbp + 0x1e0]
mov dword [rsp + 0x28], r10d
mov r9d, eax
mov dword [rsp + 0x20], r8d
mov rcx, rbx
lea r8, [rbp + 0x1d0]
call fcn.140031540
mov rax, qword [0x1400794a0]
vmovaps xmm7, xmmword [rsp + 0x610]
mov rcx, qword [rax + 0x3ef8]
cmp byte [rcx + 0xbb], dil
jne 0x140004e58
mov eax, dword [rcx + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140040900
mov rax, qword [0x1400794a0]
vmovss xmm0, dword [0x14006b4e0]
vdivss xmm0, xmm0, dword [rax + 0xe0]
vmovsd xmm2, qword [0x14006b450]
vcvtss2sd xmm1, xmm0, xmm0
vmovq rdx, xmm1
vmovq r8, xmm2
lea rcx, str.External__.1f_MS_FPS___.1f_FPS__PGDN__HideMenu
call fcn.14003e0c0
mov rbx, qword [0x1400794a0]
mov rax, qword [rbx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140004eba
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140040900
mov rbx, qword [0x1400794a0]
vmovss xmm0, dword [rbx + 0x37d0]
lea rcx, [rbx + 0x4850]
mov qword [rsp + 0x658], rsi
lea rdx, [rbp + 0x1d0]
mov dword [rbp + 0x1d0], edi
vmovss dword [rbp + 0x1d4], xmm0
call fcn.140025bb0
mov dword [rbx + 0x37d0], 0x3f4ccccd
call fcn.140049db0
call fcn.140055f20
mov rdx, qword [0x1400794a0]
lea r14, [0x140064050]
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x1400056aa
mov rbx, qword [rdx + 0x4bc0]
test rbx, rbx
je 0x1400056aa
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
lea rdx, [0x1400641d8]
mov rcx, rbx
call fcn.14004bb90
test al, al
je 0x1400056a3
movsx rax, word [rbx + 0x70]
mov rcx, qword [rbx + 8]
imul rdx, rax, 0x2c
mov ecx, dword [rdx + rcx]
call fcn.14001ade0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rcx + 0x383c]
vaddss xmm1, xmm0, dword [rax + 0x144]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140004ffe
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140004ff6
movzx ecx, byte [r8]
test cl, cl
je 0x140004ff6
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140004fed
cmp byte [rax], cl
je 0x140004ff6
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140004fd8
mov rdx, r14
call fcn.140040f30
lea r8, [0x140078050]
lea rdx, str.Bot_Script
call fcn.14004e1b0
cmp byte [0x140078050], dil
je 0x1400050b5
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rcx + 0x383c]
vaddss xmm1, xmm0, dword [rax + 0x144]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
call fcn.140042510
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rax + 0x144]
vsubss xmm1, xmm0, dword [rcx + 0x383c]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
lea rax, [rbp + 0x1e0]
mov dword [rbp + 0x1e0], 0x50
lea r9, [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
lea r8, [0x140078044]
mov dword [rbp + 0x1d0], 0xa
lea rcx, str.Delay
call fcn.140042ec0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005146
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x14000513e
nop dword [rax]
movzx ecx, byte [r8]
test cl, cl
je 0x14000513e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005135
cmp byte [rax], cl
je 0x14000513e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005120
mov rdx, r14
call fcn.140040f30
lea rax, [rbp + 0x1d0]
mov dword [rbp + 0x1e0], edi
mov qword [rsp + 0x28], rax
lea r8, [0x140079490]
lea rax, [rbp + 0x1e0]
mov ebx, 0xc
lea rcx, str.Hours
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x1d0], ebx
call fcn.140042880
lea rax, [rbp + 0x1d0]
mov dword [rbp + 0x1e0], edi
mov qword [rsp + 0x28], rax
lea r8, [0x140079480]
lea rax, [rbp + 0x1e0]
mov esi, 0x37
lea rcx, str.Minutes
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x1d0], esi
call fcn.140042880
mov eax, dword [0x140079490]
test eax, eax
jns 0x1400051cc
mov eax, edi
jmp 0x1400051d1
cmp eax, ebx
cmovg eax, ebx
mov dword [0x140079490], eax
mov eax, dword [0x140079480]
test eax, eax
jns 0x1400051e5
mov eax, edi
jmp 0x1400051ea
cmp eax, esi
cmovg eax, esi
vxorps xmm6, xmm6, xmm6
lea rdx, [rbp + 0x1d0]
mov dword [0x140079480], eax
lea rcx, str.Run_Time
vmovss dword [rbp + 0x1d0], xmm6
vmovss dword [rbp + 0x1d4], xmm6
call fcn.14003eb90
test al, al
je 0x140005279
imul eax, dword [0x140079490], 0x3c
add eax, dword [0x140079480]
imul eax, eax, 0x3c
test eax, eax
jle 0x140005279
mov byte [0x140079484], 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 0x140005254
imul rax, rax, 0x64
jmp 0x140005272
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x140079488], rax
mov rax, qword [0x1400794a0]
mov rcx, qword [rax + 0x3ef8]
cmp byte [rcx + 0xbb], dil
jne 0x1400052db
vmovss xmm0, dword [rax + 0x381c]
vaddss xmm1, xmm0, dword [rcx + 0x108]
vmovss xmm0, dword [rcx + 0x10c]
vmovss dword [rcx + 0x100], xmm1
vmovss dword [rcx + 0x104], xmm0
vmovsd xmm0, qword [rcx + 0x130]
mov eax, dword [rcx + 0x13c]
vmovsd qword [rcx + 0x128], xmm0
mov dword [rcx + 0x138], eax
mov byte [rcx + 0x140], 1
cmp byte [0x140079484], dil
je 0x1400054df
lea rdx, [rbp + 0x1d0]
lea rcx, str.Cancel_Time
vmovss dword [rbp + 0x1d0], xmm6
vmovss dword [rbp + 0x1d4], xmm6
call fcn.14003eb90
test al, al
je 0x14000531b
mov byte [0x140079484], dil
jmp 0x1400054df
cmp byte [0x140079484], dil
je 0x1400054df
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 0x140005346
imul rcx, rax, 0x64
jmp 0x140005367
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rcx, rax
imul rax, r8, 0x3b9aca00
add rcx, rax
sub rcx, qword [0x140079488]
movabs rax, 0x112e0be826d694b3
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, dword [0x140079490], 0x3c
add eax, dword [0x140079480]
imul r8d, eax, 0x3c
sub r8d, edx
test r8d, r8d
jg 0x140005477
xor edx, edx
mov byte [0x140079484], dil
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rbp - 0x70]
mov dword [rbp - 0x70], 0x238
mov rcx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140005461
mov qword [rsp + 0x630], r15
lea r15, str.GGST_Win64_Shipping.exe
nop word [rax + rax]
lea rdx, [rbp - 0x44]
mov rcx, rdi
nop word [rax + rax]
movzx eax, word [rdx + rcx*2]
cmp ax, word [r15 + rcx*2]
jne 0x140005448
movzx eax, word [rdx + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x140005448
add rcx, 2
cmp rcx, 0x18
jne 0x140005400
mov r8d, dword [rbp - 0x68]
xor edx, edx
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rcx, rax
xor edx, edx
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp - 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x1400053f0
mov r15, qword [rsp + 0x630]
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400054df
mov r9d, r8d
mov eax, 0x91a2b3c5
imul r8d
lea r10d, [r8 + rdx]
sar r10d, 0xb
mov eax, r10d
shr eax, 0x1f
add r10d, eax
mov eax, 0x88888889
imul r8d
mov eax, 0x88888889
add edx, r8d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x3c
sub r9d, ecx
imul ecx, r10d, 0xe10
sub r8d, ecx
lea rcx, str.Remaining_Time_To_Close:__02d:_02d:_02d
imul r8d
add edx, r8d
sar edx, 5
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
mov edx, r10d
call fcn.14003e0c0
call fcn.14001a810
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005538
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005530
movzx ecx, byte [r8]
test cl, cl
je 0x140005530
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005527
cmp byte [rax], cl
je 0x140005530
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005512
mov rdx, r14
call fcn.140040f30
lea r8, [0x14007945b]
lea rdx, str.Run_Script
call fcn.14004e1b0
cmp byte [0x14007945b], dil
je 0x14000555b
mov byte [0x14007945d], dil
lea r8, [0x14007945d]
lea rdx, str.Run_Bot
call fcn.14004e1b0
cmp byte [0x14007945d], dil
je 0x14000557e
mov byte [0x14007945b], dil
mov rdx, qword [0x1400794a0]
mov eax, dword [rdx + 0x4778]
movsxd rcx, dword [rdx + 0x4880]
dec word [rdx + 0x5bc0]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rdx + 0x4880], eax
mov rax, qword [rdx + 0x4888]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4778], r8d
je 0x1400055ce
test r8b, 4
jne 0x1400055ce
mov eax, dword [rdx + 0x5bbc]
mov dword [rdx + 0x37d0], eax
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005622
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005613
movzx ecx, byte [r8]
test cl, cl
je 0x140005613
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14000560a
cmp byte [rax], cl
je 0x140005613
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x1400055f5
mov rdx, r14
call fcn.140040f30
mov rdx, qword [0x1400794a0]
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
vmovss xmm0, dword [rax + 0x144]
vsubss xmm1, xmm0, dword [rdx + 0x383c]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x1400056aa
mov r8, qword [rdx + 0x4bc0]
test r8, r8
je 0x1400056aa
movsx rax, word [r8 + 0x70]
imul rcx, rax, 0x2c
mov rax, qword [r8 + 8]
test byte [rcx + rax + 4], 8
jne 0x1400056aa
mov rax, qword [rdx + 0x3ef8]
dec dword [rax + 0xf0]
jmp 0x1400056aa
mov rdx, qword [0x1400794a0]
mov rax, qword [rdx + 0x3ef8]
vmovaps xmm6, xmmword [rsp + 0x620]
cmp byte [rax + 0xbb], dil
jne 0x140005985
mov rbx, qword [rdx + 0x4bc0]
test rbx, rbx
je 0x140005985
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
lea rdx, str.Misc
mov rcx, rbx
call fcn.14004bb90
test al, al
je 0x14000597e
movsx rax, word [rbx + 0x70]
mov rcx, qword [rbx + 8]
imul rdx, rax, 0x2c
mov ecx, dword [rdx + rcx]
call fcn.14001ade0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rcx + 0x383c]
vaddss xmm1, xmm0, dword [rax + 0x144]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x1400057a6
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x14000579e
nop
movzx ecx, byte [r8]
test cl, cl
je 0x14000579e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005795
cmp byte [rax], cl
je 0x14000579e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005780
mov rdx, r14
call fcn.140040f30
call fcn.14001a810
lea r8, [0x140079477]
lea rdx, str.Faster_Loading_Screen
call fcn.14004e1b0
lea r8, [0x140079477]
lea rdx, str.Hitbox_Viewer
call fcn.14004e1b0
lea r8, [0x140079477]
lea rdx, str.Record_CPU
call fcn.14004e1b0
lea r8, [0x140078144]
lea rdx, str.Save_Combos.lua_by_damage__
call fcn.14004e1b0
cmp byte [0x140078144], dil
je 0x140005832
lea rax, [rbp + 0x1d0]
mov dword [rbp + 0x1d0], 0x1f4
lea r9, [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
lea r8, [0x140078128]
mov dword [rbp + 0x1e0], edi
mov rcx, r14
call fcn.140042ec0
lea r8, [0x140079477]
lea rdx, str.Combo_Mode
call fcn.14004e1b0
lea r8, [0x140079477]
lea rdx, str.Set_xInput
call fcn.14004e1b0
mov rdx, qword [0x1400794a0]
mov eax, dword [rdx + 0x4778]
movsxd rcx, dword [rdx + 0x4880]
dec word [rdx + 0x5bc0]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rdx + 0x4880], eax
mov rax, qword [rdx + 0x4888]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4778], r8d
je 0x1400058a8
test r8b, 4
jne 0x1400058a8
mov eax, dword [rdx + 0x5bbc]
mov dword [rdx + 0x37d0], eax
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x1400058fd
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x1400058ee
nop
movzx ecx, byte [r8]
test cl, cl
je 0x1400058ee
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x1400058e5
cmp byte [rax], cl
je 0x1400058ee
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x1400058d0
mov rdx, r14
call fcn.140040f30
mov rdx, qword [0x1400794a0]
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
vmovss xmm0, dword [rax + 0x144]
vsubss xmm1, xmm0, dword [rdx + 0x383c]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005985
mov r8, qword [rdx + 0x4bc0]
test r8, r8
je 0x140005985
movsx rax, word [r8 + 0x70]
imul rcx, rax, 0x2c
mov rax, qword [r8 + 8]
test byte [rcx + rax + 4], 8
jne 0x140005985
mov rax, qword [rdx + 0x3ef8]
dec dword [rax + 0xf0]
jmp 0x140005985
mov rdx, qword [0x1400794a0]
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005f84
mov rbx, qword [rdx + 0x4bc0]
test rbx, rbx
je 0x140005f84
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
lea rdx, str.Controls
mov rcx, rbx
call fcn.14004bb90
movzx esi, al
test al, al
je 0x1400059df
movsx rcx, word [rbx + 0x70]
imul rdx, rcx, 0x2c
mov rcx, qword [rbx + 8]
mov ecx, dword [rdx + rcx]
call fcn.14001ade0
test sil, sil
je 0x140005f84
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rcx + 0x383c]
vaddss xmm1, xmm0, dword [rax + 0x144]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], dil
jne 0x140005a7e
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005a76
movzx ecx, byte [r8]
test cl, cl
je 0x140005a76
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005a6d
cmp byte [rax], cl
je 0x140005a76
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005a58
mov rdx, r14
call fcn.140040f30
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp + 0x1e8]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140005af4
nop
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [rbp + 0x1f0], 0x3b5
jne 0x140005ad3
movzx eax, word [rbp + 0x200]
mov dword [0x140078160], eax
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp + 0x1e8]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140005aa0
call qword [sym.imp.WINMM.dll_joyGetNumDevs]
mov esi, eax
test eax, eax
je 0x140005bf0
mov rbx, rdi
nop word [rax + rax]
mov r8d, 0x2d8
lea rdx, [rbp + 0x220]
mov rcx, rbx
call qword [sym.imp.WINMM.dll_joyGetDevCapsW]
test eax, eax
jne 0x140005bda
mov edx, edi
lea rcx, str.Game_Device__d:
call fcn.14003e0c0
lea rdx, [rbp + 0x224]
lea rcx, str.Name:__s
call fcn.14003e0c0
lea rdx, [rbp + 0x2f0]
lea rcx, str.Manufacturer:__s
call fcn.14003e0c0
mov edx, dword [rbp + 0x27c]
lea rcx, str.Number_of_Buttons:__d
call fcn.14003e0c0
mov edx, dword [rbp + 0x2a8]
lea rcx, str.Number_of_Axes:__d
call fcn.14003e0c0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005bda
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005bd2
movzx ecx, byte [r8]
test cl, cl
je 0x140005bd2
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005bc9
cmp byte [rax], cl
je 0x140005bd2
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005bb4
mov rdx, r14
call fcn.140040f30
inc edi
inc rbx
cmp edi, esi
jb 0x140005b10
nop word [rax + rax]
vpxor xmm0, xmm0, xmm0
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
vmovups xmmword [rbp + 0x1d0], xmm0
call qword [sym.imp.XINPUT1_3.dll_Ordinal_2]
test eax, eax
jne 0x140005c7d
xor edx, edx
lea rcx, str.Device__d:
call fcn.14003e0c0
lea rcx, str.Is_Connected:_Yes
call fcn.14003e0c0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005c7d
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005c75
movzx ecx, byte [r8]
test cl, cl
je 0x140005c75
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005c6c
cmp byte [rax], cl
je 0x140005c75
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005c57
mov rdx, r14
call fcn.140040f30
vpxor xmm0, xmm0, xmm0
lea rdx, [rbp + 0x1d0]
mov ecx, 1
vmovups xmmword [rbp + 0x1d0], xmm0
call qword [sym.imp.XINPUT1_3.dll_Ordinal_2]
test eax, eax
jne 0x140005d0e
lea edx, [rax + 1]
lea rcx, str.Device__d:
call fcn.14003e0c0
lea rcx, str.Is_Connected:_Yes
call fcn.14003e0c0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005d0e
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005d06
movzx ecx, byte [r8]
test cl, cl
je 0x140005d06
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005cfd
cmp byte [rax], cl
je 0x140005d06
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005ce8
mov rdx, r14
call fcn.140040f30
vpxor xmm0, xmm0, xmm0
lea rdx, [rbp + 0x1d0]
mov ecx, 2
vmovups xmmword [rbp + 0x1d0], xmm0
call qword [sym.imp.XINPUT1_3.dll_Ordinal_2]
test eax, eax
jne 0x140005da6
lea edx, [rax + 2]
lea rcx, str.Device__d:
call fcn.14003e0c0
lea rcx, str.Is_Connected:_Yes
call fcn.14003e0c0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005da6
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005d9e
nop dword [rax]
movzx ecx, byte [r8]
test cl, cl
je 0x140005d9e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005d95
cmp byte [rax], cl
je 0x140005d9e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005d80
mov rdx, r14
call fcn.140040f30
vpxor xmm0, xmm0, xmm0
lea rdx, [rbp + 0x1d0]
mov ecx, 3
vmovups xmmword [rbp + 0x1d0], xmm0
call qword [sym.imp.XINPUT1_3.dll_Ordinal_2]
test eax, eax
jne 0x140005e37
lea edx, [rax + 3]
lea rcx, str.Device__d:
call fcn.14003e0c0
lea rcx, str.Is_Connected:_Yes
call fcn.14003e0c0
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005e37
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005e2f
movzx ecx, byte [r8]
test cl, cl
je 0x140005e2f
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005e26
cmp byte [rax], cl
je 0x140005e2f
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005e11
mov rdx, r14
call fcn.140040f30
mov edx, dword [0x140078160]
lea rcx, str.Press_key:__d
call fcn.14003e0c0
call fcn.14001a810
lea r8, [0x140079477]
lea rdx, str.Record_keys
call fcn.14004e1b0
mov rdx, qword [0x1400794a0]
mov eax, dword [rdx + 0x4778]
movsxd rcx, dword [rdx + 0x4880]
dec word [rdx + 0x5bc0]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rdx + 0x4880], eax
mov rax, qword [rdx + 0x4888]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4778], r8d
je 0x140005eb1
test r8b, 4
jne 0x140005eb1
mov eax, dword [rdx + 0x5bbc]
mov dword [rdx + 0x37d0], eax
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005f05
mov r8, r14
cmp r14, 0xffffffffffffffff
jae 0x140005ef6
movzx ecx, byte [r8]
test cl, cl
je 0x140005ef6
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x140005eed
cmp byte [rax], cl
je 0x140005ef6
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x140005ed8
mov rdx, r14
call fcn.140040f30
mov rdx, qword [0x1400794a0]
mov rax, qword [rdx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rdx + 0x3ef8]
vmovss xmm0, dword [rax + 0x144]
vsubss xmm1, xmm0, dword [rdx + 0x383c]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x140005f84
mov r8, qword [rdx + 0x4bc0]
test r8, r8
je 0x140005f84
movsx rax, word [r8 + 0x70]
imul rcx, rax, 0x2c
mov rax, qword [r8 + 8]
test byte [rcx + rax + 4], 8
jne 0x140005f84
mov rax, qword [rdx + 0x3ef8]
dec dword [rax + 0xf0]
call fcn.140054960
mov rcx, qword [0x1400794a0]
lea r8, [0x140079460]
lea rdx, str.Close
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rcx + 0x383c]
vaddss xmm1, xmm0, dword [rax + 0x144]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
call fcn.14004e1b0
cmp byte [0x140079460], 0
mov r14, qword [rsp + 0x638]
mov rdi, qword [rsp + 0x660]
mov rsi, qword [rsp + 0x658]
mov rbx, qword [rsp + 0x650]
jne 0x140006079
mov rcx, qword [0x1400794a0]
mov rax, qword [rcx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
vmovss xmm0, dword [rax + 0x144]
vsubss xmm1, xmm0, dword [rcx + 0x383c]
vaddss xmm0, xmm1, dword [rax + 0x20]
vmovss dword [rax + 0x144], xmm1
vaddss xmm1, xmm0, dword [rax + 0x148]
vmovss dword [rax + 0x100], xmm1
call fcn.14004a250
call fcn.140019f50
mov rcx, qword [rbp + 0x500]
xor rcx, rsp
call fcn.14005b410
add rsp, 0x640
pop rbp
ret
call fcn.140004c50
int3