Function at 0x4748d0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x5847e3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
mov eax, dword [0x5f3edc]
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x18]
mov dword [esp + 0x1a4], eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
mov ebx, dword [esp + 0x1b8]
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
mov dword [esp + 0x1b4], 0
call dword [eax + 0x38]
lea edx, [esp + 0xa0]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x596834
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_6]
mov eax, dword [esp + 0x18]
push str.XXXXXX
push eax
lea ecx, [esp + 0x24]
push str._s_s
push ecx
mov byte [esp + 0x1c0], 1
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format_1]
add esp, 0x10
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
inc eax
push eax
call sub.MFC71.DLL_operator_new
add esp, 4
lea ecx, [esp + 0x1c]
mov edi, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov ebp, eax
lea ecx, [esp + 0x1c]
inc ebp
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push ebp
push eax
push edi
call dword [sym.imp.MSVCR71.dll__mbsnbcpy]
push edi
call dword [sym.imp.MSVCR71.dll__mktemp]
push edi
lea edx, [esp + 0xb4]
push edx
lea ebp, [esi + 0xf64]
push str._s_s.bin
push ebp
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format_1]
add esp, 0x20
test edi, edi
je 0x4749d4
push edi
call sub.MFC71.DLL_operator_delete
add esp, 4
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push str._s.mp4
push ecx
mov byte [esp + 0x1bc], 2
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format_1]
add esp, 0xc
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x728]
push edx
push eax
lea ecx, [esp + 0x2c]
push 0x598a9c
push ecx
mov byte [esp + 0x1c0], 3
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format_1]
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
push str.NeroDigital:_encode__s
push 0x2b9
push str.._burning_burn_ndigital.cpp
mov ecx, 0x5fda18
call fcn.004bec20
push eax
call fcn.004d8e30
mov eax, dword [esp + 0x1d0]
add esp, 0x14
dec eax
jne 0x474a9f
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
mov byte [esp + 0x1bc], 4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
lea ecx, [esi + 0x764]
mov byte [esp + 0x1b8], 3
call fcn.0047ab70
mov ecx, dword [esi + 0x744]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x1a8]
mov ecx, ebp
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
test eax, eax
je 0x474adb
push 0xffffffffffffffff
push eax
call fcn.0040bc80
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
jne 0x474ae1
push 0x8007000e
call fcn.0040b790
xor edi, edi
mov dword [esp + 0x10], edi
mov eax, dword [esi + 0x744]
mov edx, dword [eax]
push edi
push eax
mov byte [esp + 0x1b8], 5
call dword [edx + 0x58]
push edi
mov byte [esp + 0x1b4], 3
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp]
push eax
push str.Nth_pass_file___s
push 0x2d2
push str.._burning_burn_ndigital.cpp
mov ecx, 0x5fda18
call fcn.004bec20
push eax
call fcn.004d8e30
mov eax, dword [esi + 0x744]
xor ecx, ecx
add esp, 0x14
test eax, eax
mov dword [esp + 0x34], ecx
je 0x474b4e
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push 0x59c97c
push eax
call dword [ecx]
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov byte [esp + 0x1b0], 6
je 0x474b79
mov eax, dword [esp + 0x1bc]
dec eax
je 0x474b71
dec eax
jne 0x474b79
mov eax, dword [ecx]
push 6
push ecx
call dword [eax + 0x24]
jmp 0x474b79
mov edx, dword [ecx]
push 4
push ecx
call dword [edx + 0x24]
mov al, byte [esi + 0xf38]
test al, al
mov bl, 1
mov byte [esp + 0x10], bl
je 0x474b99
cmp dword [esp + 0x1bc], 1
jne 0x474b99
xor bl, bl
mov byte [esp + 0x10], bl
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1b8]
lea eax, [esp + 0x24]
push eax
push ecx
push edi
mov ecx, esi
call fcn.004747a0
test bl, bl
je 0x474bed
mov ecx, 0x5fda18
call fcn.004bec20
mov ecx, eax
call fcn.004d75b0
cmp eax, 1
jbe 0x474bed
mov ecx, 0x5fda18
call fcn.004bec20
mov ecx, eax
call fcn.004d7600
xor ebp, ebp
shl eax, 0xb
push ebp
push eax
mov ecx, esi
call fcn.00472cc0
jmp 0x474bef
xor ebp, ebp
mov eax, dword [esi + 0xf58]
mov ecx, dword [esi + 0x50]
push eax
call fcn.00476db0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x24]
push 0x81e8
mov bl, 7
push eax
mov byte [esp + 0x1bc], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
mov eax, dword [esp + 0x1c8]
add esp, 0xc
cmp eax, 2
jne 0x474c85
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
push 0x81e9
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b4], 8
call dword [sym.imp.MFC71.DLL_ATL::CStringT::LoadStringA]
push 0x598374
lea ecx, [esp + 0x24]
call dword [0x59434c]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator]
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
mov ebx, dword [esi]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push ebp
mov ecx, esi
call dword [ebx + 0xac]
push 0x596834
lea ecx, [esp + 0x34]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_6]
push 0x825b
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b4], 9
call dword [sym.imp.MFC71.DLL_ATL::CStringT::LoadStringA]
mov ebx, dword [esi]
lea ecx, [esp + 0x30]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
mov ecx, esi
call dword [ebx + 0xa0]
mov eax, dword [esi + 0xf58]
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x2c], ecx
je 0x474cf9
mov edx, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
push 0x5a317c
push eax
call dword [edx]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
push ecx
mov byte [esp + 0x1b4], 0xa
call dword [edx + 0x1c]
cmp eax, ebp
jge 0x474d70
push eax
push str.failed_to_run_graph:_0x_08x
push 0x322
push str.._burning_burn_ndigital.cpp
mov ecx, 0x5fda18
call fcn.004bec20
push eax
call fcn.004d8e30
push 0xc
call sub.MFC71.DLL_operator_new_1
add esp, 0x18
mov dword [esp + 0x14], eax
cmp eax, ebp
mov byte [esp + 0x1b0], 0xb
je 0x474d53
push 0x8288
mov ecx, eax
call fcn.0049bd50
jmp 0x474d55
xor eax, eax
mov dword [esp + 0x10], eax
push 0x5d1fa4
lea eax, [esp + 0x14]
push eax
mov byte [esp + 0x1b8], 0xa
call sub.MSVCR71.dll__CxxThrowException
mov ecx, esi
call fcn.0046fce0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
cmp eax, ebp
jge 0x474dea
push eax
push str.failed_to_stop_graph:_0x_08x
push 0x32f
push str.._burning_burn_ndigital.cpp
mov ecx, 0x5fda18
call fcn.004bec20
push eax
call fcn.004d8e30
push 0xc
call sub.MFC71.DLL_operator_new_1
add esp, 0x18
mov dword [esp + 0x14], eax
cmp eax, ebp
mov byte [esp + 0x1b0], 0xc
je 0x474dcd
push 0x8289
mov ecx, eax
call fcn.0049bd50
jmp 0x474dcf
xor eax, eax
push 0x5d1fa4
lea edx, [esp + 0x14]
push edx
mov byte [esp + 0x1b8], 0xa
mov dword [esp + 0x18], eax
call sub.MSVCR71.dll__CxxThrowException
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x7c]
mov ecx, dword [esi + 0xf60]
add ecx, eax
cmp dword [esp + 0x1bc], 1
mov dword [esi + 0xf60], ecx
jne 0x474f0a
lea ecx, [esp + 0x9c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_7]
mov eax, dword [esi + 0xf58]
lea edx, [esp + 0x10]
push edx
push str.NeroDigital_Video_Encoder
mov dword [esp + 0x40], edi
mov dword [esp + 0x18], ebp
mov ecx, dword [eax]
mov bl, 0xd
push eax
mov byte [esp + 0x1bc], bl
call dword [ecx + 0x18]
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov dword [esp + 0x14], ebp
je 0x474e60
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x5a318c
push eax
call dword [ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
mov byte [esp + 0x1b4], 0xe
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x474e8e
mov edx, dword [eax]
push eax
call dword [edx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push eax
call dword [ecx + 0x8c]
mov al, byte [esi + 0xf38]
test al, al
je 0x474ea2
mov byte [esp + 0x98], 1
jmp 0x474eb5
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.0046d4d0
mov byte [esp + 0x98], al
lea eax, [esi + 0xf64]
push eax
lea ecx, [esp + 0xa0]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_4]
mov eax, dword [esi + 0xf48]
lea ecx, [esi + 0xf40]
lea edx, [esp + 0x38]
push edx
push eax
call fcn.0046ee10
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov byte [esp + 0x1b0], bl
je 0x474ef5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x9c]
mov byte [esp + 0x1b0], 0xa
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
mov ecx, dword [esi + 0x50]
push ebp
call fcn.00476db0
mov eax, dword [esi + 0xf58]
cmp eax, ebp
je 0x474f29
mov dword [esi + 0xf58], ebp
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
cmp eax, ebp
mov byte [esp + 0x1b0], 9
je 0x474f3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x30]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
mov eax, dword [esp + 0x34]
cmp eax, ebp
mov byte [esp + 0x1b0], 3
je 0x474f69
mov edx, dword [eax]
push eax
call dword [edx + 8]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
mov ecx, dword [esp + 0x1a8]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x1a4]
call fcn.00558076
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret 8