Function at 0x140077310
Capabilities:
Create service
Delete service
Execute command
Start service
Stop service

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r15
lea rbp, [rsp - 0x350]
sub rsp, 0x450
mov rax, qword [0x1400c8040]
xor rax, rsp
mov qword [rbp + 0x340], rax
lea rcx, [0x140077050]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov edx, 1
lea rcx, [0x140077170]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
lea r9, [rbp + 0x1b0]
mov edx, 0x100
lea r8, [rbp + 0x1f0]
lea rcx, str.GigabyteDriver.sys
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rdi, rax
test rax, rax
jne 0x1400773b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_OpenSCManager_Failed__d_n
call fcn.140007850
xor r15d, r15d
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x60], r15
lea r8, str.Gigabytedriver
mov qword [rsp + 0x58], r15
lea rdx, str.Gigabytedriver
mov qword [rsp + 0x50], r15
mov r9d, 0xf01ff
mov qword [rsp + 0x48], r15
mov rcx, rdi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 1
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rbx, rax
test rax, rax
jne 0x14007747a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x140077448
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
je 0x140077448
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_CrateService_Failed__d_n
call fcn.140007850
mov r8d, 0xf01ff
lea rdx, str.Gigabytedriver
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rbx, rax
test rax, rax
jne 0x14007747a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_OpenService_Failed__d_n
call fcn.140007850
mov qword [rsp + 0x470], rsi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x478], r14
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_StartServiceA]
test eax, eax
jne 0x1400774e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1400774e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x420
je 0x1400774e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_StartService_Failed__d_n
call fcn.140007850
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, str._GDRV_Failed_to_load_Gigabyte_Driver_n
jmp 0x140077d76
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, str._GDRV_Loaded_Gigabyte_Driver_n
call fcn.140007850
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
lea rcx, str..GIO
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
lea rcx, [0x14007acd0]
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140077605
lea rdx, str.RtlGetVersion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140077605
xor edx, edx
lea rcx, [rbp + 0x1f4]
mov r8d, 0x110
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x1f0]
mov dword [rbp + 0x1f0], 0x114
call rbx
test eax, eax
jne 0x140077605
lea rcx, [rsp + 0x70]
mov edx, 2
lea rax, [rbp + 0x1f0]
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1400775b0
jmp 0x140077683
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x114
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x70]
mov edx, 2
lea rax, [rbp + 0x90]
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140077630
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x10]
lea rdx, [rbp + 0x1b0]
mov qword [rbp + 0x1b0], r15
movups xmmword [rcx], xmm0
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x78]
shr rax, 0x20
mov dword [0x1401e8428], eax
call fcn.1400078c0
test eax, eax
js 0x140077d7b
mov rsi, qword [rbp + 0x1b0]
mov ecx, 8
mov qword [rbp + 0x1c0], rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xorps xmm0, xmm0
mov qword [rsp + 0x38], r15
mov r9d, 0x18
lea r8, [rbp + 0x1c0]
mov edx, 0xc3502808
mov rcx, r14
mov qword [rax], 0xe
mov qword [rbp + 0x1c8], rax
lea rax, [rbp + 0x1b8]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x310]
mov dword [rsp + 0x28], 0x30
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x1d0], 1
movups xmmword [rbp + 0x310], xmm0
mov dword [rbp + 0x1b8], r15d
movups xmmword [rbp + 0x320], xmm0
movups xmmword [rbp + 0x330], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jns 0x140077759
lea rcx, str._GDRV_DSE_Failed_to_Disabled_n
jmp 0x140077d76
lea rcx, str._GDRV_DSE_Disabled_n
call fcn.140007850
lea r9, [rbp + 0x1b0]
mov edx, 0x100
lea r8, [rbp + 0x1f0]
lea rcx, str.IOCTLDriver.sys
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rdi, rax
test rax, rax
jne 0x1400777b1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._IOCTL_OpenSCManager_Failed__d_n
call fcn.140007850
mov qword [rsp + 0x60], r15
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x58], r15
lea r8, str.IOCTLdriver
mov qword [rsp + 0x50], r15
lea rdx, str.IOCTLdriver
mov qword [rsp + 0x48], r15
mov r9d, 0xf01ff
mov qword [rsp + 0x40], r15
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 1
call qword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov rbx, rax
test rax, rax
jne 0x140077870
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x14007783e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
je 0x14007783e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._IOCTL_CrateService_Failed__d_n
call fcn.140007850
mov r8d, 0xf01ff
lea rdx, str.IOCTLdriver
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rbx, rax
test rax, rax
jne 0x140077870
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._IOCTL_OpenService_Failed__d_n
call fcn.140007850
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_StartServiceA]
test eax, eax
jne 0x1400778d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1400778d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x420
je 0x1400778d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._IOCTL_StartService_Failed__d_n
call fcn.140007850
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov r8, r14
mov rdx, rsi
call fcn.140007e10
jmp 0x140077d7b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, str._IOCTL_Loaded_IOCTL_Driver_n
call fcn.140007850
mov r8, r14
mov rdx, rsi
call fcn.140007e10
test eax, eax
js 0x140077d7b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov rdi, rax
test rax, rax
jne 0x140077938
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_OpenSCManager_Failed__d_n
call fcn.140007850
mov r8d, 0xf01ff
lea rdx, str.Gigabytedriver
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov rbx, rax
test rax, rax
jne 0x14007796a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_OpenService_Failed__d_n
call fcn.140007850
lea r8, [rbp + 0x1c0]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
jne 0x140077999
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_ControlService_Failed__d_n
call fcn.140007850
jmp 0x1400779a5
lea rcx, str._GDRV_Giagabyte_Driver_Unloaded_n
call fcn.140007850
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeleteService]
test eax, eax
jne 0x1400779dd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._GDRV_DeleteService_Failed__d_n
call fcn.140007850
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x140077d7b
lea rcx, str._GDRV_Giagabyte_Driver_Service_Deleted_n
call fcn.140007850
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
lea rcx, str._CS2_You_may_now_load_CS2__in_Fullscreen_Window_Mode_n
call fcn.140007850
mov r9d, 0x20
lea r8, str.Alani_NU
lea rdx, str.Driver_loaded_Properly__You_may_now_open_up_CS2.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop dword [rax]
nop word [rax + rax]
lea rdx, str.Counter_Strike_2
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
je 0x140077a30
lea rcx, str._CS2_Waiting_for_CS2_to_load_n
call fcn.140007850
mov ecx, 0xfa0
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
lea rcx, str..KernalDriver
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x38], r15
lea rcx, [rbp + 0x1b0]
mov qword [rsp + 0x30], rcx
lea r8, [rbp + 0x1b8]
lea rcx, [rbp + 0x1b8]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rcx
mov r9d, 4
mov rcx, rax
mov qword [0x1401e82e8], rax
mov edx, 0x2219a4
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edx, r15d
lea rcx, str._CS2_PID_:__d_n
test eax, eax
cmovne edx, dword [rbp + 0x1b8]
mov dword [0x1401e82f0], edx
call fcn.140007850
mov rcx, qword [0x1401e82e8]
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x38], r15
lea r8, [rbp + 0x1b8]
mov qword [rsp + 0x30], rax
mov r9d, 8
lea rax, [rbp + 0x1b8]
mov dword [rsp + 0x28], 8
mov edx, 0x2219c0
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, r15
lea rcx, str._CS2_Engine_:__p_n
test eax, eax
cmovne rdx, qword [rbp + 0x1b8]
mov qword [0x1401e76a8], rdx
call fcn.140007850
mov rcx, qword [0x1401e82e8]
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x38], r15
lea r8, [rbp + 0x1b8]
mov qword [rsp + 0x30], rax
mov r9d, 8
lea rax, [rbp + 0x1b8]
mov dword [rsp + 0x28], 8
mov edx, 0x221998
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rdx, r15
lea rcx, str._CS2_Cleint_:__p_n
test eax, eax
cmovne rdx, qword [rbp + 0x1b8]
mov qword [0x1401e76a0], rdx
call fcn.140007850
call fcn.1400771b0
mov qword [rbp + 0x1b0], 0x64
lea rcx, [rbp + 0x1b0]
call fcn.140009c60
lea rdx, str.Counter_Strike_2
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
test rax, rax
jne 0x140077bc3
lea rcx, str._CS2_Exiting_n
call fcn.140007850
mov ecx, 0xc8
mov word [0x1401e76b0], 0x101
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140007ef0
mov rcx, qword [0x1401e76c0]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x1401e7778]
mov rcx, qword [0x1401e77a0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, str._OV_Destroyed_Overlay_n
call fcn.140007850
mov rbx, qword [0x1401e8318]
test rbx, rbx
je 0x140077c4a
mov rdi, qword [rbx + 0x98]
jmp 0x140077c4d
mov rdi, r15
call fcn.14003bd50
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140077c61
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi]
test rcx, rcx
je 0x140077c6f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140077c7e
mov rax, qword [rcx]
call qword [rax + 0x10]
and dword [rbx + 0xc], 0xfffffff7
mov rax, qword [0x1401e8318]
mov qword [rbx + 0x88], r15
mov qword [rbx + 0x98], r15
test rax, rax
je 0x140077ca2
dec dword [rax + 0xf0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x1401e8318]
test rax, rax
je 0x140077cc0
mov rdi, qword [rax + 0x90]
jmp 0x140077cc3
mov rdi, r15
mov rcx, qword [rdi + 0x30]
lea rbx, [rax + 8]
test rcx, rcx
je 0x140077cdd
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x1401e8318]
and dword [rbx + 4], 0xfffffff8
mov qword [rbx + 0x78], r15
mov qword [rbx + 0x88], r15
test rax, rax
je 0x140077cf7
dec dword [rax + 0xf0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [0x1401e8318]
mov qword [0x1401e8318], rbx
call fcn.140013190
mov qword [0x1401e8318], r15
test rbx, rbx
je 0x140077d42
mov rcx, rbx
call fcn.140029b10
mov rax, qword [0x1401e8318]
test rax, rax
je 0x140077d39
dec dword [rax + 0xf0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, str._OV_Destroyed_ImGui_n
call fcn.140007850
mov rcx, qword [0x1401e76c0]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x1401e7778]
mov rcx, qword [0x1401e77a0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, str._OV_Destroyed_Overlay_n
call fcn.140007850
lea rcx, str.pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov r14, qword [rsp + 0x478]
xor eax, eax
mov rsi, qword [rsp + 0x470]
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.140077fb0
mov rbx, qword [rsp + 0x480]
add rsp, 0x450
pop r15
pop rdi
pop rbp
ret