Function at 0x401e40
Capabilities:
Copy file
Delete file
Get common file path
Set file attributes

Disassembly:
sub esp, 0x6a0
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x4a8]
push eax
push 0x104
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [ebx + 0xdc]
mov ebp, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 5
push 0x402
push ecx
call ebp
push str.pdfmont.dll
push str.Copy_file_:__s
push ebx
call fcn.00401d10
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
add esp, 0xc
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x2a4]
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x4297b0
lea ecx, [esp + 0x2a4]
push ecx
call esi
push str.pdfmont.dll
lea edx, [esp + 0x2a4]
push edx
call esi
push 0x436388
lea eax, [esp + 0x9c]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x9c]
push ecx
call esi
push str.pdfmont.dll
lea edx, [esp + 0x9c]
push edx
call esi
push 0
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x402469
push str.pdfmont.dll
push str.Copy_file_:__s_OK
push ebx
call fcn.00401d10
mov ecx, dword [ebx + 0xdc]
add esp, 0xc
push 0
push 0xa
push 0x402
push ecx
call ebp
push str.pdf4u32.dll
push str.Copy_file_:__s
push ebx
call fcn.00401d10
add esp, 0xc
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x2a4]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x2a4]
push ecx
call esi
push str.pdf4u32.dll
lea edx, [esp + 0x2a4]
push edx
call esi
push 0x436180
lea eax, [esp + 0x9c]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x9c]
push ecx
call esi
push str.pdf4u32.dll
lea edx, [esp + 0x9c]
push edx
call esi
push 0
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x402015
push str.pdf4u32.dll
push str.Copy_file_:__s_OK
push ebx
call fcn.00401d10
add esp, 0xc
jmp 0x40201c
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push 0
push 0xf
push 0x402
push ecx
call ebp
push str.pdfui32.dll
push str.Copy_file_:__s
push ebx
call fcn.00401d10
add esp, 0xc
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x2a4]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x2a4]
push ecx
call esi
push str.pdfui32.dll
lea edx, [esp + 0x2a4]
push edx
call esi
push 0x436180
lea eax, [esp + 0x9c]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x9c]
push ecx
call esi
push str.pdfui32.dll
lea edx, [esp + 0x9c]
push edx
call esi
push 0
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4020ed
push str.pdfui32.dll
push str.Copy_file_:__s_OK
push ebx
call fcn.00401d10
add esp, 0xc
jmp 0x4020f4
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push 0
push 0x14
push 0x402
push ecx
call ebp
push str.pdfinst.ppd
push str.Copy_file_:__s
push ebx
call fcn.00401d10
add esp, 0xc
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x2a4]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x2a4]
push ecx
call esi
push str.pdfinst.ppd
lea edx, [esp + 0x2a4]
push edx
call esi
push 0x436180
lea eax, [esp + 0x9c]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x9c]
push ecx
call esi
push str.pdfinst.ppd
lea edx, [esp + 0x9c]
push edx
call esi
push 0
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4021c5
push str.pdfinst.ppd
push str.Copy_file_:__s_OK
push ebx
call fcn.00401d10
add esp, 0xc
jmp 0x4021cc
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push 0
push 0x1e
push 0x402
push ecx
call ebp
push str.pdfinst.exe
push str.Copy_file_:__s
push ebx
call fcn.00401d10
add esp, 0xc
lea edx, [esp + 0x4a8]
push edx
lea eax, [esp + 0x2a4]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x2a4]
push ecx
call esi
push str.pdfinst.exe
lea edx, [esp + 0x2a4]
push edx
call esi
push 0x436180
lea eax, [esp + 0x9c]
push eax
call edi
push 0x4297b0
lea ecx, [esp + 0x9c]
push ecx
call esi
push str.pdfinst.exe
lea edx, [esp + 0x9c]
push edx
call esi
xor edi, edi
push edi
lea eax, [esp + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [esp + 0x98]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push edi
lea edx, [esp + 0x9c]
push edx
lea eax, [esp + 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x40229d
push str.pdfinst.exe
push str.Copy_file_:__s_OK
push ebx
call fcn.00401d10
add esp, 0xc
jmp 0x4022a4
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push edi
push 0x28
push 0x402
push ecx
call ebp
push str.AddMonitor
push ebx
call fcn.00401d10
add esp, 8
xor edx, edx
lea eax, [esp + 0x10]
mov dword [esp + 0x10], edx
push eax
mov dword [esp + 0x18], edx
push 2
mov dword [esp + 0x20], edx
push edi
mov dword [esp + 0x1c], str.pdfinst
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], str.pdfmont.dll
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
je 0x402306
push str.AddMonitor_:_OK__
push ebx
call fcn.00401d10
add esp, 8
jmp 0x40230d
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push edi
push 0x3c
push 0x402
push ecx
call ebp
xor edx, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
push str.AddPrinterDriverEx
mov dword [esp + 0x44], edx
mov esi, str.Easy_PDF_Creator
push ebx
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], str.pdf4u32.dll
mov dword [esp + 0x38], str.pdfui32.dll
mov dword [esp + 0x34], str.pdfinst.ppd
mov dword [esp + 0x3c], str.pdfinst.exe
mov dword [esp + 0x48], 0x4299e0
call fcn.00401d10
add esp, 8
push 4
lea eax, [esp + 0x20]
push eax
push 3
push edi
call sub.WINSPOOL.DRV_AddPrinterDriverExW
test eax, eax
je 0x4023b6
push str.AddPrinterDriver_:_OK__
push ebx
call fcn.00401d10
add esp, 8
jmp 0x4023bd
mov ecx, ebx
call fcn.00401dd0
mov ecx, dword [ebx + 0xdc]
push edi
push 0x50
push 0x402
push ecx
call ebp
xor eax, eax
mov ecx, 0x15
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
push str.AddPrinter
push ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], str.pdfinst
mov dword [esp + 0x5c], esi
mov dword [esp + 0x70], str.winprint
mov dword [esp + 0x64], str.Local_machine
mov dword [esp + 0x60], str.Create_PDF_files
call fcn.00401d10
add esp, 8
lea edx, [esp + 0x44]
push edx
push 2
push 0
call sub.WINSPOOL.DRV_AddPrinterW
mov edi, eax
test edi, edi
je 0x402469
push 0x429954
push ebx
call fcn.00401d10
add esp, 8
push edi
call sub.WINSPOOL.DRV_ClosePrinter
push 0x429940
push ebx
call fcn.00401d10
mov eax, dword [ebx + 0xdc]
add esp, 8
push 0
push 0x64
push 0x402
push eax
call ebp
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x6a0
ret
mov ecx, ebx
call fcn.00401dd0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6a0
ret