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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, dword [ebp + 8]
mov eax, dword [0x5c7040]
xor eax, ebp
mov dword [esp + 0xe8], eax
xor ebx, ebx
dec ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
lea edi, [esp + 0xd0]
mov ecx, esi
push edi
call fcn.004529c0
cmp byte [edi + 0xb], 0
js 0x43f085
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x48], eax
movq xmm0, qword [esp + 0xd0]
movq qword [esp + 0x40], xmm0
lea ecx, [esp + 0xd0]
call fcn.004ba510
lea eax, [esp + 0x34]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov ecx, esi
push eax
call fcn.005445c0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x10]
mov dword [esp + 0x14], eax
xor ebx, ebx
mov dword [esp + 0x30], ebx
pxor xmm0, xmm0
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x20], ebx
movq qword [esp + 0x18], xmm0
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xa0], ebx
lea esi, [esp + 0x90]
mov dword [esi], ebx
push esi
push 0x5ae1d8
push 0x17
push ebx
push 0x5900f4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [esp + 0x10], eax
test eax, eax
setne al
mov edi, dword [esi]
test edi, edi
sete cl
or cl, al
jne 0x43f120
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov word [esp + 0xd0], 3
mov dword [esp + 0xd8], ebx
pxor xmm0, xmm0
lea edi, [esp + 0xc0]
movdqa xmmword [edi], xmm0
push edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x80]
mov dword [eax], 0xffffffff
lea eax, [esp + 0x70]
mov dword [eax], ebx
mov esi, dword [esp + 0x90]
mov eax, dword [esi]
mov ecx, dword [eax + 0x3c]
call dword [0x5c0d2c]
lea eax, [esp + 0x70]
push eax
push 1
lea eax, [esp + 0x88]
push eax
push 8
push edi
lea eax, [esp + 0xe4]
push eax
push esi
call ecx
mov esi, eax
lea eax, [esp + 0x70]
mov edi, dword [eax]
mov dword [esp + 0x60], ebx
test edi, edi
je 0x43f0a1
mov eax, dword [edi]
mov ecx, dword [eax]
call dword [0x5c0d2c]
lea eax, [esp + 0x60]
push eax
push 0x5ae1e8
push edi
call ecx
test eax, eax
js 0x43f0b8
mov edi, dword [esp + 0x60]
test esi, esi
setne al
test edi, edi
sete cl
or cl, al
je 0x43f586
mov dword [esp + 0xc], 3
xor ebx, ebx
mov dword [esp + 0x10], esi
test edi, edi
je 0x43f049
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push edi
call ecx
mov esi, dword [esp + 0x70]
test esi, esi
lea edi, [esp + 0xd0]
je 0x43f066
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push esi
call ecx
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0xc0]
push eax
call esi
push edi
call esi
mov edi, dword [esp + 0x90]
jmp 0x43f128
lea ecx, [esp + 0x40]
push dword [esp + 0xd4]
push dword [esp + 0xd4]
call fcn.004a5630
jmp 0x43eee2
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 3
xor ebx, ebx
lea edi, [esp + 0xd0]
jmp 0x43f066
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 3
xor ebx, ebx
jmp 0x43f049
mov edi, 7
xor eax, eax
mov dword [esp + 0x10], 0
jmp 0x43f19a
mov esi, dword [esp + 0xd0]
test esi, esi
je 0x43f0c8
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [0x5c0d2c]
lea eax, [esp + 0xe4]
push eax
push 0x5ae178
push esi
call ecx
xor ebx, ebx
mov edi, 8
test eax, eax
jne 0x43f17b
cmp dword [esp + 0xe4], 0
je 0x43f17b
mov bl, 1
xor eax, eax
mov edi, dword [esp + 0xc]
jmp 0x43f17b
mov dword [esp + 0xc], 2
test edi, edi
je 0x43f13a
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push edi
call ecx
xor eax, eax
test bl, bl
je 0x43f19e
mov dword [esp + 0xd0], eax
mov esi, dword [esp + 0xa0]
xor edi, edi
mov eax, dword [esi]
mov ecx, dword [eax + 0x3c]
call dword [0x5c0d2c]
lea eax, [esp + 0xd0]
push eax
push 0x5ae168
xor ebx, ebx
push edi
push esi
call ecx
test eax, eax
je 0x43f0dc
mov edi, 7
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0xd0]
test esi, esi
je 0x43f198
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push esi
call ecx
mov eax, ebx
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x43f1bb
mov edi, eax
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push esi
call ecx
mov eax, edi
mov edi, dword [esp + 0xe4]
test al, al
je 0x43f26f
xor eax, eax
lea esi, [esp + 0xbc]
mov dword [esi], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x1c]
call dword [0x5c0d2c]
push esi
push edi
call ecx
mov ebx, eax
mov edi, dword [esi]
xor eax, eax
mov dword [esp + 0xb8], eax
test edi, edi
je 0x43f227
mov eax, dword [edi]
mov ecx, dword [eax]
call dword [0x5c0d2c]
lea eax, [esp + 0xb8]
push eax
push 0x5ae1f8
push edi
call ecx
test eax, eax
js 0x43f21c
mov edi, dword [esp + 0xb8]
jmp 0x43f229
mov dword [esp + 0xb8], 0
xor edi, edi
test ebx, ebx
je 0x43f35e
mov dword [esp + 0xc], 9
test edi, edi
mov dword [esp + 0x10], ebx
je 0x43f24f
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push edi
call ecx
mov esi, dword [esp + 0xbc]
test esi, esi
je 0x43f268
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push esi
call ecx
mov edi, dword [esp + 0xe4]
test edi, edi
je 0x43f281
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push edi
call ecx
mov edi, dword [0x5ce564]
test edi, edi
jne 0x43f2b2
sub esp, 0x14
movdqa xmm0, xmmword [0x5ae0e0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], str.Opera.ShellExecuteFromExplorer.Result
call fcn.004b6980
add esp, 0x14
mov edi, eax
mov dword [0x5ce564], eax
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
mov ecx, ebx
call dword [0x5c0d2c]
mov ecx, edi
mov esi, dword [esp + 0xc]
push esi
call ebx
test esi, esi
je 0x43f2dd
push dword [esp + 0x10]
push str.Opera.ShellExecuteFromExplorer.HResult
call fcn.004b4ee0
add esp, 8
cmp byte [esp + 0x23], 0
jns 0x43f2f0
push dword [esp + 0x18]
call fcn.004f50ae
add esp, 4
cmp byte [esp + 0x33], 0
jns 0x43f303
push dword [esp + 0x28]
call fcn.004f50ae
add esp, 4
cmp byte [esp + 0x3f], 0
jns 0x43f316
push dword [esp + 0x34]
call fcn.004f50ae
add esp, 4
cmp byte [esp + 0x4b], 0
jns 0x43f329
push dword [esp + 0x40]
call fcn.004f50ae
add esp, 4
cmp dword [esp + 0xc], 0
sete bl
mov ecx, dword [esp + 0xe8]
xor ecx, ebp
call fcn.004f5620
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0xc], 9
mov dword [esp + 0x10], 0
jmp 0x43f24f
test edi, edi
je 0x43f349
mov ebx, edi
mov eax, dword [esp + 0x14]
xor eax, 1
lea eax, [eax + eax*4]
mov word [esp + 0xc0], 3
mov dword [esp + 0xc8], eax
movups xmm0, xmmword [esp + 0xc0]
movaps xmmword [esp + 0xd0], xmm0
mov al, byte [esp + 0x33]
mov byte [esp + 0x10], al
mov esi, dword [esp + 0x28]
mov word [esp + 0x90], 0
lea eax, [esp + 0x90]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
js 0x43f6cb
cmp byte [esp + 0x10], 0
lea edi, [esp + 0x28]
cmovs edi, esi
mov word [esp + 0x90], 8
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x98], eax
test eax, eax
setne al
test edi, edi
sete cl
or cl, al
je 0x43f6a3
movups xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0xa0], xmm0
mov al, byte [esp + 0x23]
mov byte [esp + 0x10], al
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x70]
mov word [eax], 0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
js 0x43f6cb
cmp byte [esp + 0x10], 0
lea edi, [esp + 0x18]
cmovs edi, esi
mov word [esp + 0x70], 8
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x78], eax
test eax, eax
setne al
test edi, edi
sete cl
or cl, al
je 0x43f691
movups xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0x80], xmm0
mov al, byte [esp + 0x3f]
mov byte [esp + 0x10], al
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x50]
mov word [eax], 0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
js 0x43f6cb
cmp byte [esp + 0x10], 0
lea edi, [esp + 0x34]
cmovs edi, esi
mov word [esp + 0x50], 8
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x58], eax
test eax, eax
setne al
test edi, edi
sete cl
or cl, al
je 0x43f6bb
movups xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x60], xmm0
cmp byte [esp + 0x4b], 0
js 0x43f4d1
lea eax, [esp + 0x40]
jmp 0x43f4d5
xor edi, edi
jmp 0x43f4ea
mov eax, dword [esp + 0x40]
test eax, eax
je 0x43f4cd
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test eax, eax
je 0x43f6d1
mov eax, dword [ebx]
mov ecx, dword [eax + 0x7c]
call dword [0x5c0d2c]
sub esp, 0x48
movaps xmm0, xmmword [esp + 0x118]
movups xmmword [esp + 0x38], xmm0
movaps xmm0, xmmword [esp + 0xe8]
movups xmmword [esp + 0x28], xmm0
movaps xmm0, xmmword [esp + 0xc8]
movups xmmword [esp + 0x18], xmm0
movdqa xmm0, xmmword [esp + 0xa8]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], ebx
call ecx
mov ebx, eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x50]
push eax
call edi
lea eax, [esp + 0x70]
push eax
call edi
lea eax, [esp + 0x90]
push eax
call edi
lea eax, [esp + 0xc0]
push eax
call edi
test ebx, ebx
mov eax, 0xa
mov ecx, dword [esp + 0xc]
cmovne ecx, eax
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0xb8]
jmp 0x43f239
lea ebx, [esp + 0x50]
mov dword [ebx], 0
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
call dword [0x5c0d2c]
push ebx
push 0x5ae148
push 0x590010
push edi
call ecx
mov esi, eax
test eax, eax
setne al
mov edi, dword [ebx]
test edi, edi
sete cl
or cl, al
jne 0x43f60a
lea esi, [esp + 0xbc]
mov dword [esi], 0
mov eax, dword [edi]
mov ecx, dword [eax + 0x3c]
call dword [0x5c0d2c]
push esi
push edi
call ecx
xor esi, esi
test eax, eax
je 0x43f63b
mov dword [esp + 0xc], 5
xor ebx, ebx
mov edi, eax
mov esi, dword [esp + 0xbc]
test esi, esi
je 0x43f602
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push esi
call ecx
mov esi, edi
mov edi, dword [esp + 0x50]
jmp 0x43f614
mov dword [esp + 0xc], 4
xor ebx, ebx
test edi, edi
je 0x43f626
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x5c0d2c]
push edi
call ecx
mov edi, dword [esp + 0x60]
jmp 0x43f033
mov dword [esp + 0xc], 5
xor ebx, ebx
jmp 0x43f604
mov edi, dword [esp + 0xbc]
test edi, edi
je 0x43f62f
mov eax, dword [edi]
mov ecx, dword [eax]
call dword [0x5c0d2c]
lea eax, [esp + 0xa0]
push eax
push 0x5ae158
push edi
call ecx
xor ebx, ebx
mov dword [esp + 0xc], 6
test eax, eax
jne 0x43f5e7
cmp dword [esp + 0xa0], 0
je 0x43f5e7
mov bl, 1
mov dword [esp + 0xc], 0
xor eax, eax
jmp 0x43f5e7
mov word [esp + 0x70], 0xa
mov eax, 0x8007000e
mov dword [esp + 0x78], eax
jmp 0x43f6cb
mov word [esp + 0x90], 0xa
mov eax, 0x8007000e
mov dword [esp + 0x98], eax
jmp 0x43f6cb
mov word [esp + 0x50], 0xa
mov eax, 0x8007000e
mov dword [esp + 0x58], eax
push eax
call fcn.0053d300
push 0x8007000e
call fcn.0053d300
int3