Function at 0x406590
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor edx, edx
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
xor ebx, ebx
sub esp, 0x8fc
mov word [ebp - 0x886], bx
mov dword [ebp - 0x89a], 0x25000a
mov dword [ebp - 0x896], 0x200073
mov dword [ebp - 0x892], 0x240028
mov dword [ebp - 0x88e], 0x780025
mov dword [ebp - 0x88a], 0xa0029
mov dword [ebp + eax - 0x87c], edx
add eax, 4
cmp eax, 0x20
jb 0x4065db
mov eax, dword [ebp + 8]
lea ebx, [ebp - 0x850]
mov ecx, 0xe
lea edx, [ebp - 0x418]
mov edi, ebx
lea esi, [ebp - 0x884]
mov dword [ebp - 0x884], 1
mov dword [ebp - 0x880], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x870], 0x100
mov dword [ebp - 0x874], edx
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0x85c], eax
mov eax, dword [0x41b030]
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 edi
sub esp, 0x10
test eax, eax
je 0x40669b
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x40669b
mov ecx, dword [eax + 0x604]
test ecx, ecx
jne 0x40669b
test byte [eax], 4
jne 0x4066a8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, 0x202
lea ebx, [ebp - 0x8bc]
mov dword [esp], eax
mov eax, dword [sym.imp.ole32.dll_CLSIDFromString]
mov dword [esp + 4], ebx
mov dword [ebp - 0x8dc], eax
call eax
sub esp, 8
test eax, eax
js 0x40669b
mov edx, dword [ebp + 0xc]
mov eax, dword [0x41b044]
test edx, edx
je 0x406988
mov ebx, 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 [esp + 0xc], edx
mov dword [ebp - 0x8a0], 0
mov dword [ebp - 0x8a4], 0
mov dword [ebp - 0x8a8], ebx
mov dword [ebp - 0x8c8], 0x41619c
mov dword [esp + 0x10], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoCreateInstanceEx]
mov eax, dword [ebp - 0x8c4]
mov edx, dword [ebp - 0x8c0]
sub esp, 0x18
mov dword [ebp - 0x8cc], eax
test edx, edx
js 0x4069c0
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 [0x41b030]
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 edi
mov eax, dword [0x41b67c]
mov dword [ebp - 0x884], 1
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 4
jmp 0x4067ec
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov eax, dword [0x41b030]
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
sub esp, 0x10
mov ebx, eax
test eax, eax
je 0x406968
mov dword [ebp - 0x880], eax
mov eax, dword [0x41b030]
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 0x4067e0
mov eax, dword [ebp - 0x860]
test eax, eax
je 0x4067e0
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 0x4067e0
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 0x4068b7
movzx edx, word [eax + str.Interface_]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4068b0
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 0x4068f1
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4068e8
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 0x406900
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 [0x41b030]
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call edi
sub esp, 0x10
jmp 0x4067e0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.RefreshMenu
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.RefreshDetails
jmp 0x40669b
lea edx, [ebp - 0x8cc]
mov dword [esp + 8], eax
lea eax, [ebp - 0x8bc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x41619c
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
sub esp, 0x14
mov edx, eax
jmp 0x40675e
mov eax, dword [0x41b03c]
lea ebx, [ebp - 0x618]
mov dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x818]
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
mov eax, dword [0x41b03c]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], edi
mov dword [esp + 4], 0x14
mov dword [esp], eax
call esi
mov edx, dword [ebp - 0x8dc]
sub esp, 0x10
cmp edx, 0x800401f5
je 0x406d23
cmp edx, 0x800401f6
jge 0x406b68
cmp edx, 0x80040150
je 0x406c3e
cmp edx, 0x80040151
jl 0x406b1a
cmp edx, 0x80040152
je 0x406cf0
cmp edx, 0x80040154
jne 0x406cab
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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]
lea esi, [esi]
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x8dc]
mov edx, dword [ebp - 0x8e0]
sub esp, 0x18
cmp word [ebp - 0x618], 0
mov eax, ebx
je 0x406ad9
add eax, 2
cmp word [eax], 0
jne 0x406ad0
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x89a]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.user32.dll_wsprintfW]
mov eax, dword [0x41b020]
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0x30
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
jmp 0x40669b
cmp edx, 0x80004002
je 0x406d60
cmp edx, 0x80040111
jne 0x406cab
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
cmp edx, 0x800401fe
je 0x406c0b
cmp edx, 0x800401ff
jl 0x406bc0
cmp edx, 0x80070005
jne 0x406cab
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
cmp edx, 0x800401f8
je 0x406c78
cmp edx, 0x800401f9
jne 0x406cab
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
mov eax, dword [0x41b03c]
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
mov dword [esp + 8], ecx
mov dword [ebp - 0x8dc], ecx
mov dword [esp + 0xc], 0x100
mov dword [esp + 4], 0x12d
mov dword [esp], eax
call esi
mov edx, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x8dc]
sub esp, 0x10
jmp 0x406ac4
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x8e0], edx
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 0x406aa0