Function at 0x140039c40
Capabilities:
Acquire debug privileges
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1402eec28]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r14, rdx
movsxd r12, ecx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
call sub.obs.dll_obs_init_win32_crash_handler
lea ecx, [r13 + 1]
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x38]
lea edx, [r13 + 0x28]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140039d6b
lea r8, [rsp + 0x30]
lea rdx, str.SeDebugPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140039cfb
mov dword [rbp + 0x60], 1
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x64], rax
mov dword [rbp + 0x6c], 2
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9d, [r13 + 0x10]
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
lea r8, [rsp + 0x30]
lea rdx, str.SeIncreaseBasePriorityPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x140039d60
mov dword [rbp + 0x60], 1
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x64], rax
mov dword [rbp + 0x6c], 2
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
mov r9d, 0x10
lea r8, [rbp + 0x60]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x140039d60
lea rdx, str.Could_not_set_privilege_to_increase_GPU_priority
mov ecx, 0x12c
call sub.obs.dll_blog
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
lea rcx, [0x1400366a0]
call sub.obs.dll_base_set_crash_handler
lea rcx, str.RTWorkQ.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x140039da0
lea rdx, str.RtwqStartup
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
xor edx, edx
lea rcx, [0x1402f6db8]
call sub.obs.dll_base_get_log_handler
mov rdx, r14
mov ecx, r12d
call sub.obs.dll_obs_set_cmdline_args
cmp r12, 1
jle 0x14003a19c
mov edi, 1
nop dword [rax + rax]
mov rbx, qword [r14 + rdi*8]
lea rdx, str.__portable
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003a189
cmp byte [rbx], 0x2d
jne 0x140039e00
cmp byte [rbx + 1], 0x70
jne 0x140039e00
cmp byte [rbx + 2], r13b
je 0x14003a189
mov rcx, r13
lea rdx, str.__multi
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140039e2f
cmp rcx, 8
jne 0x140039e10
mov byte [0x1402f6da5], 1
jmp 0x14003a190
cmp byte [rbx], 0x2d
jne 0x140039e4c
cmp byte [rbx + 1], 0x6d
jne 0x140039e4c
cmp byte [rbx + 2], r13b
jne 0x140039e4c
mov byte [0x1402f6da5], 1
jmp 0x14003a190
lea rdx, str.__verbose
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039e6b
mov byte [0x1402f6da6], 1
jmp 0x14003a190
lea rdx, str.__always_on_top
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039e8a
mov byte [0x1402f6da0], 1
jmp 0x14003a190
lea rdx, str.__unfiltered_log
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039ea9
mov byte [0x1402f6da7], 1
jmp 0x14003a190
lea rdx, str.__startstreaming
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039ec8
mov byte [0x1402f6d99], 1
jmp 0x14003a190
lea rdx, str.__startrecording
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039ee7
mov byte [0x1402f6d9a], 1
jmp 0x14003a190
lea rdx, str.__startreplaybuffer
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039f06
mov byte [0x1402f6d9b], 1
jmp 0x14003a190
lea rdx, str.__startvirtualcam
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039f25
mov byte [0x1402f6d9c], 1
jmp 0x14003a190
lea rdx, str.__collection
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039f6a
inc rdi
cmp rdi, r12
jge 0x14003a190
mov rdx, qword [r14 + rdi*8]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], r13b
jne 0x140039f50
lea rcx, [0x1402e3238]
call fcn.140004ee0
jmp 0x14003a190
lea rdx, str.__profile
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140039fae
inc rdi
cmp rdi, r12
jge 0x14003a190
mov rdx, qword [r14 + rdi*8]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x140039f94
lea rcx, [0x1402e3258]
call fcn.140004ee0
jmp 0x14003a190
mov rcx, r13
lea rdx, str.__scene
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14003a00a
cmp rcx, 8
jne 0x140039fc0
inc rdi
cmp rdi, r12
jge 0x14003a190
mov rdx, qword [r14 + rdi*8]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], r13b
jne 0x140039ff0
lea rcx, [0x1402e31b8]
call fcn.140004ee0
jmp 0x14003a190
lea rdx, str.__minimize_to_tray
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a029
mov byte [0x1402f6d9d], 1
jmp 0x14003a190
lea rdx, str.__studio_mode
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a048
mov byte [0x1402f6d9e], 1
jmp 0x14003a190
lea rdx, str.__allow_opengl
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a067
mov byte [0x1402f6d9f], 1
jmp 0x14003a190
lea rdx, str.__disable_updater
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a086
mov byte [0x1402f6da3], 1
jmp 0x14003a190
lea rdx, str.__disable_missing_files_check
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a0a5
mov byte [0x1402f6da4], 1
jmp 0x14003a190
lea rdx, str.__disable_high_dpi_scaling
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14003a0c4
mov byte [0x1402f6da1], 1
jmp 0x14003a190
mov rcx, r13
lea rdx, str.__help
nop
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14003a0e7
cmp rcx, 7
jne 0x14003a0d0
mov al, 1
jmp 0x14003a0fe
cmp byte [rbx], 0x2d
jne 0x14003a0fc
cmp byte [rbx + 1], 0x68
jne 0x14003a0fc
cmp byte [rbx + 2], r13b
jne 0x14003a0fc
mov al, 1
jmp 0x14003a0fe
xor al, al
test al, al
jne 0x14003a3e1
lea rdx, str.__version
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003a12e
cmp byte [rbx], 0x2d
jne 0x14003a12a
cmp byte [rbx + 1], 0x56
jne 0x14003a12a
cmp byte [rbx + 2], r13b
je 0x14003a12e
xor al, al
jmp 0x14003a130
mov al, 1
test al, al
je 0x14003a190
lea rdx, str.OBS_Studio__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001b30
mov rbx, rax
call sub.Qt5Core.dll_public:_static_class_QCoreApplication____ptr64___cdecl_QCoreApplication::instance_void_
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.14002fa60
nop
mov rdx, rax
mov rcx, rbx
call fcn.14002a630
mov rcx, rax
lea rdx, [0x140202284]
call fcn.140001b30
nop
lea rcx, [rbp + 0x60]
call fcn.140002620
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov byte [0x1402f6d98], 1
inc rdi
cmp rdi, r12
jl 0x140039dd0
cmp byte [0x1402f6d98], r13b
jne 0x14003a1f3
lea rcx, str..._.._portable_mode
call sub.obs.dll_os_file_exists
test al, al
jne 0x14003a1ec
lea rcx, str..._.._obs_portable_mode
call sub.obs.dll_os_file_exists
test al, al
jne 0x14003a1ec
lea rcx, str..._.._portable_mode.txt
call sub.obs.dll_os_file_exists
test al, al
jne 0x14003a1ec
lea rcx, str..._.._obs_portable_mode.txt
call sub.obs.dll_os_file_exists
test al, al
mov byte [0x1402f6d98], r13b
je 0x14003a1f3
mov byte [0x1402f6d98], 1
cmp byte [0x1402f6da3], r13b
jne 0x14003a22a
lea rcx, str..._.._disable_updater
call sub.obs.dll_os_file_exists
test al, al
jne 0x14003a223
lea rcx, str..._.._disable_updater.txt
call sub.obs.dll_os_file_exists
test al, al
mov byte [0x1402f6da3], r13b
je 0x14003a22a
mov byte [0x1402f6da3], 1
cmp byte [0x1402f6da4], r13b
jne 0x14003a261
lea rcx, str..._.._disable_missing_files_check
call sub.obs.dll_os_file_exists
test al, al
jne 0x14003a25a
lea rcx, str..._.._disable_missing_files_check.txt
call sub.obs.dll_os_file_exists
test al, al
mov byte [0x1402f6da4], r13b
je 0x14003a261
mov byte [0x1402f6da4], 1
call fcn.140039660
lea rax, [0x140200ba0]
mov qword [rsp + 0x40], rax
lea rax, [0x140200ba8]
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x30], 1
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rdi
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb8]
mov dword [rsp + rcx + 0x3c], edx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x58], rax
mov byte [rbp - 0x2c], 0
mov byte [rbp - 0x37], 0
lea rcx, [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp - 0x28], r13
mov rax, qword [0x1402f7ea8]
mov qword [rbp - 0x34], rax
mov qword [rbp - 0x40], r13
mov ecx, 3
call qword [sym.imp.libcurl.dll_curl_global_init]
mov r8, r14
mov edx, r12d
lea rcx, [rsp + 0x40]
call fcn.140037710
mov ebx, eax
test r15, r15
je 0x14003a352
lea rdx, str.RtwqShutdown
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
call sub.obs.dll_bnum_allocs
mov r8d, eax
lea rdx, str.Number_of_memory_leaks:__ld
mov ecx, 0x12c
call sub.obs.dll_blog
xor edx, edx
xor ecx, ecx
call sub.obs.dll_base_set_log_handler
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x40], rdi
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb8]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x58]
call fcn.14002bd40
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov eax, ebx
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1401d5bf0
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.__help___h:_Get_list_of_available_commands._n_n__startstreaming:_Automatically_start_streaming._n__startrecording:_Automatically_start_recording._n__startreplaybuffer:_Start_replay_buffer._n__startvirtualcam:_Start_virtual_camera__if_available_._n_n__collection__string_:_Use_specific_scene_collection._n__profile__string_:_Use_specific_profile._n__scene__string_:_Start_with_specific_scene._n_n__studio_mode:_Enable_studio_mode._n__minimize_to_tray:_Minimize_to_system_tray._n__portable___p:_Use_portable_mode._n__multi___m:_Dont_warn_when_launching_multiple_instances._n_n__verbose:_Make_log_more_verbose._n__always_on_top:_Start_in_always_on_top_mode._n_n__unfiltered_log:_Make_log_unfiltered._n_n__disable_updater:_Disable_built_in_updater__Windows_Mac_only__n_n__disable_missing_files_check:_Disable_the_missing_files_dialog_which_can_appear_on_startup._n_n__disable_high_dpi_scaling:_Disable_automatic_high_DPI_scaling_n_n
lea rcx, [rbp + 0x60]
call fcn.1400068f0
lea rcx, [rbp + 0x60]
call fcn.140008e50
mov rdx, rax
mov r9d, 0x40
lea r8, str.Help
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3