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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10032590
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x100405a0]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
push edi
mov eax, dword [0x100405a0]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x10], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], ebx
cmp dword [ebp + 0x10], ebx
je 0x100187c3
push 8
pop eax
mov word [esp + 0x1c], ax
mov eax, dword [esi]
push ebx
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x38], str._blank
lea esi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x80]
push str.target
push esi
call dword [eax + 0x1c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x7c], ebx
jne 0x100187e0
mov eax, dword [esi]
push esi
call dword [eax + 0x114]
xor eax, eax
inc eax
jmp 0x10018e24
push edi
call sym.wbcom.dll_WebHost_GetIEServerHWND
mov dword [esp + 0x30], eax
cmp dword [ebp + 0x14], ebx
je 0x10018aac
mov eax, dword [esi]
lea ecx, [esp + 0x54]
push ecx
push esi
call dword [eax + 0x170]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x78], ebx
test eax, eax
js 0x10018aac
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10018aac
mov eax, dword [ecx]
lea edx, [esp + 0x60]
push edx
push 0x10033470
push ecx
call dword [eax]
test eax, eax
js 0x10018a6d
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x84]
mov dword [esp + 0x84], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
test eax, eax
js 0x10018a63
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x10018a63
mov esi, ebx
push 0x16
mov dword [esp + 0x78], esi
pop edi
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov word [esp + 0x1c], di
mov dword [esp + 0x24], esi
mov dword [esp + 0xa0], ebx
mov word [esp + 0x34], di
mov dword [esp + 0x3c], esi
mov byte [esp + 0xa0], 1
lea edx, [esp + 0x50]
push edx
sub esp, 0x10
mov eax, dword [esp + 0x74]
mov edi, esp
lea esi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [esp + 0x34]
push eax
call edi
or dword [esp + 0xa0], 0xffffffff
lea eax, [esp + 0x1c]
push eax
call edi
test esi, esi
js 0x100189b7
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x100189b7
mov eax, dword [ecx]
lea edx, [esp + 0x68]
push edx
push 0x10033530
push ecx
call dword [eax]
test eax, eax
js 0x100189b7
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x64]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xb0]
test eax, eax
js 0x100189ad
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x100189ad
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ebx
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x30]
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x48]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x8c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x88]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x38]
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x5c]
sub ecx, dword [esp + 0x8c]
sub eax, dword [esp + 0x48]
imul ecx, eax
cmp ecx, dword [esp + 0x70]
jle 0x100189ad
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x68]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [esp + 0x74]
inc esi
push 0x16
mov dword [esp + 0x78], esi
pop edi
cmp esi, dword [esp + 0x84]
jl 0x10018871
mov eax, dword [esp + 0x78]
mov word [esp + 0x34], di
mov dword [esp + 0x3c], eax
mov dword [esp + 0xa0], 2
mov word [esp + 0x1c], di
mov dword [esp + 0x24], eax
mov byte [esp + 0xa0], 3
lea edx, [esp + 0x50]
push edx
sub esp, 0x10
mov eax, dword [esp + 0x74]
mov edi, esp
lea esi, [esp + 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x2c]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [esp + 0x1c]
push eax
call edi
or dword [esp + 0xa0], 0xffffffff
lea eax, [esp + 0x34]
push eax
call edi
test esi, esi
js 0x10018a5b
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10018a5b
mov eax, dword [ecx]
lea edx, [esp + 0x4c]
push edx
push 0x10033460
push ecx
call dword [eax]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x10018aac
cmp dword [esp + 0x70], 0x24
jle 0x10018aa6
push dword [esp + 0x14]
mov ecx, dword [esp + 0x80]
push dword [esp + 0x1c]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edx
push edi
call fcn.10018724
jmp 0x10018e24
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov eax, dword [esi]
lea ecx, [esp + 0x58]
push ecx
push 0x10033530
push esi
call dword [eax]
cmp dword [ebp + 0x18], 0
mov edi, eax
je 0x10018bab
test edi, edi
js 0x10018bab
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x10018baf
mov eax, dword [ecx]
lea edx, [esp + 0x48]
push edx
push ecx
call dword [eax + 0xa0]
mov edi, eax
test edi, edi
js 0x10018bab
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x10018bab
mov eax, dword [ecx]
lea edx, [esp + 0x4c]
push edx
push ecx
call dword [eax + 0xa8]
test eax, eax
js 0x10018b51
cmp dword [esp + 0x4c], 0
je 0x10018b51
push str.none
push dword [esp + 0x50]
call fcn.100216fe
pop ecx
pop ecx
test eax, eax
jne 0x10018b51
mov eax, dword [esi]
lea ecx, [esp + 0x50]
push ecx
push esi
call dword [eax + 0x40]
test eax, eax
js 0x10018b51
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10018b51
mov eax, dword [ecx]
push str.block
push ecx
call dword [eax + 0x20c]
mov eax, dword [esp + 0x48]
lea edx, [esp + 0x5c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xac]
mov edi, eax
test edi, edi
js 0x10018bab
cmp dword [esp + 0x5c], 0
je 0x10018bab
push str.hidden
push dword [esp + 0x60]
call fcn.100216fe
pop ecx
pop ecx
test eax, eax
jne 0x10018bab
mov eax, dword [esi]
lea ecx, [esp + 0x50]
push ecx
push esi
call dword [eax + 0x40]
mov edi, eax
test edi, edi
js 0x10018bab
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10018bab
mov eax, dword [ecx]
push str.visible
push ecx
call dword [eax + 0x214]
mov ecx, dword [esp + 0x58]
cmp dword [ebp + 0x20], 0
je 0x10018be5
push 0xb
pop eax
mov word [esp + 0x1c], ax
xor eax, eax
inc eax
mov word [esp + 0x24], ax
mov eax, dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x7c]
push esi
call dword [eax + 0xb8]
mov ecx, dword [esp + 0x58]
mov edi, eax
test edi, edi
js 0x10018e22
test ecx, ecx
je 0x10018e22
mov eax, dword [ecx]
lea edx, [esp + 0x44]
push edx
push ecx
call dword [eax + 0xb0]
test eax, eax
js 0x10018e18
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x10018e18
lea edx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x80], ebx
mov eax, dword [ecx]
push edx
push ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
call dword [eax + 0x20]
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x6c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x80]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x30]
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x70]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x38]
push 0x20
call fcn.1001f85d
cmp dword [ebp + 0x20], 0
mov edi, eax
mov eax, dword [esp + 0x34]
mov dword [edi], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 0x1c]
pop ecx
mov dword [edi + 0x1c], eax
je 0x10018da3
push dword [esp + 0x10]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ebx
call sym.wbcom.dll_WebHost_GetWebBrowser2Ptr
mov edx, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10018d07
mov ecx, eax
lea eax, [ecx + 2]
mov dword [esp + 0x54], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x10018cd3
sub ecx, dword [esp + 0x54]
sar ecx, 1
je 0x10018d07
test edx, edx
je 0x10018d4a
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x20]
push edx
call fcn.1001bd72
jmp 0x10018d4a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10018d4a
mov ecx, eax
lea eax, [ecx + 2]
mov dword [esp + 0x54], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x10018d18
sub ecx, dword [esp + 0x54]
sar ecx, 1
je 0x10018d4a
test edx, edx
je 0x10018d4a
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x1c]
push edx
call fcn.1001c0af
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
add dword [esp + 0x6c], eax
add dword [esp + 0x70], eax
mov eax, dword [esp + 0x44]
add dword [esp + 0x80], ecx
add edx, ecx
mov dword [esp + 0x74], edx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x44]
push dword [esp + 0x6c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x44]
push dword [esp + 0x80]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov eax, dword [esp + 0x44]
push dword [esp + 0x70]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x4c]
push ebx
call fcn.10017e44
test eax, eax
je 0x10018e4a
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
push edi
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
call fcn.100199c7
mov eax, dword [esp + 0x58]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
movzx edi, si
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, bx
mov ebx, dword [esp + 0x30]
shl edi, 0x10
or edi, eax
push edi
xor eax, eax
inc eax
push eax
push 0x201
push ebx
call esi
xor eax, eax
push edi
inc eax
push eax
push 0x202
push ebx
call esi
xor eax, eax
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x58]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, ebx
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1001f816
mov esp, ebp
pop ebp
ret 0x24
push dword [esp + 0x14]
push dword [esp + 0x1c]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push esi
push ebx
call fcn.10017fb0
jmp 0x10018e24