Function at 0x402300
Capabilities:
Check if file exists
Create process on windows
Create thread
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x42a044]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x64
push 0x42c8e8
push 0x67
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x64
push 0x42c820
push 0x6d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [ebp + 8]
push edx
call fcn.004025a0
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x238], 0x42e770
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x234]
mov ax, word [edx]
mov word [ebp - 0x23e], ax
mov ecx, dword [ebp - 0x238]
mov dx, word [ebp - 0x23e]
mov word [ecx], dx
mov eax, dword [ebp - 0x234]
add eax, 2
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x238]
add ecx, 2
mov dword [ebp - 0x238], ecx
cmp word [ebp - 0x23e], 0
jne 0x402364
call fcn.00401320
mov dword [0x42dfb8], eax
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004028a0
add esp, 8
test eax, eax
jne 0x4023d1
xor eax, eax
jmp 0x40258d
push 0x6d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov dword [ebp - 0x214], eax
call fcn.004038a0
xor edx, edx
mov word [ebp - 0x210], dx
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call fcn.00417a20
add esp, 0xc
cmp dword [0x42e0c0], 0
jbe 0x40243b
movzx ecx, word [0x42e0c4]
test ecx, ecx
jle 0x40243b
push 0x42b8f8
mov edx, dword [0x42e0c0]
push edx
call fcn.00401120
add esp, 8
mov ax, word [0x42e0c4]
mov word [0x42b908], ax
movzx ecx, word [0x42b908]
push ecx
push 0x42b8f8
call fcn.00403f50
add esp, 8
lea edx, [ebp - 0x210]
push edx
call fcn.00401000
add esp, 4
push 0x427570
push 0x104
lea eax, [ebp - 0x210]
push eax
call fcn.004114de
add esp, 0xc
push 0x427574
push 0x104
lea ecx, [ebp - 0x210]
push ecx
call fcn.004114de
add esp, 0xc
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4024b5
push 0x2bac
push 0x4275d8
call fcn.00403f50
add esp, 8
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4024ec
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0
push 0x4275e8
lea ecx, [ebp - 0x210]
push ecx
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [0x42b8ec], 0xffffffff
je 0x40250c
mov edx, dword [0x42b8ec]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42b8ec], 0xffffffff
push 0
call fcn.00403d30
add esp, 4
call fcn.00402110
push 0
push 0
push 0
push 0x404a60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x42b8ec], eax
push 0
push 0
push 0
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x402587
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x214]
push edx
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x402585
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x402535
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004109d5
mov esp, ebp
pop ebp
ret 0x10