Function at 0x407b90
Capabilities:
Create process on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4498ad
mov eax, dword fs:[0]
push eax
sub esp, 0xec
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45e680]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
push str.CCheckNDISPortDlg::OpenURL___URL_HOME
lea ecx, [esp + 0x18]
call fcn.00404a10
xor ebp, ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x108], ebp
call fcn.00409a70
mov dword [esp + 0x108], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407c0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ecx, ecx
mov edi, 7
push 0x23
mov eax, str.OPEN_DIFFERENT_WEB_URL_WHEN_INSTALL
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebp
mov word [esp + 0x40], cx
call fcn.00405070
mov dword [esp + 0x108], 1
xor edx, edx
push 0xa
mov eax, str.APP_CONFIG
lea esi, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebp
mov word [esp + 0x24], dx
call fcn.00405070
lea edx, [esp + 0x38]
mov ecx, esi
mov byte [esp + 0x108], 2
call fcn.0040e4b0
mov ebx, 8
movzx esi, al
cmp dword [esp + 0x34], ebx
jb 0x407c8a
mov eax, dword [esp + 0x20]
push eax
call fcn.00413858
add esp, 4
xor ecx, ecx
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
mov word [esp + 0x20], cx
cmp dword [esp + 0x50], ebx
jb 0x407cb7
mov edx, dword [esp + 0x3c]
push edx
call fcn.00413858
add esp, 4
push 0xf
cmp esi, ebp
je 0x407e4d
xor eax, eax
mov word [esp + 0xb0], ax
mov eax, str.http:__uFi.home
lea esi, [esp + 0xac]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], ebp
call fcn.00405070
mov dword [esp + 0x108], 3
xor ecx, ecx
push 0x12
mov eax, str.URL_HOME_DIFFERENT
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebp
mov word [esp + 0x40], cx
call fcn.00405070
mov byte [esp + 0x108], 4
xor edx, edx
push 0xa
mov eax, str.APP_CONFIG
lea esi, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebp
mov word [esp + 0x24], dx
call fcn.00405070
mov eax, esi
push eax
push 0x46298c
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
lea ebx, [esp + 0xcc]
mov byte [esp + 0x110], 5
call fcn.0040e1e0
mov esi, 8
mov byte [esp + 0x108], 6
cmp dword [eax + 0x18], esi
jb 0x407d79
mov eax, dword [eax + 4]
jmp 0x407d7c
add eax, 4
push eax
lea ecx, [esp + 0x18]
call fcn.00404a10
cmp dword [esp + 0xdc], esi
jb 0x407d9f
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.00413858
add esp, 4
xor edx, edx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], ebp
mov word [esp + 0xc8], dx
cmp dword [esp + 0x34], esi
jb 0x407dca
mov eax, dword [esp + 0x20]
push eax
call fcn.00413858
add esp, 4
xor ecx, ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
mov word [esp + 0x20], cx
cmp dword [esp + 0x50], esi
jb 0x407dec
mov edx, dword [esp + 0x3c]
push edx
call fcn.00413858
add esp, 4
xor eax, eax
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebp
mov word [esp + 0x3c], ax
cmp dword [esp + 0xc0], esi
jb 0x407e1f
mov ecx, dword [esp + 0xac]
push ecx
call fcn.00413858
add esp, 4
mov edx, dword [esp + 0x14]
push 1
push ebp
push ebp
push edx
push str.open
push ebp
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x407ff5
xor ecx, ecx
mov eax, str.http:__uFi.home
lea esi, [esp + 0x90]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], ebp
mov word [esp + 0x94], cx
call fcn.00405070
mov dword [esp + 0x108], edi
xor edx, edx
push ebx
mov eax, str.URL_HOME
lea esi, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], ebp
mov word [esp + 0x78], dx
call fcn.00405070
mov byte [esp + 0x108], bl
xor eax, eax
mov word [esp + 0x58], ax
push 0xa
mov eax, str.APP_CONFIG
lea esi, [esp + 0x58]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebp
call fcn.00405070
mov ecx, esi
push ecx
push 0x46298c
lea ecx, [esp + 0x94]
lea edx, [esp + 0x78]
lea ebx, [esp + 0xe8]
mov byte [esp + 0x110], 9
call fcn.0040e1e0
mov esi, 8
mov byte [esp + 0x108], 0xa
cmp dword [eax + 0x18], esi
jb 0x407f05
mov eax, dword [eax + 4]
jmp 0x407f08
add eax, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.00404a10
cmp dword [esp + 0xf8], esi
jb 0x407f2b
mov edx, dword [esp + 0xe4]
push edx
call fcn.00413858
add esp, 4
xor eax, eax
mov dword [esp + 0xf8], edi
mov dword [esp + 0xf4], ebp
mov word [esp + 0xe4], ax
cmp dword [esp + 0x6c], esi
jb 0x407f56
mov ecx, dword [esp + 0x58]
push ecx
call fcn.00413858
add esp, 4
xor edx, edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebp
mov word [esp + 0x58], dx
cmp dword [esp + 0x88], esi
jb 0x407f7b
mov eax, dword [esp + 0x74]
push eax
call fcn.00413858
add esp, 4
xor ecx, ecx
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebp
mov word [esp + 0x74], cx
cmp dword [esp + 0xa4], esi
jb 0x407fb4
mov edx, dword [esp + 0x90]
push edx
call fcn.00413858
add esp, 4
mov ecx, dword [esp + 0x18]
push 1
push ebp
push ebp
push ecx
push str.open
xor eax, eax
push ebp
mov dword [esp + 0xbc], edi
mov dword [esp + 0xb8], ebp
mov word [esp + 0xa8], ax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x408001
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret