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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x234
mov eax, dword [0x424044]
xor eax, esp
mov dword [esp + 0x230], eax
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push edi
mov edi, dword [ebp + 8]
push 0x64
push 0x4bcb70
push 0x67
push edi
call esi
push 0x64
push 0x4bcaa8
push 0x6d
push edi
call esi
mov eax, edi
call fcn.00402260
mov eax, dword [ebp + 0x10]
mov edx, 0x4be9f8
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x402020
call fcn.00401260
mov dword [0x425050], eax
mov ecx, 0x41fd58
mov eax, 0x4be9f8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x402069
test dx, dx
je 0x402065
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x402069
add eax, 4
add ecx, 4
test dx, dx
jne 0x402043
xor eax, eax
jmp 0x40206e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4020a2
call fcn.00402600
test eax, eax
je 0x402089
cmp dword [0x4be240], 0
jne 0x4020a2
call fcn.00405380
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.0040bc96
mov esp, ebp
pop ebp
ret 0x10
push edi
call fcn.00402f40
add esp, 4
test eax, eax
je 0x402089
push 0x6d
push edi
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov dword [esp + 0x10], eax
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x3a]
push ecx
mov word [esp + 0x3c], ax
call fcn.00412cf0
mov eax, dword [0x4be348]
add esp, 0xc
test eax, eax
jbe 0x402100
cmp word [0x4be34c], 0
jbe 0x402100
push eax
call fcn.004010e0
mov dx, word [0x4be34c]
add esp, 4
mov word [0x425900], dx
movzx eax, word [0x425900]
push eax
mov ecx, 0x4258f0
call fcn.00403db0
add esp, 4
lea esi, [esp + 0x30]
call fcn.00401000
push 0x41fd40
mov ecx, esi
push 0x104
push ecx
call fcn.0040c5f1
add esp, 0xc
push str.HerryPark.exe
mov edx, esi
push 0x104
push edx
call fcn.0040c5f1
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add esp, 0xc
push eax
call esi
cmp eax, 0xffffffff
jne 0x40216a
push 0x2bac
mov ecx, str.218.54.28.146
call fcn.00403db0
add esp, 4
lea ecx, [esp + 0x30]
push ecx
call esi
cmp eax, 0xffffffff
je 0x402199
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0
push 0x41fd8c
lea edx, [esp + 0x3c]
push edx
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [0x4258e4]
cmp eax, 0xffffffff
je 0x4021b4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4258e4], 0xffffffff
call fcn.00403b60
call fcn.00401ca0
push 0
push 0
push 0
push 0x404670
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
mov dword [0x4258e4], eax
push 0
lea eax, [esp + 0x20]
push eax
call esi
test eax, eax
je 0x402238
mov edi, dword [sym.imp.USER32.dll_TranslateAcceleratorW]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
jmp 0x402200
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
call edi
test eax, eax
jne 0x402227
lea ecx, [esp + 0x14]
push ecx
call ebx
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
call esi
test eax, eax
jne 0x402200
mov ecx, dword [esp + 0x23c]
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040bc96
mov esp, ebp
pop ebp
ret 0x10