Function at 0x424be7
Capabilities:
Get common file path

Disassembly:
push 0x500
mov eax, 0x5a8eb4
call fcn.00588aeb
mov dword [ebp - 0x4c4], ecx
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp + 0x18]
xor edi, edi
lea ecx, [ebp - 0x50c]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4c8], edi
mov dword [ebp - 0x4dc], edi
call fcn.0046c3f7
mov esi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x4d8], esi
mov dword [ebp - 0x4d4], edi
mov dword [ebp - 0x4d0], edi
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x478], edi
mov word [ebp - 0x488], ax
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x448], edi
mov word [ebp - 0x458], ax
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x460], edi
mov word [ebp - 0x470], ax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x430], edi
mov word [ebp - 0x440], ax
lea eax, [ebp - 0x4c8]
push eax
push 0x20a
lea eax, [ebp - 0x21c]
push eax
xor eax, eax
inc eax
push eax
push edi
push edi
mov byte [ebp - 4], 5
mov dword [ebp - 0x4c8], edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
test eax, eax
jne 0x424cdf
push str.Getting_the_directory_of_66000_is_failed._n
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
jmp 0x425377
push 0x105
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
test eax, eax
jne 0x424d04
push str.Getting_the_directory_of_66002_is_failed._n
jmp 0x425377
lea eax, [ebp - 0x21c]
push eax
push str.66000____1_s__._n
push edi
push 5
call fcn.00423f75
lea eax, [ebp - 0x428]
push eax
push str.66002____1_s__._n
push edi
push 5
call fcn.00423f75
lea eax, [ebp - 0x21c]
push 0x5c
push eax
call fcn.0058b1ea
add esp, 0x28
test eax, eax
je 0x424d62
xor ecx, ecx
cmp word [eax + 2], cx
je 0x424d62
push 0x5bef0c
lea eax, [ebp - 0x21c]
push 0x105
push eax
call fcn.0058af59
add esp, 0xc
test ebx, ebx
je 0x424dd5
push 0x5c
push ebx
call fcn.0058afc5
pop ecx
pop ecx
test eax, eax
jne 0x424dba
cmp word [ebp - 0x21c], ax
je 0x424d8a
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x488]
call fcn.00403cef
xor eax, eax
cmp word [ebx], ax
je 0x424dab
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x488]
call fcn.00403b92
jmp 0x424dd5
xor eax, eax
cmp word [ebx], ax
je 0x424dc8
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x488]
call fcn.00403cef
mov ebx, dword [ebp - 0x4cc]
test ebx, ebx
je 0x424e4e
push 0x5c
push ebx
call fcn.0058afc5
pop ecx
pop ecx
test eax, eax
jne 0x424e33
cmp word [ebp - 0x21c], ax
je 0x424e03
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x458]
call fcn.00403cef
xor eax, eax
cmp word [ebx], ax
je 0x424e24
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x458]
call fcn.00403b92
jmp 0x424e4e
xor eax, eax
cmp word [ebx], ax
je 0x424e41
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x458]
call fcn.00403cef
mov ebx, dword [ebp - 0x4bc]
test ebx, ebx
je 0x424ec7
push 0x5c
push ebx
call fcn.0058afc5
pop ecx
pop ecx
test eax, eax
jne 0x424eac
cmp word [ebp - 0x21c], ax
je 0x424e7c
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x470]
call fcn.00403cef
xor eax, eax
cmp word [ebx], ax
je 0x424e9d
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x470]
call fcn.00403b92
jmp 0x424ec7
xor eax, eax
cmp word [ebx], ax
je 0x424eba
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x470]
call fcn.00403cef
mov ebx, dword [ebp - 0x4c0]
test ebx, ebx
je 0x424f40
push 0x5c
push ebx
call fcn.0058afc5
pop ecx
pop ecx
test eax, eax
jne 0x424f25
cmp word [ebp - 0x21c], ax
je 0x424ef5
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x440]
call fcn.00403cef
xor eax, eax
cmp word [ebx], ax
je 0x424f16
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x440]
call fcn.00403b92
jmp 0x424f40
xor eax, eax
cmp word [ebx], ax
je 0x424f33
push ebx
call fcn.00588144
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x440]
call fcn.00403cef
push 0x5c69a8
push edi
push 5
call fcn.00423f75
xor eax, eax
add esp, 0xc
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4c0], eax
call fcn.0046c48f
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
push 1
push 0x5c69a0
push str.CopyFiles
push dword [ebp - 0x4e0]
mov byte [ebp - 4], 6
call sym.SETUP.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const___unsigned_int__unsigned_int__
mov ebx, eax
test ebx, ebx
jne 0x424fbb
push str.Memory_allocation_error__CopyFiles_._n
push edi
push 2
call fcn.00423f75
add esp, 0xc
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 5
call fcn.0046c546
jmp 0x425382
push 0x2c
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.0046d9ee
push ebx
call fcn.00459786
pop ecx
push 0x20
lea ecx, [ebp - 0x4f8]
call fcn.0046e2e7
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
push 1
push 0x5c69a0
push str.DefaultDestDir
push str.DestinationDirs
call sym.SETUP.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const___unsigned_int__unsigned_int__
mov ebx, eax
test ebx, ebx
je 0x42502b
push ebx
call fcn.0058bd6d
mov ecx, dword [ebp - 0x4bc]
cmp eax, 0x101d0
push 1
pop eax
cmove ecx, eax
push ebx
mov dword [ebp - 0x4bc], ecx
call fcn.00459786
pop ecx
pop ecx
xor eax, eax
lea ecx, [ebp - 0x4f8]
mov ebx, eax
mov dword [ebp - 0x4cc], eax
call fcn.0046c815
test eax, eax
je 0x42520c
mov edi, dword [ebp - 0x4bc]
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.0046caa8
push ebx
lea ecx, [ebp - 0x4f8]
mov esi, eax
call fcn.0046cb38
inc eax
mov dword [ebp - 0x4bc], eax
test esi, esi
je 0x4251e7
push eax
push esi
call fcn.0058b10d
pop ecx
pop ecx
test eax, eax
je 0x4251e7
push 0x40
pop eax
cmp ax, word [esi]
jne 0x42516d
add esi, 2
xor ecx, ecx
cmp word [esi], cx
je 0x4251e7
xor eax, eax
mov dword [ebp - 0x48c], 7
mov dword [ebp - 0x490], ecx
mov word [ebp - 0x4a0], ax
mov byte [ebp - 4], 7
test edi, edi
je 0x4250f2
cmp word [ebp - 0x21c], ax
jne 0x4250d0
mov eax, ecx
jmp 0x4250dd
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00403cef
xor ecx, ecx
cmp word [esi], cx
jne 0x4250fb
mov eax, ecx
jmp 0x425102
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x4a0]
call fcn.00403b92
cmp dword [ebp - 0x48c], 8
lea eax, [ebp - 0x4a0]
cmovae eax, dword [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.004010bc
lea eax, [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 8
call fcn.0041fd9c
xor eax, eax
xor esi, esi
push esi
inc eax
push eax
lea ecx, [ebp - 0x4b8]
call fcn.00403a7f
xor eax, eax
push esi
inc eax
push eax
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 6
call fcn.00403a7f
jmp 0x4251e7
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
xor eax, eax
inc eax
push eax
push 0x5c69a0
push esi
push str.DestinationDirs
call sym.SETUP.exe_protected:_wchar_t____thiscall_CPrinterDriverInf::AllocAndGetValue_wchar_t_const___wchar_t_const___wchar_t_const___unsigned_int__unsigned_int__
mov ebx, eax
test ebx, ebx
je 0x4251e1
push dword [ebp - 0x4c0]
push ebx
call fcn.0058b10d
pop ecx
pop ecx
test eax, eax
je 0x4251b6
push ebx
call fcn.0058bd6d
pop ecx
cmp eax, 0x101d0
jne 0x4251da
jmp 0x4251ba
test edi, edi
je 0x4251da
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4d8]
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x4bc]
push esi
call sym.SETUP.exe_protected:_int___thiscall_CPrinterDriverInf::GetFilesFromCopyFilesSection_wchar_t_const___unsigned_int__wchar_t_const___class_std::vector_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____class_std::allocator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______
push ebx
call fcn.00459786
pop ecx
mov ebx, dword [ebp - 0x4cc]
inc ebx
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4cc], ebx
call fcn.0046c815
cmp ebx, eax
jb 0x42504e
mov esi, dword [ebp - 0x4d8]
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
push str.Dependent_Files________n
push edi
push 5
call fcn.00423f75
mov ebx, dword [ebp - 0x4d4]
add esp, 0xc
jmp 0x42531b
cmp dword [esi + 0x14], 8
jb 0x425231
mov ecx, dword [esi]
jmp 0x425233
mov ecx, esi
cmp dword [ebp - 0x474], 8
lea eax, [ebp - 0x488]
cmovae eax, dword [ebp - 0x488]
push ecx
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x425318
cmp dword [esi + 0x14], 8
jb 0x425262
mov ecx, dword [esi]
jmp 0x425264
mov ecx, esi
cmp dword [ebp - 0x444], 8
lea eax, [ebp - 0x458]
cmovae eax, dword [ebp - 0x458]
push ecx
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x425318
cmp dword [esi + 0x14], 8
jb 0x425293
mov ecx, dword [esi]
jmp 0x425295
mov ecx, esi
cmp dword [ebp - 0x45c], 8
lea eax, [ebp - 0x470]
cmovae eax, dword [ebp - 0x470]
push ecx
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x425318
cmp dword [esi + 0x14], 8
jb 0x4252c0
mov ecx, dword [esi]
jmp 0x4252c2
mov ecx, esi
cmp dword [ebp - 0x42c], 8
lea eax, [ebp - 0x440]
cmovae eax, dword [ebp - 0x440]
push ecx
push eax
call fcn.0058b527
pop ecx
pop ecx
test eax, eax
je 0x425318
cmp dword [esi + 0x14], 8
jb 0x4252ed
mov eax, dword [esi]
jmp 0x4252ef
mov eax, esi
push eax
lea ecx, [ebp - 0x50c]
call fcn.0046c58f
cmp dword [esi + 0x14], 8
jb 0x425305
mov eax, dword [esi]
jmp 0x425307
mov eax, esi
push eax
push str._1_s__n
push edi
push 5
call fcn.00423f75
add esp, 0x10
add esi, 0x18
cmp esi, ebx
jne 0x425227
push str._______Dependent_Files_n
push edi
push 5
call fcn.00423f75
add esp, 0xc
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 5
call fcn.0046c546
lea ecx, [ebp - 0x50c]
call fcn.0046cbc4
mov dword [ebp - 0x4c8], eax
test eax, eax
je 0x4253c1
push 0xd02
add eax, eax
push str...CommonDeviceInf.cpp
push eax
call fcn.0045976f
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x425398
push str.Memory_allocation_error__CopyFiles_._n
push edi
push 2
call fcn.00423f75
add esp, 0xc
push 0x5c69c4
push edi
push 5
call fcn.00423f75
add esp, 0xc
xor esi, esi
mov ebx, esi
jmp 0x4253d9
mov eax, dword [ebp - 0x4c8]
add eax, eax
push eax
lea ecx, [ebp - 0x50c]
call fcn.0046c956
push eax
mov eax, dword [ebp - 0x4c8]
add eax, eax
push eax
push ebx
call fcn.005879e4
add esp, 0x10
jmp 0x4253c7
mov ebx, dword [ebp - 0x4dc]
push 0x5c69c4
push edi
push 5
call fcn.00423f75
add esp, 0xc
xor esi, esi
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x440]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x470]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x458]
call fcn.00403a7f
push esi
push edi
lea ecx, [ebp - 0x488]
call fcn.00403a7f
lea ecx, [ebp - 0x4d8]
call fcn.0041eb55
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50c]
call fcn.0046c4a1
mov eax, ebx
call fcn.00588a9a
ret 0x14