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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4401b7
mov eax, dword fs:[0]
push eax
sub esp, 0x4d8
mov eax, dword [0x45d070]
xor eax, esp
mov dword [esp + 0x4d0], eax
push ebx
push esi
push edi
mov eax, dword [0x45d070]
xor eax, esp
push eax
lea eax, [esp + 0x4e8]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0xb4]
call fcn.00415440
mov ecx, esi
mov dword [esp + 0x4f0], 0
call fcn.0041c2d0
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
test al, al
jne 0x41cee7
mov eax, dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51]
test al, 1
jne 0x41c73c
or eax, 1
push 0x4427b0
mov dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51], eax
call fcn.0043be9d
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
cmp word [sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst], ax
jne 0x41c769
xor ecx, ecx
jmp 0x41c780
mov ecx, sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c771
sub ecx, edx
sar ecx, 1
push ecx
push sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
lea ecx, [esp + 0x8c]
call fcn.00405db0
push 0xb
push 0x447224
lea ecx, [esp + 0x8c]
mov byte [esp + 0x4f8], 1
call fcn.00403750
mov eax, dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51]
test al, 1
jne 0x41c7cb
or eax, 1
push 0x4427b0
mov dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51], eax
call fcn.0043be9d
add esp, 4
xor eax, eax
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
mov word [esp + 0x9c], ax
cmp word [sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst], ax
jne 0x41c7f8
xor ecx, ecx
jmp 0x41c80f
mov ecx, sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c800
sub ecx, edx
sar ecx, 1
push ecx
push sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
lea ecx, [esp + 0xa4]
call fcn.00405db0
push 0xf
push str.GameServer.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0x4f8], 2
call fcn.00403750
cmp dword [esp + 0xb0], 8
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [esp + 0x9c]
cmovae eax, dword [esp + 0x9c]
push eax
call edi
test eax, eax
je 0x41ce7b
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00405eb0
call fcn.004153c0
add esp, 0x18
test eax, eax
jg 0x41c8b0
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
push eax
call edi
test eax, eax
je 0x41cb70
push 0x410
lea eax, [esp + 0xd0]
push 0
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51]
add esp, 0xc
test al, 1
jne 0x41c907
or eax, 1
push 0x4427b0
mov dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51], eax
call fcn.0043be9d
add esp, 4
push dword [esi]
lea eax, [esp + 0xd0]
push sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
push str.__s___d
push 0x410
push eax
call fcn.00401810
xor eax, eax
add esp, 0x14
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
cmp word [esp + 0xcc], ax
jne 0x41c94d
xor ecx, ecx
jmp 0x41c966
lea ecx, [esp + 0xcc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c957
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x38]
call fcn.00405db0
mov byte [esp + 0x4f0], 3
cmp dword [esp + 0xb0], 8
lea edx, [esp + 0x9c]
cmovae edx, dword [esp + 0x9c]
xor eax, eax
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
cmp word [edx], ax
jne 0x41c9b7
xor ecx, ecx
jmp 0x41c9cf
mov ecx, edx
lea edi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c9c0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.00405db0
push 0x38
lea eax, [esp + 0x50]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
cmovae eax, dword [esp + 0x18]
cmp dword [esp + 0x44], 8
mov dword [esp + 0x58], eax
lea eax, [esp + 0x30]
cmovae eax, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x50], 0x40
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x4467a4
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp dword [esp + 0x2c], 8
jb 0x41ca62
push dword [esp + 0x18]
call ebx
add esp, 4
xor eax, eax
mov byte [esp + 0x4f0], 2
cmp dword [esp + 0x44], 8
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
jb 0x41ca91
push dword [esp + 0x30]
call ebx
add esp, 4
mov ecx, esi
call fcn.0041c2d0
test al, al
jne 0x41ce7b
cmp dword [esp + 0x98], 8
lea edx, [esp + 0x84]
cmovae edx, dword [esp + 0x84]
sub esp, 0x18
mov edi, esp
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], ax
cmp word [edx], ax
jne 0x41cad8
xor ecx, ecx
jmp 0x41caf5
mov ecx, edx
lea ebx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41cae0
sub ecx, ebx
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00405db0
call fcn.004153c0
add esp, 0x18
test eax, eax
jg 0x41cb51
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0xa4]
push eax
call fcn.00405a30
cmp dword [esp + 0xe0], 8
lea ecx, [esp + 0xcc]
cmovae ecx, dword [esp + 0xcc]
call fcn.004152a0
add esp, 0x18
lea ecx, [esp + 0x9c]
call fcn.0042b7e0
inc dword [esi]
cmp dword [esi], 0x2710
jl 0x41c8d2
jmp 0x41ce7b
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0xa4]
push eax
call fcn.00405a30
cmp dword [esp + 0xe0], 8
lea ecx, [esp + 0xcc]
cmovae ecx, dword [esp + 0xcc]
call fcn.004152a0
add esp, 0x18
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
push eax
call edi
test eax, eax
je 0x41ce7b
lea esp, [esp]
push 0x410
lea eax, [esp + 0xd0]
push 0
push eax
call sub.MSVCR110.dll_memset
mov eax, dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51]
add esp, 0xc
test al, 1
jne 0x41cc15
or eax, 1
push 0x4427b0
mov dword [sym.Gamebox.exe____B_1__GetInstance___CSingleton_VCOPathManager___oopa__SAPAVCOPathManager__XZ_51], eax
call fcn.0043be9d
add esp, 4
push dword [esi]
lea eax, [esp + 0xd0]
push sym.Gamebox.exe_class_COPathManager__public:_static_class_COPathManager____cdecl_oopa::CSingleton_class_COPathManager_::GetInstance_void_::_2::inst
push str.__s___d
push 0x410
push eax
call fcn.00401810
xor eax, eax
add esp, 0x14
mov dword [esp + 0x44], 7
mov dword [esp + 0x40], 0
mov word [esp + 0x30], ax
cmp word [esp + 0xcc], ax
jne 0x41cc5b
xor ecx, ecx
jmp 0x41cc74
lea ecx, [esp + 0xcc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41cc65
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x38]
call fcn.00405db0
mov byte [esp + 0x4f0], 4
cmp dword [esp + 0xb0], 8
lea edx, [esp + 0x9c]
cmovae edx, dword [esp + 0x9c]
xor eax, eax
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
cmp word [edx], ax
jne 0x41ccc5
xor ecx, ecx
jmp 0x41ccdf
mov ecx, edx
lea edi, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ccd0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.00405db0
push 0x38
lea eax, [esp + 0x50]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esp + 0x2c], 8
lea eax, [esp + 0x18]
cmovae eax, dword [esp + 0x18]
cmp dword [esp + 0x44], 8
mov dword [esp + 0x58], eax
lea eax, [esp + 0x30]
cmovae eax, dword [esp + 0x30]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x50], 0x40
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x4467a4
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp dword [esp + 0x2c], 8
jb 0x41cd72
push dword [esp + 0x18]
call ebx
add esp, 4
xor eax, eax
mov byte [esp + 0x4f0], 2
cmp dword [esp + 0x44], 8
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
jb 0x41cda1
push dword [esp + 0x30]
call ebx
add esp, 4
mov ecx, esi
call fcn.0041c2d0
test al, al
jne 0x41ce7b
cmp dword [esp + 0x98], 8
lea edx, [esp + 0x84]
cmovae edx, dword [esp + 0x84]
sub esp, 0x18
mov edi, esp
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], ax
cmp word [edx], ax
jne 0x41cde8
xor ecx, ecx
jmp 0x41ce05
mov ecx, edx
lea ebx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41cdf0
sub ecx, ebx
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
sar ecx, 1
push ecx
push edx
mov ecx, edi
call fcn.00405db0
call fcn.004153c0
add esp, 0x18
test eax, eax
jg 0x41ce61
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0xa4]
push eax
call fcn.00405a30
cmp dword [esp + 0xe0], 8
lea ecx, [esp + 0xcc]
cmovae ecx, dword [esp + 0xcc]
call fcn.004152a0
add esp, 0x18
lea ecx, [esp + 0x9c]
call fcn.0042b7e0
inc dword [esi]
cmp dword [esi], 0x2710
jl 0x41cbe0
cmp dword [esp + 0xb0], 8
jb 0x41ce91
push dword [esp + 0x9c]
call ebx
add esp, 4
xor eax, eax
cmp dword [esp + 0x98], 8
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
mov word [esp + 0x9c], ax
jb 0x41cec7
push dword [esp + 0x84]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
cmp dword [esp + 0xc8], 8
jb 0x41cefd
push dword [esp + 0xb4]
call ebx
add esp, 4
mov ecx, dword [esp + 0x4e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4d0]
xor ecx, esp
call fcn.0043bd5c
mov esp, ebp
pop ebp
ret