Function at 0x401730
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x13e4
call fcn.00403cc0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x13e4]
push ecx
call fcn.00402b80
add esp, 0xc
test eax, eax
jne 0x40176c
push 1
call fcn.00403c4f
lea edx, [ebp - 0x13e4]
push str.web_print_handler_xps.log
push edx
call fcn.00402f20
push str.Running_XPS_handler
call fcn.004029e0
add esp, 0xc
cmp dword [ebp - 0x13dc], 0
je 0x4017a7
push str.Microsoft_XPS_documents_are_not_supported_when_running_in_service_mode.
call fcn.00402a30
add esp, 4
push 2
call fcn.00403c4f
cmp dword [ebp - 0x13e0], 0
je 0x4017cb
mov edi, 0x104
lea ecx, [ebp - 0xa2c]
call fcn.00401150
test eax, eax
je 0x401765
push 0
call fcn.00403c4f
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0xfc4]
push eax
call esi
lea edi, [eax*4 + 4]
mov eax, edi
call fcn.00403840
mov eax, esp
push 0xfde9
lea ecx, [ebp - 0xfc4]
push ecx
push edi
push eax
call fcn.00401030
push eax
push str.XPS_handler._Job:__s
call fcn.004029e0
lea edx, [ebp - 0xfc4]
push edx
push str._s.metadata
lea eax, [ebp - 0x824]
push 0x104
push eax
call fcn.0040386c
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x824]
push edx
call fcn.00402470
lea eax, [ebp - 0xe30]
push eax
lea ecx, [ebp - 0x824]
push ecx
call fcn.00401fb0
add esp, 0x3c
test eax, eax
jne 0x4018a7
lea edx, [ebp - 0x824]
push edx
call esi
lea esi, [eax*4 + 4]
mov eax, esi
call fcn.00403840
mov eax, esp
push 0xfde9
lea ecx, [ebp - 0x824]
push ecx
push esi
push eax
call fcn.00401030
push eax
push str.Unable_to_parse_metadata_file:__s
call fcn.004029a0
lea edx, [ebp - 0x20c]
push str.ERROR_RAW_Unable_to_parse_job_metadata_file
push edx
call fcn.00401eb0
add esp, 0x20
jmp 0x401b0c
mov edi, 0x104
lea ecx, [ebp - 0xa2c]
call fcn.00401150
test eax, eax
jne 0x4018de
push str.Unable_to_locate_XPS_Viewer._Please_ensure_the_standalone_XPS_viewer_is_installed_and_enabled.
call fcn.00402a30
lea eax, [ebp - 0x20c]
push str.ERROR_RAW_Unable_to_locate_Microsoft_XPS_Viewer.
push eax
call fcn.00401eb0
add esp, 0xc
jmp 0x401b0c
push 0x104
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x824]
push edx
call fcn.004024d0
lea eax, [ebp - 0x414]
push eax
call fcn.00401b30
add esp, 0x10
test eax, eax
jne 0x401959
lea ecx, [ebp - 0x414]
push ecx
call esi
lea esi, [eax*4 + 4]
mov eax, esi
call fcn.00403840
mov eax, esp
push 0xfde9
lea edx, [ebp - 0x414]
push edx
push esi
push eax
call fcn.00401030
push eax
push str.Data_file__s_does_not_exist.
call fcn.004029a0
lea eax, [ebp - 0x20c]
push str.ERROR_RAW_Print_data_file_does_not_exist.
push eax
call fcn.00401eb0
add esp, 0x20
jmp 0x401b0c
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0xe30]
push edx
call fcn.00403010
add esp, 8
test eax, eax
je 0x401b0c
lea eax, [ebp - 0xb33]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + eax + 2]
mov eax, edi
call fcn.00403840
mov eax, esp
push 0xfde9
lea ecx, [ebp - 0xb33]
push ecx
push edi
push eax
call fcn.00401000
push eax
lea edx, [ebp - 0x11cc]
push edx
lea eax, [ebp - 0x61c]
push 0x104
push eax
call fcn.00401b50
add esp, 0x20
lea ecx, [ebp - 0x61c]
push ecx
call esi
lea edi, [eax*4 + 4]
mov eax, edi
call fcn.00403840
mov eax, esp
push 0xfde9
lea edx, [ebp - 0x61c]
push edx
push edi
push eax
call fcn.00401030
mov ebx, eax
add esp, 0x10
lea eax, [ebp - 0x414]
push eax
call esi
lea edi, [eax*4 + 4]
mov eax, edi
call fcn.00403840
mov eax, esp
push 0xfde9
lea ecx, [ebp - 0x414]
push ecx
push edi
push eax
call fcn.00401030
push ebx
push eax
push str.Copy_data_file__s_to_file__s
call fcn.004029e0
lea edx, [ebp - 0x20c]
push str.STATUS_preparing_job
push edx
call fcn.00401eb0
add esp, 0x24
push 0
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x401aab
lea edx, [ebp - 0x414]
push edx
call esi
lea esi, [eax*4 + 4]
mov eax, esi
call fcn.00403840
mov eax, esp
push 0xfde9
lea ecx, [ebp - 0x414]
push ecx
push esi
push eax
call fcn.00401030
lea edx, [ebp - 0xb33]
push edx
push eax
push str.Unable_to_copy_data_file__s_to_file__s
call fcn.00402b00
lea eax, [ebp - 0x20c]
push str.ERROR_RAW_Unable_copy_print_data_file_when_preparing_print_job.
push eax
call fcn.00401eb0
add esp, 0x24
jmp 0x401b0c
lea ecx, [ebp - 0x20c]
push str.STATUS_render_running
push ecx
call fcn.00401eb0
lea edx, [ebp - 0xe30]
push edx
lea edx, [ebp - 0x61c]
lea ecx, [ebp - 0xa2c]
call fcn.004013b0
add esp, 0xc
test eax, eax
jne 0x401ae9
push str.ERROR_render_error
lea eax, [ebp - 0x20c]
push eax
jmp 0x401af5
push str.STATUS_render_success
lea ecx, [ebp - 0x20c]
push ecx
call fcn.00401eb0
lea edx, [ebp - 0x61c]
add esp, 8
push edx
call fcn.0040399c
add esp, 4
xor eax, eax
lea esp, [ebp - 0x13f0]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040382b
mov esp, ebp
pop ebp
ret