Function at 0x40d300
Capabilities:
Print debug messages
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x274
mov eax, dword [0x60b9b0]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
push 5
push str._oftp
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d341
lea ecx, [edi + 0xc]
call fcn.0040c060
jmp 0x40d9e5
push 4
push str._coe
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d35f
call fcn.0040d290
jmp 0x40d9e5
push 0xd
push str._check_assctl
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d53a
call fcn.0040bbc0
test al, al
je 0x40d385
call fcn.0040cca0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
sub esp, 0xc
call fcn.0040e700
lea ecx, [esp + 0x18]
call fcn.00420450
push ecx
push dword [eax]
call fcn.0040b810
mov ecx, eax
call fcn.004392a0
mov edx, dword [esp + 0x18]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d3cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x18]
call fcn.00420750
push dword [eax]
push ecx
call fcn.0040b810
add esp, 4
mov ecx, eax
call fcn.004390f0
mov edx, dword [esp + 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d401
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 8
call fcn.0040b810
add esp, 4
mov ecx, eax
call fcn.004390a0
lea ecx, [esp + 0x18]
call fcn.004280e0
mov esi, eax
call fcn.0040b810
push esi
lea ecx, [eax + 0x1a40]
call fcn.00405d90
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40d448
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0040b810
mov dword [eax + 0x1a44], 0x40bef0
call fcn.0040b810
cmp dword [0x612720], 0
mov dword [eax + 0x1a34], 0
jne 0x40d484
push 4
call fcn.0055417e
add esp, 4
mov dword [0x612720], eax
mov dword [eax], vtable.CSkinMgr.0
sub esp, 0xc
push esp
call fcn.004129c0
call fcn.00414580
mov ecx, eax
call fcn.004145e0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], vtable.WTL::CMessageLoop.0
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
push eax
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x3c], 0
call fcn.0040e580
push ecx
lea edx, [esp + 0x24]
mov ecx, edi
call fcn.004113d0
add esp, 4
mov edi, eax
call fcn.0040e470
mov esi, dword [0x612e44]
test esi, esi
je 0x40d4f5
mov ecx, esi
call fcn.0043dfb0
push 0x5c
push esi
call fcn.005541b1
add esp, 8
mov dword [0x612e44], 0
call fcn.0040e2e0
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0x20]
call fcn.0040da10
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.00553c8d
mov esp, ebp
pop ebp
ret 0x10
mov edx, edi
mov ecx, 0x613378
call fcn.0040db60
test al, al
jne 0x40d8e4
mov edx, edi
mov ecx, 0x61337c
call fcn.0040db60
test al, al
jne 0x40d8e4
mov edx, edi
mov ecx, 0x613380
call fcn.0040db60
test al, al
jne 0x40d8e4
push 0x14
push str._set2d3dDefaulttrue
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d5a4
push ecx
mov ecx, esp
push 0x5e70d4
call fcn.004078b0
call fcn.0042c5d0
add esp, 4
jmp 0x40d9e5
push 0x13
push str._setOfdDefaulttrue
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d614
push edi
lea ecx, [esp + 0x14]
call fcn.004078b0
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jl 0x40d5de
push str._is_install_call
push eax
call fcn.00556d94
add esp, 8
test eax, eax
jne 0x40d5e3
or eax, 0xffffffff
jmp 0x40d5e9
sub eax, dword [esp + 0x10]
sar eax, 1
push ecx
cmp eax, 0xffffffff
mov ecx, esp
push 0x5e70d4
setne bl
call fcn.004078b0
mov cl, bl
call fcn.0042bb90
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00405a50
jmp 0x40d9e5
push 0x13
push str._setPdfPreviewtrue
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d67a
push edi
lea ecx, [esp + 0x14]
call fcn.004078b0
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jl 0x40d667
push str._install_call
push eax
call fcn.00556d94
add esp, 8
test eax, eax
je 0x40d667
sub eax, dword [esp + 0x10]
sar eax, 1
cmp eax, 0xffffffff
je 0x40d667
call fcn.0040bd10
test al, al
je 0x40d667
call fcn.0040c5c0
call fcn.0040d0a0
lea ecx, [esp + 0x10]
call fcn.00405a50
jmp 0x40d9e5
push 0x14
push str._checkDownPdfPreview
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d6a5
call fcn.0040bd10
test al, al
je 0x40d9e5
call fcn.0040c5c0
jmp 0x40d9e5
push 0x14
push str._setPdfPreviewfalse
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d6c3
call fcn.0040c3d0
jmp 0x40d9e5
push 0x13
push str._setCajDefaulttrue
push edi
call fcn.00562589
add esp, 0xc
test eax, eax
jne 0x40d733
push edi
lea ecx, [esp + 0x14]
call fcn.004078b0
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jl 0x40d6fd
push str._is_install_call
push eax
call fcn.00556d94
add esp, 8
test eax, eax
jne 0x40d702
or eax, 0xffffffff
jmp 0x40d708
sub eax, dword [esp + 0x10]
sar eax, 1
push ecx
cmp eax, 0xffffffff
mov ecx, esp
push 0x5e70d4
setne bl
call fcn.004078b0
mov cl, bl
call fcn.0042b9f0
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00405a50
jmp 0x40d9e5
push str.testSetUserChoice
push edi
call fcn.00556d94
add esp, 8
test eax, eax
je 0x40d7d1
xor eax, eax
mov dword [esp + 0x6c], 7
mov word [esp + 0x58], ax
mov edx, str.MasterPDF
lea eax, [esp + 0x58]
mov dword [esp + 0x68], 0
push eax
mov ecx, str..pdf
call fcn.0043db10
add esp, 4
lea eax, [esp + 0x58]
cmp dword [esp + 0x6c], 8
lea ecx, [esp + 0x10]
cmovae eax, dword [esp + 0x58]
push eax
call fcn.004078b0
push str.MasterPDF
lea ecx, [esp + 0x18]
call fcn.004078b0
call fcn.004056a0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0045a1e0
lea ecx, [esp + 0x14]
call fcn.00405a50
lea ecx, [esp + 0x10]
call fcn.00405a50
lea ecx, [esp + 0x58]
call fcn.00407ba0
jmp 0x40d9e5
push str.test99889
push edi
call fcn.00556d94
add esp, 8
test eax, eax
je 0x40d385
lea ecx, [esp + 0x14]
call fcn.00407f70
lea ecx, [esp + 0x10]
call fcn.00407f70
push ecx
mov edx, str..pdf
lea ecx, [esp + 0x1c]
call fcn.0042d670
add esp, 4
lea ecx, [esp + 0x14]
push eax
call fcn.00405d90
lea ecx, [esp + 0x18]
call fcn.00405a50
push dword [esp + 0x14]
lea eax, [esp + 0x14]
push str._______XD999_msg1:_s
push eax
call fcn.00406520
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push dword [esp + 0x10]
call edi
push 0x208
lea eax, [esp + 0x74]
mov dword [esp + 0x20], 0x104
push 0
push eax
call fcn.00557410
mov esi, dword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
lea eax, [esp + 0x28]
add esp, 0xc
push eax
lea eax, [esp + 0x74]
push eax
push str.open
push str..pdf
push 2
push 0
call esi
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x14]
push str._______XD999_msg2:_s
push eax
call fcn.00406520
add esp, 0xc
push dword [esp + 0x10]
call edi
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x74]
push eax
push 0
push str..pdf
push 2
push 0
call esi
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x14]
push str._______XD999_msg3:_s
push eax
call fcn.00406520
add esp, 0xc
push dword [esp + 0x10]
call edi
lea ecx, [esp + 0x10]
call fcn.00405a50
lea ecx, [esp + 0x14]
call fcn.00405a50
jmp 0x40d9e5
call fcn.00402a90
mov ecx, eax
test ecx, ecx
je 0x40d9fe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
call fcn.0042d8a0
mov esi, dword [esp + 0x14]
push esi
test eax, eax
jne 0x40d9c0
push 0x5e7b08
call fcn.0040be60
add esp, 8
lea ecx, [esp + 0x14]
push edi
call fcn.004078b0
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jge 0x40d93b
or eax, 0xffffffff
jmp 0x40d958
push str._is_install_call
push eax
call fcn.00556d94
add esp, 8
test eax, eax
jne 0x40d952
or eax, 0xffffffff
jmp 0x40d958
sub eax, dword [esp + 0x14]
sar eax, 1
push ecx
cmp eax, 0xffffffff
mov ecx, esp
push 0x5e70d4
setne bl
call fcn.004078b0
mov dl, bl
call fcn.0042b810
add esp, 4
mov edx, edi
mov ecx, 0x61337c
mov ebx, eax
call fcn.0040db60
test al, al
je 0x40d9a2
test ebx, ebx
je 0x40d9a2
push 0x5e70d4
push 0x5de930
push 0x5de914
call fcn.004373d0
add esp, 0xc
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d9cd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40d9cd
push str._______XD999_helper
call fcn.0040be60
add esp, 8
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40d9e5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x27c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00553c8d
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402b10
int3