Function at 0x479b12
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push 0x7c
mov eax, 0x5cea24
call fcn.00506dc7
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp byte [ebp + 0xc], bl
je 0x479c1b
lea eax, [ebp + 0xc]
push eax
call fcn.0048cf73
pop ecx
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 1
cmp dword [eax - 0xc], ebx
je 0x479c10
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x479c0d
lea ecx, [ebp - 0x34]
call fcn.0042ca82
push 1
push ecx
mov ecx, esp
mov byte [ebp - 4], 2
push 0x60506c
call fcn.00413f09
push SysReAllocString
lea ecx, [ebp - 0x34]
call fcn.0043fb03
push 1
push ecx
mov ecx, esp
push 0x6050ac
call fcn.00413f09
lea ecx, [ebp - 0x34]
call fcn.004c92f9
test eax, eax
je 0x479bfa
push 0x605108
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042dfbd
add esp, 8
mov byte [ebp - 4], 3
mov ecx, esp
lea edx, [ebp + 8]
push edx
push eax
push ecx
call fcn.0043910d
add esp, 0xc
call fcn.00467491
pop ecx
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov byte [ebp - 4], 2
lea ecx, [ecx - 0x10]
call fcn.00412ac4
test esi, esi
je 0x479bfa
lea ecx, [ebp - 0x34]
call fcn.0042e60b
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
jmp 0x479e70
lea ecx, [ebp - 0x34]
call fcn.0042e60b
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov eax, dword [ebp + 0xc]
lea ecx, [eax - 0x10]
mov byte [ebp - 4], bl
call fcn.00412ac4
call fcn.0042fb20
cmp eax, 0x13
jge 0x479c76
push 0x38
lea eax, [ebp - 0x84]
push ebx
push eax
call fcn.0056b050
mov eax, dword [ebp + 8]
add esp, 0xc
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], 0x3c
mov dword [ebp - 0x84], 0x400
push eax
mov dword [ebp - 0x7c], 0x60513c
mov dword [ebp - 0x6c], 5
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
test esi, esi
jne 0x479e75
lea eax, [ebp - 0x14]
push eax
call fcn.00481f31
pop ecx
push ebx
push 0x60518c
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0042ea61
test eax, eax
js 0x479cce
push dword [ebp + 8]
lea ecx, [ebp - 0x14]
push 0x60519c
call fcn.00434b1c
push ecx
mov esi, esp
mov dword [ebp + 0xc], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.00467491
mov esi, eax
pop ecx
test esi, esi
jne 0x479e6a
lea ecx, [ebp - 0x4c]
call fcn.0042ca82
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
push 0x60523c
mov byte [ebp - 4], 5
call fcn.00413f09
push ecx
push esp
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.0043e68b
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x4c]
call fcn.00434114
mov byte [ebp - 4], 7
call fcn.0042fb20
cmp eax, 0x1b
jl 0x479dfd
lea ecx, [ebp - 0x34]
call fcn.0042ca82
push ebx
push ecx
mov ecx, esp
mov byte [ebp - 4], 8
push 0x6052d8
call fcn.00413f09
lea ecx, [ebp - 0x34]
call fcn.00435199
test eax, eax
je 0x479de6
push ecx
mov esi, esp
mov dword [ebp - 0x1c], esp
mov dword [ebp + 0xc], esi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov byte [ebp - 4], 9
push 0x6053a4
call fcn.00413f09
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x34]
call fcn.00434880
push 0x6053bc
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042dfbd
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, esp
lea edx, [ebp + 8]
push edx
push eax
push ecx
call fcn.0043910d
add esp, 0xc
call fcn.00467491
pop ecx
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov byte [ebp - 4], 0xa
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
test esi, esi
je 0x479de6
lea ecx, [ebp - 0x34]
call fcn.0042e60b
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
jmp 0x479e4c
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 7
call fcn.0042e60b
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
push dword [ebp - 0x10]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x479e4a
push 0x6053e8
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.0042dfbd
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, esp
lea edx, [ebp + 8]
push edx
push eax
push ecx
call fcn.0043910d
add esp, 0xc
call fcn.00467491
pop ecx
mov ecx, dword [ebp + 0xc]
mov esi, eax
lea ecx, [ecx - 0x10]
call fcn.00412ac4
test esi, esi
jne 0x479e4c
mov esi, ebx
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x4c]
call fcn.0042e60b
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00412ac4
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00412ac4
mov eax, esi
call fcn.00506d90
ret