Function at 0x100101a0
Capabilities:
Initialize iwebbrowser2

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x100530a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
test esi, esi
jne 0x100101c1
xor al, al
jmp 0x100103a4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x1004144c
push 0x17
push 0
push 0x10049b30
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test ebx, ebx
js 0x10010389
mov ebx, dword [ebp + 8]
push esi
push ebx
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
call eax
mov ecx, dword [ebx]
push 0
push eax
push ebx
mov ecx, dword [ecx + 0x2a4]
mov dword [ebp - 0x10], eax
call ecx
mov ebx, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x30]
mov dword [ebp - 0xc], ebx
push eax
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
xor esi, esi
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
js 0x100103ba
mov eax, 8
mov word [ebp - 0x20], ax
test ebx, ebx
jne 0x10010253
xor eax, eax
jmp 0x100102fb
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10010258
sub ecx, edx
lea eax, [ecx + 1]
mov ecx, 2
imul ecx
mov edi, eax
test edx, edx
jg 0x100102f6
jl 0x1001027f
cmp edi, 0x7fffffff
ja 0x100102f6
cmp edx, 0xffffffff
jl 0x100102f6
jg 0x1001028e
cmp edi, 0x80000000
jb 0x100102f6
cmp edi, 0x400
jg 0x100102ae
push edi
call fcn.10031690
add esp, 4
test al, al
je 0x100102ae
mov eax, edi
call fcn.1003b8a0
mov ebx, esp
jmp 0x100102d3
mov eax, edi
not eax
cmp eax, 8
jb 0x100103c0
lea eax, [edi + 8]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x100102f6
mov dword [eax], esi
lea ebx, [eax + 8]
mov esi, eax
test ebx, ebx
je 0x100102f6
shr edi, 1
xor eax, eax
push edi
push ebx
push 0xffffffffffffffff
push dword [ebp - 0xc]
mov word [ebx], ax
push eax
push 3
call dword [sym.imp.kernel32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, ebx
jmp 0x100102f8
xor eax, eax
mov ebx, dword [ebp - 0xc]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x10010311
test ebx, ebx
jne 0x100103ca
test esi, esi
je 0x1001032c
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop dword [eax + eax]
push esi
mov esi, dword [esi]
call edi
add esp, 4
test esi, esi
jne 0x10010320
mov eax, dword [ebp - 8]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x30]
push edx
push edx
push edx
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x20]
push edx
push eax
call dword [ecx + 0xd0]
mov esi, dword [ebp + 8]
mov ebx, eax
push dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
push edi
mov eax, dword [esi]
push esi
mov eax, dword [eax + 0x2a8]
call eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test edi, edi
je 0x10010389
mov eax, dword [esi]
push edi
push esi
mov eax, dword [eax + 0x5c]
call eax
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 8]
shr ebx, 0x1f
xor bl, 1
test eax, eax
je 0x100103a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov al, bl
lea esp, [ebp - 0x3c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003b4ee
mov esp, ebp
pop ebp
ret 0xc
push eax
call fcn.10006240
push 0x80070216
call fcn.10006240
mov eax, 0xa
mov dword [ebp - 0x18], 0x8007000e
push 0x8007000e
mov word [ebp - 0x20], ax
call fcn.10006240
int3