Function at 0x4259b3
Capabilities:
Get common file path

Disassembly:
push 0x500
mov eax, 0x5afe4f
call fcn.0058f792
mov dword [ebp - 0x4c4], ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x50c]
mov ebx, dword [ebp + 0xc]
xor edi, edi
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]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4c8], edi
mov dword [ebp - 0x4dc], edi
call fcn.0046d53c
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]
mov byte [ebp - 4], 5
push eax
push 0x20a
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x4c8], edi
push eax
xor eax, eax
inc eax
push eax
push edi
push edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
test eax, eax
jne 0x425aab
push str.Getting_the_directory_of_66000_is_failed._n
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
jmp 0x426143
push 0x105
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
test eax, eax
jne 0x425ad0
push str.Getting_the_directory_of_66002_is_failed._n
jmp 0x426143
lea eax, [ebp - 0x21c]
push eax
push str.66000____1_s__._n
push edi
push 5
call fcn.00424dad
lea eax, [ebp - 0x428]
push eax
push str.66002____1_s__._n
push edi
push 5
call fcn.00424dad
lea eax, [ebp - 0x21c]
push 0x5c
push eax
call fcn.00591e9b
add esp, 0x28
test eax, eax
je 0x425b2e
xor ecx, ecx
cmp word [eax + 2], cx
je 0x425b2e
push 0x5c4f0c
lea eax, [ebp - 0x21c]
push 0x105
push eax
call fcn.00591c0a
add esp, 0xc
test ebx, ebx
je 0x425ba1
push 0x5c
push ebx
call fcn.00591c76
pop ecx
pop ecx
test eax, eax
jne 0x425b86
cmp word [ebp - 0x21c], ax
je 0x425b56
lea eax, [ebp - 0x21c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x488]
call fcn.00404be0
xor eax, eax
cmp word [ebx], ax
je 0x425b77
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x488]
call fcn.00404a83
jmp 0x425ba1
xor eax, eax
cmp word [ebx], ax
je 0x425b94
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x488]
call fcn.00404be0
mov ebx, dword [ebp - 0x4cc]
test ebx, ebx
je 0x425c1a
push 0x5c
push ebx
call fcn.00591c76
pop ecx
pop ecx
test eax, eax
jne 0x425bff
cmp word [ebp - 0x21c], ax
je 0x425bcf
lea eax, [ebp - 0x21c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x458]
call fcn.00404be0
xor eax, eax
cmp word [ebx], ax
je 0x425bf0
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x458]
call fcn.00404a83
jmp 0x425c1a
xor eax, eax
cmp word [ebx], ax
je 0x425c0d
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x458]
call fcn.00404be0
mov ebx, dword [ebp - 0x4bc]
test ebx, ebx
je 0x425c93
push 0x5c
push ebx
call fcn.00591c76
pop ecx
pop ecx
test eax, eax
jne 0x425c78
cmp word [ebp - 0x21c], ax
je 0x425c48
lea eax, [ebp - 0x21c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x470]
call fcn.00404be0
xor eax, eax
cmp word [ebx], ax
je 0x425c69
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x470]
call fcn.00404a83
jmp 0x425c93
xor eax, eax
cmp word [ebx], ax
je 0x425c86
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x470]
call fcn.00404be0
mov ebx, dword [ebp - 0x4c0]
test ebx, ebx
je 0x425d0c
push 0x5c
push ebx
call fcn.00591c76
pop ecx
pop ecx
test eax, eax
jne 0x425cf1
cmp word [ebp - 0x21c], ax
je 0x425cc1
lea eax, [ebp - 0x21c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x440]
call fcn.00404be0
xor eax, eax
cmp word [ebx], ax
je 0x425ce2
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x440]
call fcn.00404a83
jmp 0x425d0c
xor eax, eax
cmp word [ebx], ax
je 0x425cff
push ebx
call fcn.0058edd4
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x440]
call fcn.00404be0
push 0x5cca70
push edi
push 5
call fcn.00424dad
add esp, 0xc
lea ecx, [ebp - 0x4f8]
xor eax, eax
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4c0], eax
call fcn.0046d5d4
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
push 1
push 0x5ccaa8
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 0x425d87
push str.Memory_allocation_error__CopyFiles_._n
push edi
push 2
call fcn.00424dad
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4f8]
call fcn.0046d690
jmp 0x42614e
push 0x2c
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.0046eb6a
push ebx
call fcn.0045a8a4
pop ecx
push 0x20
lea ecx, [ebp - 0x4f8]
call fcn.0046f50b
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
push 1
push 0x5ccaa8
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 0x425df7
push ebx
call fcn.00592a29
mov ecx, dword [ebp - 0x4bc]
cmp eax, 0x101d0
push 1
pop eax
cmove ecx, eax
push ebx
mov dword [ebp - 0x4bc], ecx
call fcn.0045a8a4
pop ecx
pop ecx
xor eax, eax
lea ecx, [ebp - 0x4f8]
mov ebx, eax
mov dword [ebp - 0x4cc], eax
call fcn.0046d95f
test eax, eax
je 0x425fd8
mov edi, dword [ebp - 0x4bc]
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.0046dbf8
push ebx
lea ecx, [ebp - 0x4f8]
mov esi, eax
call fcn.0046dc88
inc eax
mov dword [ebp - 0x4bc], eax
test esi, esi
je 0x425fb3
push eax
push esi
call fcn.00591dbe
pop ecx
pop ecx
test eax, eax
je 0x425fb3
push 0x40
pop eax
cmp ax, word [esi]
jne 0x425f39
add esi, 2
xor ecx, ecx
cmp word [esi], cx
je 0x425fb3
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 0x425ebe
cmp word [ebp - 0x21c], ax
jne 0x425e9c
mov eax, ecx
jmp 0x425ea9
lea eax, [ebp - 0x21c]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00404be0
xor ecx, ecx
cmp word [esi], cx
jne 0x425ec7
mov eax, ecx
jmp 0x425ece
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x4a0]
call fcn.00404a83
cmp dword [ebp - 0x48c], 8
lea eax, [ebp - 0x4a0]
lea ecx, [ebp - 0x4b8]
cmovae eax, dword [ebp - 0x4a0]
push eax
call fcn.00401c0c
lea eax, [ebp - 0x4b8]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4d8]
call fcn.00420bd6
xor eax, eax
lea ecx, [ebp - 0x4b8]
xor esi, esi
inc eax
push esi
push eax
call fcn.00404970
xor eax, eax
mov byte [ebp - 4], 6
push esi
inc eax
lea ecx, [ebp - 0x4a0]
push eax
call fcn.00404970
jmp 0x425fb3
mov ecx, dword [ebp - 0x4c4]
lea eax, [ebp - 0x4c0]
push eax
xor eax, eax
inc eax
push eax
push 0x5ccaa8
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 0x425fad
push dword [ebp - 0x4c0]
push ebx
call fcn.00591dbe
pop ecx
pop ecx
test eax, eax
je 0x425f82
push ebx
call fcn.00592a29
pop ecx
cmp eax, 0x101d0
jne 0x425fa6
jmp 0x425f86
test edi, edi
je 0x425fa6
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.0045a8a4
pop ecx
mov ebx, dword [ebp - 0x4cc]
inc ebx
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4cc], ebx
call fcn.0046d95f
cmp ebx, eax
jb 0x425e1a
mov esi, dword [ebp - 0x4d8]
mov edi, str.CPrinterDriverInf::AllocAndGetDependentFiles
push str.Dependent_Files________n
push edi
push 5
call fcn.00424dad
mov ebx, dword [ebp - 0x4d4]
add esp, 0xc
jmp 0x4260e7
cmp dword [esi + 0x14], 8
jb 0x425ffd
mov ecx, dword [esi]
jmp 0x425fff
mov ecx, esi
cmp dword [ebp - 0x474], 8
lea eax, [ebp - 0x488]
push ecx
cmovae eax, dword [ebp - 0x488]
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
je 0x4260e4
cmp dword [esi + 0x14], 8
jb 0x42602e
mov ecx, dword [esi]
jmp 0x426030
mov ecx, esi
cmp dword [ebp - 0x444], 8
lea eax, [ebp - 0x458]
push ecx
cmovae eax, dword [ebp - 0x458]
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
je 0x4260e4
cmp dword [esi + 0x14], 8
jb 0x42605f
mov ecx, dword [esi]
jmp 0x426061
mov ecx, esi
cmp dword [ebp - 0x45c], 8
lea eax, [ebp - 0x470]
push ecx
cmovae eax, dword [ebp - 0x470]
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
je 0x4260e4
cmp dword [esi + 0x14], 8
jb 0x42608c
mov ecx, dword [esi]
jmp 0x42608e
mov ecx, esi
cmp dword [ebp - 0x42c], 8
lea eax, [ebp - 0x440]
push ecx
cmovae eax, dword [ebp - 0x440]
push eax
call fcn.005921d4
pop ecx
pop ecx
test eax, eax
je 0x4260e4
cmp dword [esi + 0x14], 8
jb 0x4260b9
mov eax, dword [esi]
jmp 0x4260bb
mov eax, esi
push eax
lea ecx, [ebp - 0x50c]
call fcn.0046d6d9
cmp dword [esi + 0x14], 8
jb 0x4260d1
mov eax, dword [esi]
jmp 0x4260d3
mov eax, esi
push eax
push str._1_s__n
push edi
push 5
call fcn.00424dad
add esp, 0x10
add esi, 0x18
cmp esi, ebx
jne 0x425ff3
push str._______Dependent_Files_n
push edi
push 5
call fcn.00424dad
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4f8]
call fcn.0046d690
lea ecx, [ebp - 0x50c]
call fcn.0046dd14
mov dword [ebp - 0x4c8], eax
test eax, eax
je 0x42618d
push 0xd02
add eax, eax
push str...CommonDeviceInf.cpp
push eax
call fcn.0045a88d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x426164
push str.Memory_allocation_error__CopyFiles_._n
push edi
push 2
call fcn.00424dad
add esp, 0xc
push 0x5cca8c
push edi
push 5
call fcn.00424dad
add esp, 0xc
xor esi, esi
mov ebx, esi
jmp 0x4261a5
mov eax, dword [ebp - 0x4c8]
lea ecx, [ebp - 0x50c]
add eax, eax
push eax
call fcn.0046daa2
push eax
mov eax, dword [ebp - 0x4c8]
add eax, eax
push eax
push ebx
call fcn.0058e674
add esp, 0x10
jmp 0x426193
mov ebx, dword [ebp - 0x4dc]
push 0x5cca8c
push edi
push 5
call fcn.00424dad
add esp, 0xc
xor esi, esi
xor edi, edi
lea ecx, [ebp - 0x440]
push esi
inc edi
push edi
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0x470]
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0x458]
call fcn.00404970
push esi
push edi
lea ecx, [ebp - 0x488]
call fcn.00404970
lea ecx, [ebp - 0x4d8]
call fcn.0041fac8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50c]
call fcn.0046d5eb
mov eax, ebx
call fcn.0058f741
ret 0x14