Function at 0x408b27
Capabilities:
Check if file exists
Create process on windows
Get common file path

Disassembly:
push 0x198
mov eax, 0x417bd3
call fcn.0040aeec
mov dword [ebp - 0xa8], 0x418e04
xor edi, edi
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
lea eax, [ebp - 0xa8]
push eax
mov ecx, 0x41e4bc
call fcn.0040822e
push str._startbywindows
lea ecx, [ebp - 0x34]
call fcn.0040239c
mov esi, 0x41d2a0
push esi
lea ecx, [ebp - 0x24]
call fcn.004015f6
lea eax, [ebp - 0x24]
push eax
call fcn.00408ae8
push dword [ebp + 8]
lea eax, [ebp - 0x58]
push eax
call fcn.00404a99
add esp, 0xc
call dword [0x4180dc]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040239c
push 0xf
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401ad1
push eax
lea ecx, [ebp - 0x20]
call fcn.0040210e
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401442
push esi
lea ecx, [ebp - 0x28]
call fcn.004015f6
lea eax, [ebp - 0x1c]
push eax
call fcn.00404695
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.0040210e
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401442
push esi
lea ecx, [ebp - 0x30]
call fcn.004015f6
push esi
lea ecx, [ebp - 0x2c]
call fcn.004015f6
push edi
push 0x1a
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.00401b85
push eax
push edi
call dword [0x4181d8]
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
call fcn.00403636
push str.FunLoader.ini
lea ecx, [ebp - 0x1c]
call fcn.00402289
lea eax, [ebp - 0x1c]
push eax
push 0x5c
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00403b9d
add esp, 0xc
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402cdd
add esp, 0xc
push eax
lea ecx, [ebp - 0x30]
call fcn.0040210e
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401442
push dword [ebp - 0x30]
call dword [0x4181ec]
test eax, eax
jne 0x408dc9
lea eax, [ebp - 0x3c]
push eax
push ecx
mov ebx, esp
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
push eax
call fcn.0040170a
add eax, 0x10
mov dword [ebx], eax
mov dword [ebp - 0x18], esp
mov ebx, dword [ebp - 0x28]
lea eax, [ebx - 0x10]
push eax
call fcn.0040170a
add eax, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
push eax
call fcn.0040170a
add eax, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
push eax
call fcn.0040170a
pop ecx
add eax, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
call fcn.004042c6
add esp, 0x14
push esi
lea ecx, [ebp - 0x14]
call fcn.004015f6
push 0x41860d
lea eax, [ebp - 0x24]
push eax
call fcn.00403fc4
pop ecx
pop ecx
test al, al
jne 0x408d58
push str.Explorer.EXE
lea eax, [ebp - 0x24]
push eax
call fcn.00403fc4
pop ecx
pop ecx
test al, al
jne 0x408d58
push ebx
lea ecx, [ebp - 0x24]
call fcn.004034d6
test eax, eax
je 0x408d58
push 0x4185fc
call fcn.00409dc1
pop ecx
push eax
push 0x4185fc
jmp 0x408d69
push 0x4185f8
call fcn.00409dc1
pop ecx
push eax
push 0x4185f8
lea ecx, [ebp - 0x14]
call fcn.00401e58
push ecx
mov dword [ebp - 0x18], esp
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x1c], eax
push eax
call fcn.0040170a
pop ecx
add eax, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
call fcn.0040445c
mov dword [ebp - 0x18], esp
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
push eax
call fcn.0040170a
pop ecx
add eax, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
call fcn.00404488
push dword [ebp - 0x14]
call fcn.0040bad4
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1c]
call fcn.00401442
jmp 0x408e69
push esi
lea ecx, [ebp - 0x14]
call fcn.004015f6
push esi
lea ecx, [ebp - 0x1c]
call fcn.004015f6
push ecx
mov ecx, esp
push 0x418618
call fcn.0040239c
lea eax, [ebp - 0x14]
push eax
call fcn.00403f04
pop ecx
mov ecx, esp
push str.no_id
call fcn.0040239c
lea eax, [ebp - 0x1c]
push eax
call fcn.00404517
pop ecx
pop ecx
push dword [ebp - 0x34]
lea ecx, [ebp - 0x20]
call fcn.004034d6
test eax, eax
je 0x408e26
push dword [ebp - 0x14]
call fcn.0040bad4
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x408e44
push 0x4185f8
lea ecx, [ebp - 0x14]
call fcn.004034d6
neg eax
sbb eax, eax
neg eax
add eax, 2
mov dword [ebp - 0x3c], eax
call fcn.00403c0c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040210e
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401442
mov ebx, dword [ebp - 0x28]
call fcn.00404000
test eax, eax
je 0x408fa2
call fcn.00403c0c
lea ecx, [ebp - 0x70]
call fcn.004061eb
push ecx
mov esi, esp
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
push eax
call fcn.0040170a
pop ecx
add eax, 0x10
mov dword [esi], eax
lea ecx, [ebp - 0x70]
call fcn.00405a59
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x70]
call fcn.004058df
lea eax, [ebp - 0x14]
push eax
call fcn.00404719
mov dword [esp], 0x418424
lea ecx, [ebp - 0x14]
call fcn.004034d6
test eax, eax
je 0x408f16
push str.Funshion.exe
lea ecx, [ebp - 0x14]
call fcn.00403f8e
mov dword [ebp - 4], edi
push edi
push edi
push str.tray
lea ecx, [ebp - 0x14]
call fcn.00401883
push eax
push edi
push edi
call dword [0x4181e0]
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.00403636
or dword [ebp - 4], 0xffffffff
jmp 0x408f16
push 1
lea ecx, [ebp - 0x70]
call fcn.00406259
push 0xbb8
call dword [0x418060]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebp - 0x70]
call fcn.004058ec
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebx - 0x10]
call fcn.00401442
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebp - 0x58]
call fcn.00404fec
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebp - 0x98]
call fcn.004064f2
lea ecx, [ebp - 0xa4]
call fcn.004064f2
xor eax, eax
jmp 0x4092bc
push dword [ebp - 0x34]
lea ecx, [ebp - 0x20]
call fcn.004034d6
test eax, eax
je 0x40911f
push esi
lea ecx, [ebp - 0x14]
call fcn.004015f6
push esi
lea ecx, [ebp - 0x28]
call fcn.004015f6
push dword [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.00402184
call fcn.0040324f
test al, al
jne 0x409109
lea eax, [ebp - 0x18]
push eax
call fcn.00404623
pop ecx
push eax
lea ecx, [ebp - 0x14]
call fcn.0040210e
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401442
push edi
push dword [0x41e4b8]
lea ecx, [ebp - 0x28]
call fcn.00401849
cmp eax, 0xffffffff
jne 0x409109
push 0x3c
pop esi
push esi
push edi
lea eax, [ebp - 0xe4]
push eax
call fcn.0040afb0
add esp, 0xc
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xd8], str.runas
mov eax, dword [ebp - 0x14]
xor esi, esi
inc esi
cmp dword [eax - 4], esi
jle 0x409058
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.004017ae
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x28]
push eax
push 0x41e4b8
lea eax, [ebp - 0x18]
push eax
call fcn.00402cdd
add esp, 0xc
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401442
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xe0], 0x40
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.00403636
lea eax, [ebp - 0xe4]
push eax
call dword [0x4181dc]
test eax, eax
jne 0x409103
lea ecx, [ebp - 0x70]
call fcn.004061eb
push ecx
mov esi, esp
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
push eax
call fcn.0040170a
pop ecx
add eax, 0x10
mov dword [esi], eax
lea ecx, [ebp - 0x70]
call fcn.00405a59
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x70]
call fcn.004058df
push 2
lea ecx, [ebp - 0x70]
call fcn.00406259
call fcn.004040ec
push 0xbb8
call dword [0x418060]
lea ecx, [ebp - 0x70]
call fcn.004058ec
push edi
call fcn.0040b72c
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401442
push str.funshion_olninst_instance
push edi
push 1
push edi
call dword [0x41806c]
mov dword [ebp - 0x38], eax
cmp eax, edi
je 0x409147
call dword [0x418048]
cmp eax, 0xb7
je 0x409147
cmp dword [ebp - 0x38], edi
jne 0x409155
push dword [ebp - 0x38]
call dword [0x418144]
jmp 0x408f3e
lea ecx, [ebp - 0x1a4]
call fcn.004053d1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00405673
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00405216
call fcn.004040ec
mov esi, dword [ebp - 0x34]
push esi
lea ecx, [ebp - 0x20]
call fcn.004034d6
test eax, eax
jne 0x40919e
lea ecx, [ebp - 0x1a4]
call fcn.00405225
push edi
push edi
lea ecx, [ebp - 0x1a4]
call fcn.00408445
test eax, eax
jne 0x4091fe
lea ecx, [ebp - 0x1a4]
call fcn.00405428
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebx - 0x10]
call fcn.00401442
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebp - 0x58]
call fcn.00404fec
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [esi - 0x10]
jmp 0x408f80
push 0x418ebc
push dword [ebp - 0x1a0]
call dword [0x418218]
push esi
lea ecx, [ebp - 0x20]
call fcn.004034d6
test eax, eax
je 0x40922b
push dword [ebp + 0xc]
push dword [ebp - 0x1a0]
call dword [0x418234]
mov dword [0x41e4f8], edi
push edi
push dword [ebp - 0x1a0]
call dword [0x418234]
lea ecx, [ebp - 0xa8]
call fcn.0040672e
mov edi, eax
mov ecx, 0x41e4bc
call fcn.004084be
lea ecx, [ebp - 0x1a4]
call fcn.00405428
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401442
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebx - 0x10]
call fcn.00401442
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [ebp - 0x58]
call fcn.00404fec
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401442
lea ecx, [esi - 0x10]
call fcn.00401442
lea ecx, [ebp - 0x98]
call fcn.004064f2
lea ecx, [ebp - 0xa4]
call fcn.004064f2
mov eax, edi
call fcn.0040af5b
ret