Function at 0x402c40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor eax, eax
mov ecx, 8
mov ebp, esp
push edi
push esi
lea edx, [ebp - 0x87c]
lea esi, [ebp - 0x884]
push ebx
xor ebx, ebx
mov edi, edx
lea edx, [ebp - 0x418]
sub esp, 0x8fc
mov word [ebp - 0x886], bx
mov ebx, dword [ebp + 8]
rep stosd dword es:[edi], eax
mov ecx, 0xe
mov dword [ebp - 0x89a], 0x25000a
mov dword [ebp - 0x880], ebx
lea ebx, [ebp - 0x850]
mov edi, ebx
mov dword [ebp - 0x874], edx
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x896], 0x200073
mov dword [ebp - 0x892], 0x240028
mov dword [ebp - 0x85c], eax
mov eax, dword [0x40e330]
mov dword [ebp - 0x88e], 0x780025
mov dword [ebp - 0x88a], 0xa0029
mov dword [ebp - 0x884], 1
mov dword [ebp - 0x870], 0x100
mov dword [ebp - 0x854], 5
mov dword [ebp - 0x840], 0x100
mov dword [ebp - 0x844], edx
mov dword [ebp - 0x858], 0xffff0002
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
je 0x402d47
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x402d47
mov ecx, dword [eax + 0x604]
test ecx, ecx
jne 0x402d47
test byte [eax], 4
jne 0x402d50
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, 0x202
lea edi, [ebp - 0x8bc]
mov dword [esp], eax
mov eax, dword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [esp + 4], edi
mov dword [ebp - 0x8dc], eax
call eax
sub esp, 8
test eax, eax
js 0x402d47
mov edx, dword [ebp + 0xc]
mov eax, dword [0x40e344]
test edx, edx
je 0x403038
mov edi, dword [ebp + 0xc]
lea edx, [ebp - 0x8c8]
or eax, 0x10
mov dword [ebp - 0x8ac], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x8ac]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8bc]
mov dword [ebp - 0x8a8], edi
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8c8], 0x4156a8
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoCreateInstanceEx]
mov eax, dword [ebp - 0x8c4]
mov edi, dword [ebp - 0x8c0]
sub esp, 0x18
mov dword [ebp - 0x8cc], eax
test edi, edi
js 0x403070
mov eax, dword [ebp - 0x860]
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x884], 8
mov dword [ebp - 0x87c], 0x10
mov dword [eax + 0x604], 1
mov dword [eax + 0x608], edx
mov eax, dword [0x40e330]
mov dword [ebp - 0x878], 0x10
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113f
mov dword [esp], eax
call ebx
mov eax, dword [0x40e61c]
mov dword [ebp - 0x884], 1
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
jmp 0x402e9c
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov eax, dword [0x40e330]
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call ebx
sub esp, 0x10
mov edi, eax
test eax, eax
je 0x403018
mov dword [ebp - 0x880], eax
mov eax, dword [0x40e330]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call ebx
sub esp, 0x10
test eax, eax
je 0x402e90
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x402e90
lea ecx, [ebp - 0x8bc]
add eax, 0x202
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x8dc]
call eax
mov eax, dword [ebp - 0x8cc]
lea ecx, [ebp - 0x618]
sub esp, 8
mov edx, dword [eax]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x8bc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
test eax, eax
js 0x402e90
mov eax, dword [ebp - 0x618]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea ecx, [ebp - 0x218]
xor eax, eax
mov edx, 0x49
mov dword [ebp - 0x8e4], ecx
sub esp, 4
jmp 0x402f67
movzx edx, word [eax + str.Interface_]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x402f60
mov ecx, dword [ebp - 0x860]
cmp word [ebp - 0x218], 0
mov edx, dword [ebp - 0x8e4]
lea eax, [ecx + 0x202]
mov dword [ebp - 0x8e0], eax
je 0x402fa1
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x402f98
mov eax, dword [ebp - 0x8e0]
sub edx, ecx
lea esi, [esi]
mov ecx, eax
add eax, 2
movzx ecx, word [ecx]
mov word [eax + edx - 0x204], cx
test cx, cx
jne 0x402fb0
mov dword [esp], 0
mov ecx, dword [ebp - 0x8e0]
mov eax, 0xb
mov edx, dword [ebp - 0x8e4]
call sym._CreateITEM_INFO
mov dword [esp + 8], 0
mov dword [ebp - 0x830], eax
lea eax, [ebp - 0x85c]
mov dword [esp + 0xc], eax
mov eax, dword [0x40e330]
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call ebx
sub esp, 0x10
jmp 0x402e90
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._RefreshMenu
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._RefreshDetails
jmp 0x402d47
mov dword [esp + 8], eax
lea edx, [ebp - 0x8cc]
lea eax, [ebp - 0x8bc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x4156a8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
sub esp, 0x14
mov edi, eax
jmp 0x402e06
mov eax, dword [0x40e33c]
lea ebx, [ebp - 0x618]
mov esi, dword [sym.imp.user32.dll_LoadStringW]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x12c
mov dword [esp], eax
call esi
lea eax, [ebp - 0x818]
sub esp, 0x10
mov dword [esp + 8], eax
mov eax, dword [0x40e33c]
mov dword [esp + 0xc], 0x100
mov dword [esp + 4], 0x14
mov dword [esp], eax
call esi
sub esp, 0x10
cmp edi, 0x800401f5
je 0x403385
cmp edi, 0x800401f6
jge 0x403200
cmp edi, 0x80040150
je 0x4032c2
cmp edi, 0x80040151
jl 0x4031b8
cmp edi, 0x80040152
je 0x403358
cmp edi, 0x80040154
jne 0x40331d
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.REGDB_E_CLASSNOTREG
lea esi, [esi]
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x8dc]
sub esp, 0x18
cmp word [ebp - 0x618], 0
mov eax, ebx
je 0x403171
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x403168
lea edx, [ebp - 0x89a]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_wsprintfW]
lea eax, [ebp - 0x818]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [0x40e320]
mov dword [esp + 0xc], 0x30
mov dword [esp], eax
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
jmp 0x402d47
cmp edi, 0x80004002
je 0x4033b8
cmp edi, 0x80040111
jne 0x40331d
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CLASS_E_CLASSNOTAVAILABLE
jmp 0x403138
cmp edi, 0x800401fe
je 0x403295
cmp edi, 0x800401ff
jl 0x403250
cmp edi, 0x80070005
jne 0x40331d
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.E_ACCESSDENIED
jmp 0x403138
cmp edi, 0x800401f8
je 0x4032f0
cmp edi, 0x800401f9
jne 0x40331d
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_ERRORINDLL
jmp 0x403138
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_APPDIDNTREG
jmp 0x403138
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.REGDB_E_READREGDB
jmp 0x403138
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_DLLNOTFOUND
jmp 0x403138
mov eax, dword [0x40e33c]
lea ecx, [ebp - 0x218]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 4], 0x12d
mov dword [esp], eax
call esi
mov ecx, dword [ebp - 0x8dc]
sub esp, 0x10
jmp 0x403156
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.REGDB_E_KEYMISSING
jmp 0x403138
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_APPNOTFOUND
jmp 0x403138
lea ecx, [ebp - 0x218]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.E_NOINTERFACE
jmp 0x403138