Function at 0x180004bb0
Capabilities:
Get common file path

Disassembly:
jmp 0x18006f7b0
push rbp
push rsi
push rdi
sub rsp, 0x660
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x698], rbx
mov rax, qword [0x180135088]
xor rax, rsp
mov qword [rsp + 0x650], rax
mov rbx, rcx
test rdx, rdx
je 0x18006ffa5
test r8, r8
je 0x18006ffa5
mov rax, qword [rdx + 8]
add rcx, 0x1778
mov edx, 4
nop dword [rax]
nop word [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 0x18006f810
mov eax, dword [r8]
mov dword [rbx + 0x40b4], eax
mov eax, dword [r8 + 4]
mov dword [rbx + 0x40b8], eax
movzx eax, byte [r8 + 0x14]
mov byte [rbx + 0x47b0], al
mov eax, dword [rbx + 0x4800]
mov dword [rbx + 0x40bc], eax
mov dword [rbx + 0x40c0], 0x800000
mov dword [0x180132050], 6
cmp dword [0x18013218c], 6
jg 0x18006f8dd
mov eax, dword [rbx + 0x40bc]
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0x40b8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0x40b4]
mov r8d, 0x115
lea rdx, str.CH265EncodeVideo::Setup___d_:_m_dwEncodeFrameWidth__d___m_dwEncodeFrameHeight__d___m_dwNumBuffers__d_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
cmp qword [rbx + 0x1978], 0
jne 0x18006fa78
mov edx, 0x104
lea rdi, [0x18013b1d0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rax, str.nvEncodeAPI64.dll
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, str._s_s
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov rcx, rdi
call fcn.180002bfd
xor edx, edx
mov rcx, rdi
call fcn.180003b8e
mov qword [rbx + 0x1978], rax
test rax, rax
jne 0x18006f971
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006fa49
lea rdx, str.CH265EncodeVideo::InitEncodeAPI_:Could_not_Load_NvEncodeAPI.dll
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006fa49
lea rdx, str.NvEncodeAPICreateInstance
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x18006f9b8
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006fa49
lea rdx, str.CH265EncodeVideo::InitEncodeAPI_:Cant_Initialize_EncodeAPI_function_list
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006fa49
mov ecx, 0x9f8
call fcn.180002ba3
mov qword [rbx + 0x2ed8], rax
test rax, rax
jne 0x18006f9f6
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006fa49
lea rdx, str.CH265EncodeVideo::InitEncodeAPI_:Could_not_get_NV_ENCODE_API_FUNCTION_LIST
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006fa49
xor edx, edx
mov r8d, 0x9f8
mov rcx, rax
call fcn.180003a85
mov rax, qword [rbx + 0x2ed8]
mov dword [rax], 0x70020008
mov rcx, qword [rbx + 0x2ed8]
call rdi
test eax, eax
je 0x18006fa78
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006fa49
mov r8d, eax
lea rdx, str.CH265EncodeVideo::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 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup_:Loading_nvEncodeAPI_dll_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
xor esi, esi
cmp byte [rbx + 0xac], sil
jne 0x18006fc6b
lea rcx, [rbx + 0x27cc]
xor edx, edx
mov r8d, 0x70c
call fcn.180003a85
mov dword [rbx + 0x27c8], 0xf0050008
lea rcx, [rbx + 0x19cc]
xor edx, edx
mov r8d, 0xdfc
call fcn.180003a85
mov dword [rbx + 0x19c8], 0xf0060008
mov eax, dword [rbx + 0x179c]
test eax, eax
je 0x18006fae9
add eax, 0xfffffffe
test eax, 0xfffffffd
je 0x18006fae0
movups xmm0, xmmword [0x180106940]
jmp 0x18006faf0
movups xmm0, xmmword [0x180106950]
jmp 0x18006faf0
movups xmm0, xmmword [str.D_bg]
movups xmmword [rbx + 0x1998], xmm0
mov eax, dword [rbx + 0x1780]
mov dword [rbx + 0x27fc], eax
mov eax, dword [rbx + 0x1784]
mov dword [rbx + 0x2800], eax
mov eax, dword [rbx + 0x1790]
mov ecx, 0x1e
test eax, eax
cmovne ecx, eax
mov dword [rbx + 0x19dc], ecx
mov dword [rbx + 0x19f0], 0x70010008
mov eax, dword [rbx + 0x1788]
mov dword [rbx + 0x1a04], eax
mov eax, dword [rbx + 0x178c]
mov dword [rbx + 0x1a08], eax
mov eax, dword [rbx + 0x1794]
mov dword [rbx + 0x1a00], eax
mov eax, dword [rbx + 0x1794]
mov dword [rbx + 0x19f8], eax
mov eax, dword [rbx + 0x1794]
mov dword [rbx + 0x19fc], eax
mov eax, dword [rbx + 0x1798]
mov dword [rbx + 0x19f4], eax
mov eax, dword [rbx + 0x17ac]
mov dword [rbx + 0x1a0c], eax
mov eax, dword [rbx + 0x17b0]
mov dword [rbx + 0x1a10], eax
mov eax, dword [rbx + 0x17a0]
shr eax, 2
xor eax, dword [rbx + 0x1a14]
and eax, 2
xor dword [rbx + 0x1a14], eax
mov eax, dword [rbx + 0x17b4]
mov dword [rbx + 0x1a24], eax
mov eax, dword [rbx + 0x17b8]
mov dword [rbx + 0x1a28], eax
mov eax, dword [rbx + 0x17bc]
mov dword [rbx + 0x1a2c], eax
mov eax, dword [rbx + 0x1790]
mov dword [rbx + 0x1a84], eax
mov eax, dword [rbx + 0x17c0]
mov dword [rbx + 0x1a90], eax
mov edx, dword [rbx + 0x17a0]
shr edx, 5
and edx, 1
mov dword [rbx + 0x40c4], edx
shl edx, 8
mov eax, dword [rbx + 0x1a80]
btr eax, 8
or edx, eax
btr edx, 0xa
bts edx, 9
mov dword [rbx + 0x1a80], edx
mov eax, dword [rbx + 0x17a8]
mov dword [rbx + 0x1aa8], eax
movzx eax, byte [rbx + 0x14f0]
neg al
sbb ecx, ecx
and ecx, 0x1000
and edx, 0xffffc7ff
or ecx, edx
mov dword [rbx + 0x1a80], ecx
mov eax, dword [rbx + 0x1788]
mov dword [rbx + 0x3c04], eax
mov ecx, dword [rbx + 0x1784]
mov eax, dword [rbx + 0x1780]
test ecx, ecx
je 0x18006fc5d
xor edx, edx
div ecx
mov dword [rbx + 0x3c00], eax
mov dword [rbx + 0x3c08], esi
jmp 0x18006fc7a
lea rdx, [rbx + 0x1778]
mov rcx, rbx
call fcn.18000371a
mov rcx, rbx
call fcn.18000257c
test al, al
jne 0x18006fcb5
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup_:OpenAndValidateHWEncoder_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
mov rcx, rbx
call fcn.180002b7b
test al, al
jne 0x18006fcf0
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup_:InitializeHWEncoder_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
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 + 0x3cb4]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x44], 0x400
lea rax, [rbx + 0x3cb0]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x2ed8]
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x1980]
call qword [rax + 0xb8]
mov r8d, eax
test eax, eax
jne 0x18006ff53
test rdi, rdi
je 0x18006fd90
cmp dword [rbx + 0x74], 0xf00
jae 0x18006fd6c
cmp dword [rbx + 0x78], 0x870
jb 0x18006fd90
movss xmm0, dword [rbx + 0x8c]
comiss xmm0, dword [0x1801068ec]
jb 0x18006fd90
cmp byte [rbx + 0x9c], sil
jne 0x18006fd99
cmp byte [rdi + 7], 0x34
jne 0x18006fd90
mov byte [rdi + 7], 0x33
cmp byte [rbx + 0x9c], sil
je 0x18006fdd4
mov rcx, rbx
call fcn.180001ac8
test al, al
jne 0x18006fdd4
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup_:PrepareDXVAProc_Failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
cmp byte [rbx + 0xac], sil
je 0x18006ff4c
mov dword [0x180132050], 6
cmp dword [0x18013218c], 6
jg 0x18006fe07
lea rdx, str.B_FRAMES_FTS_ENABLED
lea rcx, vtable.CLogger.0
call fcn.1800024fa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x48
call fcn.180002ba3
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18006fe37
mov edx, 0x14
lea r8d, [rdx + 0xc]
mov rcx, rax
call fcn.180003bd4
mov rsi, rax
mov qword [rbx + 0x4a30], rsi
test rsi, rsi
jne 0x18006fe72
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup:_Queue_creation_failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
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 0x18006ff13
cmp eax, 0xb7
je 0x18006ff13
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 0x18006feda
cmp eax, 0xb7
jne 0x18006ff4c
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
mov r9d, eax
mov r8, qword [rbx + 0x4810]
lea rdx, str.CH265EncodeVideo::Setup:_framesDone_createevent___X_._failed_with_gle__X_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
mov r9d, eax
mov r8, qword [rbx + 0x4808]
lea rdx, str.CH265EncodeVideo::Setup:_encFlush_createevent___X_._failed_with_gle__X_
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
mov al, 1
jmp 0x18006ffd3
mov dword [0x180132050], 7
mov eax, dword [0x18013218c]
cmp eax, 7
jg 0x18006ff81
lea rdx, str.CH265EncodeVideo::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 0x18006ffd1
lea rdx, str.CH265EncodeVideo::Setup_:Fetch_header_failed
lea rcx, vtable.CLogger.0
call fcn.1800024fa
jmp 0x18006ffd1
mov dword [0x180132050], 7
cmp dword [0x18013218c], 7
jg 0x18006ffd1
mov r9, r8
mov r8, rdx
lea rdx, str.CH265EncodeVideo::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
mov rbx, qword [rsp + 0x698]
add rsp, 0x660
pop rdi
pop rsi
pop rbp
ret