Function at 0x406660
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push str._PDFPrintHandler_Launch_
call fcn.00403270
push dword [ebp + 0x10]
call fcn.00403270
movups xmm0, xmmword [0x4734b0]
push dword [ebp + 8]
movups xmmword [0x48ca40], xmm0
call fcn.004032d0
xor ebx, ebx
mov dword [0x48cac4], 0
xor esi, esi
mov dword [0x48caac], 0
push str.Parsing_command_line_arguments
mov dword [0x48ca3c], 0
mov dword [0x48caa4], 0
mov dword [0x48caa8], 0
mov dword [0x48cab0], 0
mov dword [0x48cab4], 1
mov dword [ebp - 4], ebx
mov dword [0x48cab8], ebx
mov dword [0x48cabc], ebx
mov dword [ebp + 0x10], esi
mov dword [0x48cac0], ebx
call fcn.00403270
add esp, 0x10
lea edi, [ebx + 1]
call fcn.00432565
cmp dword [eax], edi
jle 0x406932
call fcn.0043256b
push 9
push str._printer
mov eax, dword [eax]
push dword [eax + edi*4]
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x406746
add eax, 9
mov dword [0x48ca3c], eax
jmp 0x406921
push 6
push str._port
push eax
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x406773
add eax, 6
mov dword [0x48caac], eax
jmp 0x406921
push 5
push str._pdf
push eax
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x4067a0
add eax, 5
mov dword [0x48caa4], eax
jmp 0x406921
push 0xc
push str._frametitle
push eax
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x4067cd
add eax, 0xc
mov dword [0x48caa8], eax
jmp 0x406921
push 0xd
push str._saveprinter
push eax
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x4067fd
add eax, 0xd
lea ebx, [esi + 1]
mov dword [0x48cab0], eax
jmp 0x406921
push 0xd
push str._loadprinter
push eax
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x40682c
add eax, 0xd
xor ebx, ebx
mov dword [0x48cab0], eax
jmp 0x406921
push 0xc
push str._nocloseacro
push eax
call fcn.004307b6
add esp, 0xc
test eax, eax
jne 0x40684a
mov dword [0x48cab4], eax
jmp 0x406921
call fcn.0043256b
push 0x14
push str._printercapturemode
mov eax, dword [eax]
push dword [eax + edi*4]
call fcn.004307b6
add esp, 0xc
mov esi, eax
call fcn.0043256b
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
test esi, esi
jne 0x406889
add eax, 0x14
push eax
call fcn.004324cb
add esp, 4
mov dword [0x48cab8], eax
jmp 0x406921
push 0x10
push str._skipdriverreset
push eax
call fcn.004307b6
add esp, 0xc
test eax, eax
jne 0x4068a9
mov dword [0x48cabc], 1
jmp 0x406921
call fcn.0043256b
push 9
push str._closeacro
mov eax, dword [eax]
push dword [eax + edi*4]
call fcn.004307b6
add esp, 0xc
test eax, eax
jne 0x4068cf
mov dword [ebp - 4], 1
jmp 0x406921
call fcn.0043256b
push 5
push str._test
mov eax, dword [eax]
push dword [eax + edi*4]
call fcn.004307b6
add esp, 0xc
test eax, eax
jne 0x4068f6
mov esi, 1
mov dword [ebp + 0x10], esi
jmp 0x406924
call fcn.0043256b
push 7
push str._silent
mov eax, dword [eax]
push dword [eax + edi*4]
call fcn.004307b6
add esp, 0xc
test eax, eax
jne 0x406a65
mov dword [0x48cac0], 1
mov esi, dword [ebp + 0x10]
inc edi
call fcn.00432565
cmp edi, dword [eax]
jl 0x406710
push str.Done_parsing_command_line_arguments
call fcn.00403270
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.00402ba0
add esp, 0xc
test eax, eax
jne 0x406957
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebp - 4], 0
je 0x406990
push str.Calling_CloseAcrobat
call fcn.00403270
call fcn.00402760
push str.Done_calling_CloseAcrobat
mov esi, eax
call fcn.00403270
add esp, 8
mov eax, 0x83
test esi, esi
cmove esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test esi, esi
je 0x4069a2
call fcn.00404d20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [0x48ca3c], 0
je 0x406a65
cmp dword [0x48cab0], 0
mov eax, dword [0x48caa4]
je 0x406a4f
test eax, eax
jne 0x406a73
push str.Load_Save_printer_defaults
call fcn.00403270
add esp, 4
call fcn.004036c0
mov esi, eax
test esi, esi
jne 0x406a24
push str.Got_printer_handle
call fcn.00403270
add esp, 4
push dword [0x48cab0]
test ebx, ebx
je 0x406a0e
call fcn.00403f30
mov esi, eax
add esp, 4
test esi, esi
mov eax, 0x80
cmove esi, eax
jmp 0x406a32
call fcn.00403220
mov esi, eax
add esp, 4
test esi, esi
mov eax, 0x81
cmove esi, eax
jmp 0x406a32
push esi
push str.Failed_to_open_printer:_0x_x
call fcn.00403270
add esp, 8
call fcn.004028b0
push str.Done___Load_Save_printer_defaults
call fcn.00403270
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test eax, eax
jne 0x406a73
call fcn.004028b0
push str.szPdfFileName_is_null___returning_ERR_INVALIDARGS
call fcn.00403270
add esp, 4
pop edi
pop esi
mov eax, 5
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x406aa0
push dword [0x48caa4]
push str.FileAttributes_on_szPdfFileName_s_are_bunk
call fcn.00403270
add esp, 8
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.Initiating_print_job
call fcn.00403270
add esp, 4
push 0
push 0x68
push 0x111
push dword [0x48c9d4]
call dword [sym.imp.USER32.dll_PostMessageA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [ebp - 0x20]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x406b00
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [ebp - 0x20]
push eax
call edi
lea eax, [ebp - 0x20]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x20]
push eax
call esi
test eax, eax
jne 0x406ae4
call fcn.004028b0
push dword [ebp - 0x18]
push str.Print_job_completed___returning__d
call fcn.00403270
mov eax, dword [ebp - 0x18]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10