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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x474ef8
push eax
mov dword fs:[0], esp
sub esp, 0x408
push esi
mov esi, ecx
call fcn.00405020
test eax, eax
je 0x428234
push 1
push str._fT:_6R
push 0x4836e8
mov ecx, esi
call fcn.0043124c
cmp eax, 1
jne 0x4281d8
call fcn.00405020
test eax, eax
jle 0x4281d8
push eax
call fcn.00408160
add esp, 4
call fcn.00405020
test eax, eax
je 0x428234
push 1
push str._fT:_6R
push 0x4836e8
mov ecx, esi
call fcn.0043124c
cmp eax, 1
jne 0x42820b
call fcn.00405020
test eax, eax
jle 0x42820b
push eax
call fcn.00408160
add esp, 4
call fcn.00405020
test eax, eax
je 0x428227
push 0
push 0x4837d0
push 0x483800
mov ecx, esi
call fcn.0043124c
call fcn.00405020
test eax, eax
jne 0x428424
mov ecx, 0x4a4370
call fcn.0040d900
mov ecx, 0x4a4418
call fcn.0040d900
mov ecx, 0x4a44c0
call fcn.0040d900
mov ecx, 0x4a4568
call fcn.0040d900
mov ecx, 0x4a4610
call fcn.0040d900
mov eax, dword [ebp + 8]
cmp eax, 1
jne 0x4283ca
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x42828e
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
push edi
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
push 1
push 0x47da80
push 0
lea eax, [ebp - 0x10]
push eax
push dword [0x4a46f0]
mov dword [ebp - 4], 0
call fcn.00466df0
push 0x47e5c4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00402190
add esp, 0x20
push dword [ebp + 8]
mov byte [ebp - 4], 1
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
or edi, 0xffffffff
test eax, eax
jne 0x428326
push str.Themesdefault.rdb
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0xc
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 2
call fcn.00401e70
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x428326
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push dword [ebp + 8]
push dword [0x4a46f0]
call fcn.00404770
add esp, 0xc
push 1
push 0
push 0
push dword [0x4a4760]
push str.explore
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push dword [0x4a4760]
call fcn.00404410
mov eax, dword [ebp + 0xc]
add esp, 4
mov dword [0x4a4930], 0
test eax, eax
jne 0x428378
push 0x4856f8
jmp 0x428379
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4283a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
pop edi
jg 0x4283eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4283eb
cmp eax, 2
jne 0x4283eb
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4283dd
push 0x485818
jmp 0x4283de
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x4a3ea4], 0
jne 0x4283fb
mov ecx, esi
call fcn.00425240
cmp dword [0x4a4918], 0
jne 0x42841a
push 1
push 0
push 0
push dword [0x4a4750]
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [0x4a4920], 0
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8