Function at 0x409080
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x44963d
mov eax, dword fs:[0]
push eax
sub esp, 0x254
mov eax, dword [0x45e680]
xor eax, esp
mov dword [esp + 0x250], eax
push ebp
push esi
push edi
mov eax, dword [0x45e680]
xor eax, esp
push eax
lea eax, [esp + 0x264]
mov dword fs:[0], eax
push str.CCheckNDISPortDlg::ShowTip___enter
lea ecx, [esp + 0x14]
call fcn.00404a10
xor ebp, ebp
lea ecx, [esp + 0x10]
mov dword [esp + 0x26c], ebp
call fcn.00409a70
mov dword [esp + 0x26c], 0xffffffff
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x409105
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x206
lea edx, [esp + 0x5e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x64], cx
call fcn.00432320
add esp, 0xc
push 0x104
lea eax, [esp + 0x5c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40937e
xor ecx, ecx
mov edi, 7
push 0x11
mov eax, str.OPEN_WEB_FINISHED
lea esi, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov word [esp + 0x28], cx
call fcn.00405070
mov dword [esp + 0x26c], 1
xor edx, edx
push 0xa
mov eax, str.APP_CONFIG
lea esi, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebp
mov word [esp + 0x44], dx
call fcn.00405070
lea eax, [esp + 0x20]
push eax
xor ecx, ecx
mov byte [esp + 0x270], 2
call fcn.0040e910
mov esi, 8
cmp dword [esp + 0x54], esi
jb 0x4091b2
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00413858
add esp, 4
xor edx, edx
mov dword [esp + 0x26c], 0xffffffff
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebp
mov word [esp + 0x40], dx
cmp dword [esp + 0x38], esi
jb 0x4091df
mov eax, dword [esp + 0x24]
push eax
call fcn.00413858
add esp, 4
lea edx, [esp + 0x58]
xor ecx, ecx
push edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov word [esp + 0x28], cx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x1c]
call fcn.00404a10
push str.ShowTip.exe
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x278], 3
call fcn.00402970
push str.__openwebui
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x284], 4
call fcn.00402970
add esp, 0x18
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 5
call fcn.00409a70
mov edx, dword [esp + 0x14]
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 1
push ebp
push str._openwebui
push edx
push str.open
push ebp
call edi
mov esi, eax
cmp esi, 0x1f
jg 0x40928d
mov eax, dword [esp + 0x14]
push 1
push ebp
push str._openwebui
push eax
push str.open
push ebp
call edi
call fcn.00413cd5
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x4092a7
push 0x80004005
call fcn.00404b90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push esi
lea ecx, [esp + 0x14]
push str.CCheckNDISPortDlg::_ShowTip__ShellExecute_d
push ecx
mov byte [esp + 0x278], 6
call fcn.00404440
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00409a70
mov byte [esp + 0x26c], 5
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x409303
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x26c], 4
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40932b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x26c], 3
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 0x409353
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x26c], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40937e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
mov ecx, dword [esp + 0x264]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.0042f892
add esp, 0x260
ret