Function at 0x402ca0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor eax, eax
mov ecx, 8
mov ebp, esp
push edi
push esi
lea edx, [ebp - 0x870]
lea esi, [ebp - 0x878]
push ebx
xor ebx, ebx
mov edi, edx
lea edx, [ebp - 0x40c]
sub esp, 0x8e0
mov word [ebp - 0x87a], bx
mov ebx, dword [ebp + 8]
rep stosd dword es:[edi], eax
mov ecx, 0xe
mov dword [ebp - 0x88e], 0x25000a
mov dword [ebp - 0x874], ebx
lea ebx, [ebp - 0x844]
mov edi, ebx
mov dword [ebp - 0x868], edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88a], 0x200073
mov dword [ebp - 0x886], 0x240028
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0x850], eax
mov eax, dword [0x40e330]
mov dword [ebp - 0x882], 0x780025
mov dword [ebp - 0x87e], 0xa0029
mov dword [ebp - 0x878], 1
mov dword [ebp - 0x864], 0x100
mov dword [ebp - 0x848], 5
mov dword [ebp - 0x834], 0x100
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x84c], 0xffff0002
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call edi
sub esp, 0x10
test eax, eax
je 0x402da7
mov eax, dword [ebp - 0x854]
test eax, eax
je 0x402da7
mov ecx, dword [eax + 0x604]
test ecx, ecx
jne 0x402da7
test byte [eax], 4
jne 0x402db0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, 0x202
lea ebx, [ebp - 0x8b0]
mov dword [esp], eax
mov eax, dword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [esp + 4], ebx
mov dword [ebp - 0x8c8], eax
call eax
sub esp, 8
test eax, eax
js 0x402da7
mov edx, dword [ebp + 0xc]
mov eax, dword [0x40e344]
test edx, edx
je 0x403110
mov ebx, dword [ebp + 0xc]
lea edx, [ebp - 0x8bc]
or eax, 0x10
mov dword [ebp - 0x8a0], 0
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x8a0]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8b0]
mov dword [ebp - 0x89c], ebx
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x8bc], 0x4156c8
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 - 0x8b8]
mov ebx, dword [ebp - 0x8b4]
sub esp, 0x18
mov dword [ebp - 0x8c0], eax
test ebx, ebx
js 0x403150
mov eax, dword [ebp - 0x854]
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x878], 8
mov dword [ebp - 0x870], 0x10
mov dword [eax + 0x608], edx
mov dword [eax + 0x604], 1
mov eax, dword [0x40e330]
mov dword [ebp - 0x86c], 0x10
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113f
mov dword [esp], eax
call edi
mov eax, dword [0x40e61c]
mov dword [ebp - 0x878], 1
sub esp, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [0x40e330]
mov dword [esp + 8], 4
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
sub esp, 0x10
test eax, eax
je 0x4030f0
mov dword [ebp - 0x8c4], edi
mov edi, eax
jmp 0x402f41
mov eax, dword [0x40e330]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov dword [esp], eax
mov eax, dword [ebp - 0x8c4]
mov dword [esp + 4], 0x110a
call eax
sub esp, 0x10
mov edi, eax
test eax, eax
je 0x4030f0
mov eax, dword [0x40e330]
mov dword [ebp - 0x874], edi
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov eax, dword [ebp - 0x8c4]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
call eax
sub esp, 0x10
test eax, eax
je 0x402f10
mov eax, dword [ebp - 0x854]
test eax, eax
je 0x402f10
lea ebx, [ebp - 0x8b0]
add eax, 0x202
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x60c]
mov dword [esp], eax
mov eax, dword [ebp - 0x8c8]
call eax
mov eax, dword [ebp - 0x8c0]
sub esp, 8
mov edx, dword [eax]
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x8b0]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
test eax, eax
js 0x402f10
mov eax, dword [ebp - 0x60c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea ecx, [ebp - 0x20c]
xor eax, eax
mov edx, 0x49
mov dword [ebp - 0x8cc], ecx
sub esp, 4
jmp 0x402ff7
movzx edx, word [eax + str.Interface_]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x402ff0
mov ecx, dword [ebp - 0x854]
cmp word [ebp - 0x20c], 0
mov edx, dword [ebp - 0x8cc]
lea ebx, [ecx + 0x202]
je 0x403029
nop
add edx, 2
cmp word [edx], 0
jne 0x403020
mov eax, ecx
sub edx, ecx
neg eax
mov dword [ebp - 0x8d0], eax
mov eax, ebx
lea esi, [esi]
nop
mov ecx, eax
add eax, 2
movzx ecx, word [ecx]
mov word [eax + edx - 0x204], cx
test cx, cx
jne 0x403040
mov dword [esp + 4], 0x60c
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [ebp - 0x8d4], edi
mov edi, dword [ebp - 0x8cc]
mov byte [eax], 0xb
mov ecx, eax
xor eax, eax
lea esi, [esi]
movzx edx, word [edi + eax]
mov word [ecx + eax + 2], dx
add eax, 2
test dx, dx
jne 0x403080
mov eax, dword [ebp - 0x8d0]
mov edi, dword [ebp - 0x8d4]
lea edx, [ecx + eax]
mov eax, ebx
add ebx, 2
movzx eax, word [eax]
mov word [ebx + edx - 2], ax
test ax, ax
jne 0x4030a0
lea eax, [ebp - 0x850]
mov dword [ebp - 0x824], ecx
mov dword [esp + 0xc], eax
mov eax, dword [0x40e330]
mov dword [esp + 8], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x8c4]
mov dword [esp + 4], 0x1132
call eax
sub esp, 0x10
jmp 0x402f10
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 0x402da7
mov dword [esp + 8], eax
lea edx, [ebp - 0x8c0]
lea eax, [ebp - 0x8b0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x4156c8
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
sub esp, 0x14
mov ebx, eax
jmp 0x402e66
lea eax, [ebp - 0x60c]
mov esi, dword [sym.imp.user32.dll_LoadStringW]
mov dword [esp + 0xc], 0x100
lea edi, [ebp - 0x80c]
mov dword [esp + 8], eax
mov eax, dword [0x40e33c]
mov dword [esp + 4], 0x12c
mov dword [esp], eax
call esi
mov eax, dword [0x40e33c]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
mov dword [esp + 4], 0x14
mov dword [esp], eax
call esi
sub esp, 0x10
cmp ebx, 0x800401f5
je 0x403475
cmp ebx, 0x800401f6
jge 0x4032e8
cmp ebx, 0x80040150
je 0x4033aa
cmp ebx, 0x80040151
jl 0x4032a0
cmp ebx, 0x80040152
je 0x403448
cmp ebx, 0x80040154
jne 0x40340d
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], 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 - 0x8c4]
sub esp, 0x18
cmp word [ebp - 0x60c], 0
lea eax, [ebp - 0x60c]
je 0x403259
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x403250
lea edx, [ebp - 0x88e]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_wsprintfW]
lea eax, [ebp - 0x60c]
mov dword [esp + 8], edi
mov dword [esp + 4], 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 0x402da7
cmp ebx, 0x80004002
je 0x4034a8
cmp ebx, 0x80040111
jne 0x40340d
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CLASS_E_CLASSNOTAVAILABLE
jmp 0x403218
cmp ebx, 0x800401fe
je 0x40337d
cmp ebx, 0x800401ff
jl 0x403338
cmp ebx, 0x80070005
jne 0x40340d
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.E_ACCESSDENIED
jmp 0x403218
cmp ebx, 0x800401f8
je 0x4033e0
cmp ebx, 0x800401f9
jne 0x40340d
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_ERRORINDLL
jmp 0x403218
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_APPDIDNTREG
jmp 0x403218
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.REGDB_E_READREGDB
jmp 0x403218
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_DLLNOTFOUND
jmp 0x403218
mov eax, dword [0x40e33c]
lea ecx, [ebp - 0x20c]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 4], 0x12d
mov dword [esp], eax
call esi
mov ecx, dword [ebp - 0x8c4]
sub esp, 0x10
jmp 0x403236
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.REGDB_E_KEYMISSING
jmp 0x403218
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.CO_E_APPNOTFOUND
jmp 0x403218
lea ecx, [ebp - 0x20c]
mov dword [esp + 0x14], 0x100
mov dword [esp + 0x10], ecx
mov dword [ebp - 0x8c4], ecx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.E_NOINTERFACE
jmp 0x403218