Function at 0x180004728
Capabilities:
Get common file path

Disassembly:
jmp 0x180069500
push rbx
push rsi
push rdi
sub rsp, 0x660
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x180135088]
xor rax, rsp
mov qword [rsp + 0x650], rax
mov rbx, rcx
test rdx, rdx
je 0x180069a92
test r8, r8
je 0x180069a92
mov rax, qword [rdx + 8]
add rcx, 0x1778
mov edx, 4
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180069550
mov eax, dword [r8]
mov dword [rbx + 0x40b0], eax
mov eax, dword [r8 + 4]
mov dword [rbx + 0x40b4], eax
movzx eax, byte [r8 + 0x14]
mov byte [rbx + 0x47b0], al
mov eax, dword [rbx + 0x4800]
mov dword [rbx + 0x40b8], eax
mov dword [rbx + 0x40bc], 0x800000
cmp qword [rbx + 0x1978], rdx
jne 0x180069770
mov edx, 0x104
lea rsi, [0x18013af60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rax, [0x180104938]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, str._s_s
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov rcx, rsi
call fcn.180002bfd
xor edx, edx
mov rcx, rsi
call fcn.180003b8e
mov qword [rbx + 0x1978], rax
test rax, rax
jne 0x180069669
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069741
lea rdx, str.CH264EncodeVideo::InitEncodeAPI_:Could_not_Load_NvEncodeAPI.dll
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069741
lea rdx, str.NvEncodeAPICreateInstance
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
jne 0x1800696b0
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069741
lea rdx, str.CH264EncodeVideo::InitEncodeAPI_:Cant_Initialize_EncodeAPI_function_list
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069741
mov ecx, 0x9f8
call fcn.180002ba3
mov qword [rbx + 0x2ec8], rax
test rax, rax
jne 0x1800696ee
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069741
lea rdx, str.CH264EncodeVideo::InitEncodeAPI_:Could_not_get_NV_ENCODE_API_FUNCTION_LIST
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069741
xor edx, edx
mov r8d, 0x9f8
mov rcx, rax
call fcn.180003a85
mov rax, qword [rbx + 0x2ec8]
mov dword [rax], 0x70020008
mov rcx, qword [rbx + 0x2ec8]
call rsi
test eax, eax
je 0x180069770
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069741
mov r8d, eax
lea rdx, str.CH264EncodeVideo::InitEncodeAPI_:Failed_to_create_EncodeAPI_Instance_with_code:_d
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup_:Loading_nvEncodeAPI_dll_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
lea rdx, [rbx + 0x1778]
mov rcx, rbx
cmp byte [rbx + 0xac], 0
jne 0x18006978a
call fcn.180003c0b
jmp 0x18006978f
call fcn.180001e51
mov rcx, rbx
call fcn.1800014c9
test al, al
jne 0x1800697ca
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup_:OpenAndValidateHWEncoder_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
mov rcx, rbx
call fcn.18000537b
test al, al
jne 0x180069805
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup_:InitializeHWEncoder_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
xor eax, eax
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, 0x5e8
lea rcx, [rsp + 0x60]
call fcn.180003a85
mov dword [rsp + 0x40], 0x70010008
lea rdi, [rbx + 0x3ca4]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x44], 0x400
lea rax, [rbx + 0x3ca0]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x2ec8]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x1980]
call qword [rax + 0xb8]
mov r8d, eax
test eax, eax
jne 0x180069a40
test rdi, rdi
je 0x1800698a5
cmp dword [rbx + 0x74], 0xf00
jae 0x180069881
cmp dword [rbx + 0x78], 0x870
jb 0x1800698a5
movss xmm0, dword [rbx + 0x8c]
comiss xmm0, dword [0x1801068ec]
jb 0x1800698a5
cmp byte [rbx + 0x9c], 0
jne 0x1800698ae
cmp byte [rdi + 7], 0x34
jne 0x1800698a5
mov byte [rdi + 7], 0x33
cmp byte [rbx + 0x9c], 0
je 0x1800698e9
mov rcx, rbx
call fcn.180002f59
test al, al
jne 0x1800698e9
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup_:PrepareDXVAProc_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
cmp byte [rbx + 0xac], 0
je 0x180069a39
mov ecx, 0x48
call fcn.180002ba3
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18006991c
mov edx, 0x14
lea r8d, [rdx + 0xc]
mov rcx, rax
call fcn.180003bd4
nop
mov qword [rbx + 0x4a30], rax
test rax, rax
jne 0x180069957
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup:_Queue_creation_failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x4808], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbx + 0x4808], 0
je 0x180069a00
cmp eax, 0xb7
je 0x180069a00
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x4810], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbx + 0x4810], 0
je 0x1800699c7
cmp eax, 0xb7
jne 0x180069a39
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
mov r9d, eax
mov r8, qword [rbx + 0x4810]
lea rdx, str.CH264EncodeVideo::Setup:_framesDone_createevent___X_._failed_with_gle__X_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
mov r9d, eax
mov r8, qword [rbx + 0x4808]
lea rdx, str.CH264EncodeVideo::Setup:_encFlush_createevent___X_._failed_with_gle__X_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
mov al, 1
jmp 0x180069ac0
mov dword [0x180132050], 7
mov eax, dword [0x18013218c]
cmp eax, 7
jg 0x180069a6e
lea rdx, str.CH264EncodeVideo::FetchSPSPPSHeader_:FetchSPSPPSHeader_Failure_with_code:_d
lea rcx, vtable.CLogger.0
call fcn.1800024fa
mov eax, dword [0x18013218c]
mov dword [0x180132050], 7
cmp eax, 7
jg 0x180069abe
lea rdx, str.CH264EncodeVideo::Setup_:Fetch_header_failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x180069abe
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x180069abe
mov r9, r8
mov r8, rdx
lea rdx, str.CH264EncodeVideo::Setup_:Invalid_Setup_params._pParams__p___psEncodeControlParams__p_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
xor al, al
mov rcx, qword [rsp + 0x650]
xor rcx, rsp
call fcn.180002397
add rsp, 0x660
pop rdi
pop rsi
pop rbx
ret