Function at 0x489beb
Capabilities:
Delete file
Query environment variable
Terminate process

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x30
push esi
push edi
or edx, 0xffffffff
call fcn.00462840
mov ecx, eax
call fcn.00462b50
mov edi, eax
xor eax, eax
push eax
push eax
push edi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x489c37
mov ecx, edi
call fcn.004694eb
mov dword [ebp - 0x18], eax
jmp 0x489c60
inc eax
push 2
push eax
call fcn.004c7d3d
pop ecx
pop ecx
push dword [ebp - 0x24]
mov esi, eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov ecx, esi
call fcn.004694eb
push esi
mov dword [ebp - 0x18], eax
call fcn.004c5e5a
pop ecx
push edi
call fcn.004c5e5a
pop ecx
mov ecx, 0x505b90
call fcn.00462fd2
and dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
mov edi, eax
push edi
call fcn.0041551c
call fcn.004898b0
mov esi, eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x489e4a
test edi, edi
je 0x489e4a
test esi, esi
je 0x489e4a
push eax
push edi
push esi
push str.__s___q__dSAFER__dNOPAUSE__dBATCH__dEPSCrop__sOutputFile__s___sDEVICEpdfwrite__f___s_
call fcn.0045f9ea
mov ecx, str.C:Userskjk_src_sumatrapdf_srcEnginePs.cpp
mov dword [ebp - 0x20], eax
call fcn.00462884
mov ecx, edi
mov dword [ebp - 0xc], eax
call fcn.00462884
push eax
push esi
push 0xad
push dword [ebp - 0xc]
push str.___s:_d:_using__s_for_creating___TEMP___s_n
call fcn.004620b3
mov ecx, dword [ebp - 0x20]
add esp, 0x24
xor edx, edx
push 0x8000000
call fcn.00464ed4
mov dword [ebp - 0xc], eax
pop ecx
test eax, eax
je 0x489e3a
xor eax, eax
push eax
push eax
push str.SUMATRAPDF_NO_GHOSTSCRIPT_TIMEOUT
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 1
test eax, eax
mov edx, 0x9c40
cmove ecx, edx
push ecx
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push 1
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x1c], 0
jne 0x489e3a
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.0046311e
cmp dword [ebp - 0x30], 0
pop ecx
je 0x489e3a
lea ecx, [ebp - 4]
xor eax, eax
push ecx
push 1
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
mov eax, dword [ebp - 4]
js 0x489dd5
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x489dd2
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], eax
jne 0x489dd2
mov eax, dword [ebp - 4]
xor edx, edx
push edx
xorps xmm0, xmm0
push edx
mov ecx, dword [eax]
movlpd qword [ebp - 0x10], xmm0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
test ecx, ecx
je 0x489de3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x489de3
mov eax, dword [ebp - 4]
test eax, eax
je 0x489ddf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp - 0xc], 0
push dword [ebp - 0x30]
call fcn.004c5e5a
cmp dword [ebp - 0xc], 0
pop ecx
je 0x489e3f
push 0x11c
call fcn.004b7b0e
pop ecx
mov ecx, eax
call fcn.0047dac8
push 0
push edi
push dword [ebp - 0xc]
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0047e5d5
mov ecx, dword [ebp - 0x14]
test al, al
jne 0x489e2c
test ecx, ecx
je 0x489e25
mov eax, dword [ecx]
push 1
call dword [eax]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x489e2f
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x489e3f
xor eax, eax
mov dword [ebp - 0x14], eax
push dword [ebp - 0x20]
call fcn.004c5e5a
pop ecx
jmp 0x489e4f
xor eax, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.004c5e5a
mov esi, dword [ebp - 0x24]
pop ecx
test esi, esi
je 0x489e8b
or edx, 0xffffffff
mov ecx, esi
call fcn.00462840
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 2
neg eax
sbb eax, eax
inc eax
or eax, dword [ebp - 0x28]
jne 0x489e8b
xor ecx, ecx
call fcn.0046448c
push esi
call fcn.004c5e5a
pop ecx
push edi
call fcn.004c5e5a
mov eax, dword [ebp - 0x18]
pop ecx
push eax
call fcn.004c5e5a
mov eax, dword [ebp - 0x14]
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret