Function at 0x410850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43d1e8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x44c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
add eax, 0xffffff9a
mov ecx, dword [ebp + 0x1c]
cmp eax, 0xab
ja case.0x410899.103
movzx eax, byte [eax + 0x410c84]
jmp dword [eax*4 + 0x410c54]
mov esi, dword [edx + 8]
mov edx, dword [ecx]
mov eax, dword [esi + 0x10]
cmp eax, dword [edx + 0x68]
jne case.0x410899.103
mov eax, dword [edx + 0x58]
mov ecx, esi
push dword [edx + 8]
push dword [eax + 8]
call fcn.00411c20
jmp case.0x410899.103
mov ecx, dword [ecx]
mov esi, dword [edx + 8]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 0x18]
jne case.0x410899.103
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je case.0x410899.103
mov eax, dword [ecx]
lea ebx, [esi + 0x14]
push ebx
push str._D_3
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 0x18]
push eax
push 0x43e4a0
push ecx
mov edx, dword [ecx]
call dword [edx]
cmp dword [ebx], 0
je 0x410a17
push 0xc
call fcn.0041df3c
mov edi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x20], edi
lea eax, [ebp - 0x1c]
mov edx, edi
movq qword [edi], xmm0
mov dword [edi + 8], 0
push eax
mov dword [edi], vtable.CHtmlDocEvtWatcher.0
mov dword [edi + 4], 0
mov dword [edi + 8], esi
mov ecx, dword [ebx]
push 0x43e490
call fcn.00411f70
test eax, eax
js 0x410a0e
cmp dword [esi + 0x30], 0
mov edi, dword [ebp - 0x1c]
mov ebx, dword [esi + 0x24]
jne 0x4109e1
mov eax, dword [esi + 0x34]
mov ecx, 0xc
mul ecx
mov ecx, eax
test edx, edx
ja 0x410c3c
jb 0x410996
cmp ecx, 0xffffffff
ja 0x410c3c
not eax
cmp eax, 8
jb 0x410c3c
add ecx, 8
push ecx
call fcn.00421984
add esp, 4
test eax, eax
je 0x410c3c
mov ecx, dword [esi + 0x2c]
mov dword [eax], ecx
mov dword [esi + 0x2c], eax
mov edx, dword [esi + 0x34]
lea ecx, [edx*2 - 1]
add ecx, edx
add edx, 0xffffffff
lea ecx, [eax + ecx*4]
js 0x4109e1
mov eax, dword [esi + 0x30]
mov dword [ecx], eax
mov dword [esi + 0x30], ecx
sub ecx, 0xc
sub edx, 1
jns 0x4109d1
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov dword [ecx + 8], edi
mov dword [esi + 0x30], eax
mov dword [ecx + 4], ebx
mov dword [ecx], 0
inc dword [esi + 0x28]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x410a06
mov dword [eax], ecx
mov dword [esi + 0x24], ecx
jmp 0x410a17
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ecx
jmp 0x410a17
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1c]
mov eax, dword [esi + 0x54]
mov ebx, dword [ebp - 0x18]
cmp ebx, eax
je 0x410a47
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test ebx, ebx
je 0x410a40
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0x54], eax
test eax, eax
je 0x410c3c
jmp 0x410a47
mov dword [esi + 0x54], 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp case.0x410899.103
mov ecx, dword [ecx]
mov esi, dword [edx + 8]
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0x18]
mov ebx, dword [eax + 8]
mov eax, dword [esi]
mov edx, dword [eax + 4]
cmp eax, vtable.XWebBrowser.0
jne 0x410c46
mov ecx, dword [esi + 0x10]
cmp ecx, edi
jne case.0x410899.103
mov dword [esi + 0x50], 1
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x14]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x78]
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x410aad
push dword [ebp - 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 8]
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp case.0x410899.103
mov edi, dword [edx + 8]
mov esi, dword [edi + 0x3c]
test esi, esi
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 8]
push edi
call dword [edx + 0x10]
jmp case.0x410899.103
mov edi, dword [edx + 8]
mov esi, dword [edi + 0x3c]
test esi, esi
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 8]
push edi
call dword [edx + 0x14]
jmp case.0x410899.103
mov edi, dword [edx + 8]
mov esi, dword [edi + 0x3c]
test esi, esi
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 8]
push dword [eax + 0x18]
push edi
call dword [edx + 0x18]
jmp case.0x410899.103
mov esi, dword [edx + 8]
cmp dword [esi + 0x60], 0
je 0x410b98
mov eax, dword [ecx]
mov edx, 1
mov eax, dword [eax + 0x38]
mov word [eax], dx
mov eax, dword [ecx]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [eax + 8]
call fcn.00402a70
push 5
push 0
push 0
push dword [ebp - 0x18]
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0x18]
or eax, 0xffffffff
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg case.0x410899.103
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x410c4e
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x410899.103
mov esi, dword [esi + 0x3c]
test esi, esi
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 0x38]
push dword [eax + 8]
call dword [edx + 0xc]
jmp case.0x410899.103
mov ebx, dword [edx + 8]
mov edi, dword [ebx + 0x3c]
test edi, edi
je case.0x410899.103
mov edx, dword [ecx]
xor eax, eax
mov esi, dword [edi]
mov ecx, edi
cmp word [edx + 8], 0xffff
sete al
push eax
push dword [edx + 0x18]
push ebx
call dword [esi + 0x1c]
jmp case.0x410899.103
mov eax, dword [edx + 8]
cmp dword [eax + 0x3c], 0
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, 1
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0x18]
push edi
mov eax, dword [eax + 8]
mov word [edi], cx
mov edx, dword [edx + 8]
push eax
push dword [ebx + 8]
mov ecx, dword [edx + 0x3c]
push edx
mov esi, dword [ecx]
call dword [esi + 0x20]
jmp case.0x410899.103
mov eax, dword [edx + 8]
mov esi, dword [eax + 0x3c]
test esi, esi
je case.0x410899.103
mov eax, dword [ecx]
mov ecx, esi
mov edx, dword [esi]
push dword [eax + 8]
call dword [edx + 0x28]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d9da
mov esp, ebp
pop ebp
ret 0x24
push 0x8007000e
call fcn.004039b0
push ebx
push edi
mov ecx, esi
call edx
jmp case.0x410899.103
mov ecx, edx
call esi
jmp case.0x410899.103