Function at 0x40ce20
Capabilities:
Print debug messages
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x270
mov eax, dword [0x6069b0]
xor eax, esp
mov dword [esp + 0x26c], eax
push esi
push edi
mov edi, dword [ebp + 0x10]
push 5
push str._oftp
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40ce73
lea ecx, [edi + 0xc]
call fcn.0040bd20
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 4
push str._coe
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40cea4
call fcn.0040cdb0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
mov edx, edi
mov ecx, 0x60e068
call fcn.0040d590
test al, al
jne 0x40d3cb
mov edx, edi
mov ecx, 0x60e06c
call fcn.0040d590
test al, al
jne 0x40d3cb
push 0x14
push str._set2d3dDefaulttrue
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40cf0d
push ecx
mov ecx, esp
push 0x5e1c54
call fcn.00407780
call fcn.0042ba50
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setOfdDefaulttrue
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40cf4e
push ecx
mov ecx, esp
push 0x5e1c54
call fcn.00407780
call fcn.0042b040
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x14
push str._checkDownPdfPreview
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40cf8c
call fcn.0040b9d0
test al, al
je 0x40d467
call fcn.0040c280
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setPdfPreviewtrue
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40d005
push edi
lea ecx, [esp + 0xc]
call fcn.00407780
mov eax, dword [esp + 8]
cmp dword [eax - 0xc], 0
jl 0x40cfdf
push str._install_call
push eax
call fcn.00554fd4
add esp, 8
test eax, eax
je 0x40cfdf
sub eax, dword [esp + 8]
sar eax, 1
cmp eax, 0xffffffff
je 0x40cfdf
call fcn.0040b9d0
test al, al
je 0x40cfdf
call fcn.0040c280
call fcn.0040cbc0
lea ecx, [esp + 8]
call fcn.00405930
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x14
push str._setPdfPreviewfalse
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40d036
call fcn.0040c090
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setCajDefaulttrue
push edi
call fcn.005607de
add esp, 0xc
test eax, eax
jne 0x40d077
push ecx
mov ecx, esp
push 0x5e1c54
call fcn.00407780
call fcn.0042aed0
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push str.testSetUserChoice
push edi
call fcn.00554fd4
add esp, 8
test eax, eax
je 0x40d128
xor eax, eax
mov dword [esp + 0x64], 7
mov word [esp + 0x50], ax
mov edx, str.MasterPDF
lea eax, [esp + 0x50]
mov dword [esp + 0x60], 0
push eax
mov ecx, str..pdf
call fcn.0043d2a0
add esp, 4
lea eax, [esp + 0x50]
cmp dword [esp + 0x64], 8
lea ecx, [esp + 8]
cmovae eax, dword [esp + 0x50]
push eax
call fcn.00407780
push str.MasterPDF
lea ecx, [esp + 0x14]
call fcn.00407780
call fcn.00405580
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00457dd0
lea ecx, [esp + 0x10]
call fcn.00405930
lea ecx, [esp + 8]
call fcn.00405930
lea ecx, [esp + 0x50]
call fcn.00407a70
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push str.test99889
push edi
call fcn.00554fd4
add esp, 8
test eax, eax
je 0x40d24e
lea ecx, [esp + 0x10]
call fcn.00407e40
lea ecx, [esp + 8]
call fcn.00407e40
push ecx
mov edx, str..pdf
lea ecx, [esp + 0x10]
call fcn.0042cdb0
add esp, 4
lea ecx, [esp + 0x10]
push eax
call fcn.00405c70
lea ecx, [esp + 0xc]
call fcn.00405930
push dword [esp + 0x10]
lea eax, [esp + 0xc]
push str._______XD999_msg1:_s
push eax
call fcn.00406400
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push dword [esp + 8]
call edi
push 0x208
lea eax, [esp + 0x6c]
mov dword [esp + 0x18], 0x104
push 0
push eax
call fcn.00555650
mov esi, dword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
lea eax, [esp + 0x20]
add esp, 0xc
push eax
lea eax, [esp + 0x6c]
push eax
push str.open
push str..pdf
push 2
push 0
call esi
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xc]
push str._______XD999_msg2:_s
push eax
call fcn.00406400
add esp, 0xc
push dword [esp + 8]
call edi
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x6c]
push eax
push 0
push str..pdf
push 2
push 0
call esi
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xc]
push str._______XD999_msg3:_s
push eax
call fcn.00406400
add esp, 0xc
push dword [esp + 8]
call edi
lea ecx, [esp + 8]
call fcn.00405930
lea ecx, [esp + 0x10]
call fcn.00405930
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
sub esp, 0xc
call fcn.0040dec0
lea ecx, [esp + 0xc]
call fcn.0041fcd0
push ecx
push dword [eax]
call fcn.0040b6d0
mov ecx, eax
call fcn.004388c0
lea ecx, [esp + 0xc]
call fcn.00405930
lea ecx, [esp + 0xc]
call fcn.0041ffd0
push dword [eax]
push ecx
call fcn.0040b6d0
add esp, 4
mov ecx, eax
call fcn.00438710
lea ecx, [esp + 0xc]
call fcn.00405930
sub esp, 8
call fcn.0040b6d0
add esp, 4
mov ecx, eax
call fcn.004386c0
lea ecx, [esp + 0xc]
call fcn.004275e0
mov esi, eax
call fcn.0040b6d0
push esi
lea ecx, [eax + 0x1a40]
call fcn.00405c70
lea ecx, [esp + 0xc]
call fcn.00405930
call fcn.0040b6d0
mov dword [eax + 0x1a44], 0x40bbb0
call fcn.0040b6d0
cmp dword [0x60d410], 0
mov dword [eax + 0x1a34], 0
jne 0x40d316
push 4
call fcn.005523d2
add esp, 4
mov dword [0x60d410], eax
mov dword [eax], vtable.CSkinMgr.0
sub esp, 0xc
push esp
call fcn.00412070
call fcn.00413b40
mov ecx, eax
call fcn.00413ba0
lea eax, [esp + 0x18]
mov dword [esp + 0x18], vtable.WTL::CMessageLoop.0
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0
push eax
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x34], 0
call fcn.0040dd40
push ecx
lea edx, [esp + 0x1c]
mov ecx, edi
call fcn.00410bf0
add esp, 4
mov edi, eax
call fcn.0040dc30
mov esi, dword [0x60db34]
test esi, esi
je 0x40d387
mov ecx, esi
call fcn.0043d740
push 0x5c
push esi
call fcn.005525be
add esp, 8
mov dword [0x60db34], 0
call fcn.0040daa0
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 + 0x18]
call fcn.0040d490
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
call fcn.00402a00
mov ecx, eax
test ecx, ecx
je 0x40d47f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.0042cfe0
mov esi, dword [esp + 0x10]
push esi
test eax, eax
jne 0x40d442
push 0x5e25e4
call fcn.0040bb20
add esp, 4
mov ecx, esp
push 0x5e1c54
call fcn.00407780
call fcn.0042ad10
add esp, 4
mov edx, edi
mov ecx, 0x60e06c
call fcn.0040d590
test al, al
je 0x40d44f
push 0x5e1c54
push 0x5dc930
push 0x5dc914
call fcn.004369f0
add esp, 0xc
jmp 0x40d44f
push str._______XD999_helper
call fcn.0040bb20
add esp, 8
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40d467
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x274]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.00551ee1
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402a80
int3