Function at 0x40c970
Capabilities:
Print debug messages
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x270
mov eax, dword [0x6039b0]
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.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40c9c3
lea ecx, [edi + 0xc]
call fcn.0040bae0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 4
push str._coe
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40c9f4
call fcn.0040c900
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
mov edx, edi
mov ecx, 0x60afe8
call fcn.0040d0b0
test al, al
jne 0x40ce9a
mov edx, edi
mov ecx, 0x60afec
call fcn.0040d0b0
test al, al
jne 0x40ce9a
push 0x14
push str._set2d3dDefaulttrue
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40ca5d
push ecx
mov ecx, esp
push 0x5dfc54
call fcn.00407740
call fcn.0042b380
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setOfdDefaulttrue
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40ca9e
push ecx
mov ecx, esp
push 0x5dfc54
call fcn.00407740
call fcn.0042a970
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setPdfPreviewtrue
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40cad4
call fcn.0040c000
call fcn.0040c710
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0x14
push str._setPdfPreviewfalse
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40cb05
call fcn.0040be10
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setCajDefaulttrue
push edi
call fcn.0055ed1d
add esp, 0xc
test eax, eax
jne 0x40cb46
push ecx
mov ecx, esp
push 0x5dfc54
call fcn.00407740
call fcn.0042a800
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push str.testSetUserChoice
push edi
call fcn.00553544
add esp, 8
test eax, eax
je 0x40cbf7
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.0043c480
add esp, 4
lea eax, [esp + 0x50]
cmp dword [esp + 0x64], 8
lea ecx, [esp + 0xc]
cmovae eax, dword [esp + 0x50]
push eax
call fcn.00407740
push str.MasterPDF
lea ecx, [esp + 0x14]
call fcn.00407740
call fcn.00405540
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00456b30
lea ecx, [esp + 0x10]
call fcn.004058f0
lea ecx, [esp + 0xc]
call fcn.004058f0
lea ecx, [esp + 0x50]
call fcn.00407a30
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push str.test99889
push edi
call fcn.00553544
add esp, 8
test eax, eax
je 0x40cd1d
lea ecx, [esp + 0x10]
call fcn.00407e00
lea ecx, [esp + 0xc]
call fcn.00407e00
push ecx
mov edx, str..pdf
lea ecx, [esp + 0xc]
call fcn.0042c6e0
add esp, 4
lea ecx, [esp + 0x10]
push eax
call fcn.00405c30
lea ecx, [esp + 8]
call fcn.004058f0
push dword [esp + 0x10]
lea eax, [esp + 0x10]
push str._______XD999_msg1:_s
push eax
call fcn.004063c0
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0xc
push dword [esp + 0xc]
call edi
push 0x208
lea eax, [esp + 0x6c]
mov dword [esp + 0x18], 0x104
push 0
push eax
call fcn.00553bc0
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 + 0x10]
push str._______XD999_msg2:_s
push eax
call fcn.004063c0
add esp, 0xc
push dword [esp + 0xc]
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 + 0x10]
push str._______XD999_msg3:_s
push eax
call fcn.004063c0
add esp, 0xc
push dword [esp + 0xc]
call edi
lea ecx, [esp + 0xc]
call fcn.004058f0
lea ecx, [esp + 0x10]
call fcn.004058f0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
sub esp, 0xc
call fcn.0040db90
lea ecx, [esp + 8]
call fcn.0041f640
push ecx
push dword [eax]
call fcn.0040b690
mov ecx, eax
call fcn.00437d60
lea ecx, [esp + 8]
call fcn.004058f0
lea ecx, [esp + 8]
call fcn.0041f940
push dword [eax]
push ecx
call fcn.0040b690
add esp, 4
mov ecx, eax
call fcn.00437bb0
lea ecx, [esp + 8]
call fcn.004058f0
sub esp, 8
call fcn.0040b690
add esp, 4
mov ecx, eax
call fcn.00437b60
lea ecx, [esp + 8]
call fcn.00426f10
mov esi, eax
call fcn.0040b690
push esi
lea ecx, [eax + 0x1a40]
call fcn.00405c30
lea ecx, [esp + 8]
call fcn.004058f0
call fcn.0040b690
mov dword [eax + 0x1a44], 0x40b970
call fcn.0040b690
cmp dword [0x60a408], 0
mov dword [eax + 0x1a34], 0
jne 0x40cde5
push 4
call fcn.0055091d
add esp, 4
mov dword [0x60a408], eax
mov dword [eax], vtable.CSkinMgr.0
sub esp, 0xc
push esp
call fcn.00411ce0
call fcn.004137c0
mov ecx, eax
call fcn.00413820
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.0040da10
push ecx
lea edx, [esp + 0x1c]
mov ecx, edi
call fcn.00410860
add esp, 4
mov edi, eax
call fcn.0040d900
mov esi, dword [0x60ab24]
test esi, esi
je 0x40ce56
mov ecx, esi
call fcn.0043c920
push 0x5c
push esi
call fcn.00550b09
add esp, 8
mov dword [0x60ab24], 0
call fcn.0040d770
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.0040cf60
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x26c]
xor ecx, esp
call fcn.0055042c
mov esp, ebp
pop ebp
ret 0x10
call fcn.00402a00
mov ecx, eax
test ecx, ecx
je 0x40cf4e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.0042c910
mov esi, dword [esp + 0x10]
push esi
test eax, eax
jne 0x40cf11
push 0x5e04ac
call fcn.0040b8e0
add esp, 4
mov ecx, esp
push 0x5dfc54
call fcn.00407740
call fcn.0042a640
add esp, 4
mov edx, edi
mov ecx, 0x60afec
call fcn.0040d0b0
test al, al
je 0x40cf1e
push 0x5dfc54
push 0x5da930
push 0x5da914
call fcn.00435f50
add esp, 0xc
jmp 0x40cf1e
push str._______XD999_helper
call fcn.0040b8e0
add esp, 8
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40cf36
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.0055042c
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402a80
int3