Function at 0x409340
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x78
mov word [ebp - 0x10], ax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x58], 0x740068
mov dword [ebp - 0x54], 0x700074
mov dword [ebp - 0x50], 0x2f003a
mov dword [ebp - 0x4c], 0x77002f
mov dword [ebp - 0x48], 0x6e0069
mov dword [ebp - 0x44], 0x680065
mov dword [ebp - 0x40], 0x2e0071
mov dword [ebp - 0x3c], 0x72006f
mov dword [ebp - 0x38], 0x67
mov dword [ebp - 0x34], 0x740068
mov dword [ebp - 0x30], 0x700074
mov dword [ebp - 0x2c], 0x2f003a
mov dword [ebp - 0x28], 0x77002f
mov dword [ebp - 0x24], 0x6e0069
mov dword [ebp - 0x20], 0x680065
mov dword [ebp - 0x1c], 0x2e0071
mov dword [ebp - 0x18], 0x72006f
mov dword [ebp - 0x14], 0x2f0067
mov dword [ebp - 0x5c], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x58]
mov dword [esp + 0x18], 0x414980
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.hlink.dll_HlinkCreateFromString
sub esp, 0x20
mov ebx, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0x94
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.failed_to_create_link_n
mov dword [esp], eax
call fcn.00402bf0
test ebx, ebx
js 0x40987e
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0x99
call fcn.004026e0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.failed_n
sete al
lea ebx, [ebp - 0x5c]
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x60]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x10
mov esi, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0x9c
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.failed_n
mov dword [esp], eax
call fcn.00402bf0
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0x9d
xor eax, eax
mov dword [esp + 4], str.no_moniker_n
mov edx, dword [ebp - 0x60]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00402bf0
mov eax, 0x9e
call fcn.004026e0
mov dword [esp + 4], str.string_should_be_null_n
mov ecx, dword [ebp - 0x5c]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov esi, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xa1
xor eax, eax
cmp esi, 1
sete al
mov dword [esp + 4], str.moniker_refcount_wrong_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xa4
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.failed_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x5c]
mov edi, dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x64]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
mov eax, 0xa8
call fcn.004026e0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.failed__r_08lx_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xab
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.failed__r_08lx_n
call fcn.00402bf0
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xac
xor eax, eax
mov dword [esp + 4], str.string_should_be_null_n
mov esi, dword [ebp - 0x5c]
test esi, esi
sete al
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
mov eax, 0xaf
call fcn.004026e0
xor eax, eax
test esi, esi
mov dword [esp + 4], str.failed_n
sete al
mov dword [esp], eax
call fcn.00402bf0
mov eax, 0xb0
call fcn.004026e0
lea eax, [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.url_wrong_n
movzx eax, al
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x64]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov esi, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xb4
xor eax, eax
test esi, esi
sete al
mov dword [esp + 4], str.failed_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0x10
mov ebx, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xb7
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 4], str.failed_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, 0xb8
call fcn.004026e0
mov dword [esp + 4], str.string_should_be_null_n
mov edi, dword [ebp - 0x5c]
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x40]
sub esp, 8
mov ebx, eax
mov eax, 0xbc
call fcn.004026e0
xor eax, eax
cmp ebx, 0x80004001
mov dword [esp + 4], str.failed_n
sete al
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x3c]
sub esp, 8
mov ebx, eax
call fcn.0040dad0
mov dword [eax], 0x4124df
mov dword [eax + 4], 0xbf
xor eax, eax
cmp ebx, 0x80004001
sete al
mov dword [esp + 4], str.failed_n
mov dword [esp], eax
call fcn.00402bf0
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret