Function at 0x40bee0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
push 5
push str._oftp
push edi
call fcn.0045ff58
add esp, 0xc
test eax, eax
jne 0x40bf16
lea ecx, [edi + 0xc]
call fcn.0040bc20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 4
push str._coe
push edi
call fcn.0045ff58
add esp, 0xc
test eax, eax
jne 0x40bf3a
call fcn.0040be70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x13
push str._setPdfDefaulttrue
push edi
call fcn.0045ff58
add esp, 0xc
test eax, eax
jne 0x40bf6e
push ecx
mov ecx, esp
push 0x4994f4
call fcn.00407e20
call fcn.00424790
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x14
push str._set2d3dDefaulttrue
push edi
call fcn.0045ff58
add esp, 0xc
test eax, eax
jne 0x40bfa2
push ecx
mov ecx, esp
push 0x4994f4
call fcn.00407e20
call fcn.00424900
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
sub esp, 0xc
call fcn.0040c890
lea ecx, [esp + 0xc]
call fcn.0041bf80
push ecx
push dword [eax]
call fcn.0040b990
mov ecx, eax
call fcn.00429f10
mov edx, dword [esp + 0xc]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bfe8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0xc]
call fcn.0041c280
push dword [eax]
push ecx
call fcn.0040b990
add esp, 4
mov ecx, eax
call fcn.00429d60
mov edx, dword [esp + 0xc]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c01e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 8
call fcn.0040b990
add esp, 4
mov ecx, eax
call fcn.00429d10
lea ecx, [esp + 0xc]
call fcn.00421a40
mov esi, eax
call fcn.0040b990
push esi
lea ecx, [eax + 0x1a40]
call fcn.00406390
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40c065
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0040b990
mov dword [eax + 0x1a44], 0x40bab0
call fcn.0040b990
cmp dword [0x4b1058], 0
mov dword [eax + 0x1a34], 0
jne 0x40c0a1
push 4
call fcn.004527fe
add esp, 4
mov dword [0x4b1058], eax
mov dword [eax], vtable.CSkinMgr.0
sub esp, 0xc
push esp
call fcn.004107a0
call fcn.00412270
mov ecx, eax
call fcn.004122d0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], vtable.WTL::CMessageLoop.0
xorps xmm0, xmm0
mov dword [esp + 0x24], 0
push eax
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0
call fcn.0040c700
push ecx
lea edx, [esp + 0x14]
mov ecx, edi
call fcn.0040f560
add esp, 4
mov edi, eax
call fcn.0040c5f0
mov esi, dword [0x4b153c]
test esi, esi
je 0x40c112
mov ecx, esi
call fcn.0042a810
push 0x54
push esi
call fcn.004529ea
add esp, 8
mov dword [0x4b153c], 0
call fcn.0040c460
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 + 0x10]
call fcn.0040c150
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10