Function at 0x40388e
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5f2c96
mov eax, dword fs:[0]
push eax
sub esp, 0x868
mov eax, dword [0x65bf90]
xor eax, esp
mov dword [esp + 0x860], eax
push ebx
push esi
push edi
mov eax, dword [0x65bf90]
xor eax, esp
push eax
lea eax, [esp + 0x878]
mov dword fs:[0], eax
push str.UIThread
mov dword [esp + 0x18], ecx
call fcn.00479fc0
pop ecx
call fcn.0040afeb
call fcn.0040ae81
movzx eax, byte [eax]
push eax
call fcn.00479550
pop ecx
test al, al
jne 0x40393e
call fcn.0040ae81
push eax
lea eax, [esp + 0x2f0]
push 0x6278a4
push eax
call fcn.0040226e
lea eax, [esp + 0x2f8]
add esp, 0xc
mov byte [esp + 0x2ec], 0x43
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403922
sub eax, edx
push eax
lea eax, [esp + 0x2f0]
push eax
mov ecx, 0x65dea0
call fcn.004022cd
call fcn.0040ae81
push eax
push str._slauncher
mov esi, pe_nt_image_headers32
lea eax, [esp + 0x574]
push esi
push eax
call fcn.005be145
add esp, 0x10
xor edi, edi
lea eax, [esp + 0x56c]
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], edi
mov byte [esp + 0xe4], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403985
sub eax, ecx
push eax
lea eax, [esp + 0x570]
push eax
lea ecx, [esp + 0xec]
call fcn.004022cd
lea eax, [esp + 0xe4]
push eax
mov dword [esp + 0x884], edi
call fcn.0047a900
pop ecx
mov bl, al
push edi
neg bl
sbb bl, bl
or dword [esp + 0x884], 0xffffffff
push 1
lea ecx, [esp + 0xec]
call fcn.00402696
inc bl
jne 0x4041a5
push edi
call fcn.005beb9f
mov dword [esp + 0x20], eax
pop ecx
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], edx
call fcn.005bee78
pop ecx
push eax
push str._Y_m_d
lea eax, [esp + 0x4f4]
push 0x80
push eax
call fcn.005bf8d8
lea eax, [esp + 0x4fc]
add esp, 0x10
push eax
call fcn.0040ae81
push eax
push str._slauncherlauncher__s.log
lea eax, [esp + 0x778]
push esi
push eax
call fcn.005be145
add esp, 0x14
lea eax, [esp + 0x76c]
call fcn.00416940
mov dword [0x6686d0], eax
cmp eax, edi
je 0x4041a5
push 0x6280a0
push 0x1a3
push 2
push eax
mov ebx, str.CLauncherApp::InitInstance
mov edi, str.Launcher.cpp
call fcn.004169e0
add esp, 0x10
lea esi, [esp + 0xc8]
call fcn.0040af83
mov dword [esp + 0x880], 1
cmp dword [eax + 0x14], 0x10
jb 0x403a8d
mov eax, dword [eax]
push eax
push str._t_Version_s
push 0x1a4
push 2
push dword [0x6686d0]
mov esi, str.CLauncherApp::InitInstance
mov ebx, esi
call fcn.004169e0
or dword [esp + 0x894], 0xffffffff
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0xd0]
call fcn.00402696
push pe_nt_image_headers32
lea eax, [esp + 0x670]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x403aff
push str.GetModuleFileName_Failed
push 0x1a9
push 4
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x10
jmp 0x4041a5
lea eax, [esp + 0x66c]
push eax
push str._t_ProcessPath_s
push 0x1ac
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x14
lea ebx, [esp + 0xc8]
call fcn.00403244
push 2
pop ecx
mov dword [esp + 0x880], ecx
cmp dword [eax + 0x14], 0x10
jb 0x403b3f
mov eax, dword [eax]
push eax
push str._t_OS_Info_s
push 0x1ad
push ecx
push dword [0x6686d0]
mov ebx, esi
call fcn.004169e0
or dword [esp + 0x894], 0xffffffff
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0xd0]
call fcn.00402696
push 0x6280a0
push 0x1ae
push 2
push dword [0x6686d0]
call fcn.004169e0
call fcn.0040ae81
push eax
push str._slauncherGameBridge.dll
lea eax, [esp + 0x404]
push pe_nt_image_headers32
push eax
call fcn.005be145
add esp, 0x20
lea eax, [esp + 0x3ec]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x3ec]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x403cba
and dword [esp + 0xd8], 0
push 0xf
pop ebx
push 3
push 0x628174
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd0], 0
call fcn.004022cd
mov dword [esp + 0x880], 3
and dword [esp + 0xf4], 0
lea eax, [esp + 0x3ec]
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe4], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403c28
sub eax, ecx
push eax
lea eax, [esp + 0x3f0]
push eax
lea ecx, [esp + 0xec]
call fcn.004022cd
push 0x86
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xe8]
call fcn.0047b0d0
pop ecx
mov bl, al
push 0
neg bl
push 1
lea ecx, [esp + 0xec]
sbb bl, bl
call fcn.00402696
or dword [esp + 0x880], 0xffffffff
push 0
push 1
lea ecx, [esp + 0xd0]
call fcn.00402696
inc bl
je 0x403cba
lea eax, [esp + 0x3ec]
push eax
push str.ExtraceResource_IDR_DLL_GAMEBRIDGE__failed__Path_s
push 0x1b7
push 5
push dword [0x6686d0]
mov ebx, esi
call fcn.004169e0
add esp, 0x14
jmp 0x4041a5
call fcn.00403805
call fcn.004030e4
test al, al
je 0x4041a5
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x28], 8
mov dword [esp + 0x2c], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, dword [esp + 0x14]
call fcn.004bed50
push 0
call fcn.004c101d
pop ecx
push 0xc
call fcn.004ba280
pop ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x880], 4
test eax, eax
je 0x403d20
mov ecx, eax
call fcn.004c17d8
mov dword [esp + 0x18], eax
jmp 0x403d25
and dword [esp + 0x18], 0
mov ecx, dword [esp + 0x14]
or dword [esp + 0x880], 0xffffffff
push 0x6281bc
call fcn.004c1967
push 3
call fcn.0048a960
pop ecx
mov ebx, esi
test eax, eax
jne 0x403d65
push str.curl_global_init_Success
push 0x1cd
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x10
jmp 0x403d80
push eax
push str.curl_global_init_Failed_error_d
push 0x1d1
push 5
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x14
call fcn.0041594d
test al, al
jne 0x403ed4
call fcn.00415d72
test al, al
je 0x403eb8
call fcn.0040ae81
push eax
push str._slauncherUninstall.exe
lea eax, [esp + 0x2f4]
push pe_nt_image_headers32
push eax
call fcn.005be145
add esp, 0x10
lea eax, [esp + 0x2ec]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x2ec]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x403ed4
and dword [esp + 0xf4], 0
push 0xf
pop ebx
push 3
push 0x628238
lea ecx, [esp + 0xec]
mov dword [esp + 0x100], ebx
mov byte [esp + 0xec], 0
call fcn.004022cd
mov dword [esp + 0x880], 5
and dword [esp + 0xd8], 0
lea eax, [esp + 0x2ec]
mov dword [esp + 0xdc], ebx
mov byte [esp + 0xc8], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403e38
sub eax, ecx
push eax
lea eax, [esp + 0x2f0]
push eax
lea ecx, [esp + 0xd0]
call fcn.004022cd
push 0xb9
lea eax, [esp + 0xe8]
lea ecx, [esp + 0xcc]
call fcn.0047b0d0
pop ecx
mov bl, al
push 0
neg bl
push 1
lea ecx, [esp + 0xd0]
sbb bl, bl
call fcn.00402696
or dword [esp + 0x880], 0xffffffff
push 0
push 1
lea ecx, [esp + 0xec]
call fcn.00402696
inc bl
je 0x403ed4
lea eax, [esp + 0x2ec]
push eax
push str.ExtraceResource_IDR_EXE_UNINSTALL__failed__Path_s
push 0x1e3
jmp 0x403ca3
push str.uninstall_program_install_failed_
push 0x1ea
push 4
push dword [0x6686d0]
mov ebx, esi
call fcn.004169e0
add esp, 0x10
push 4
call fcn.004ba280
pop ecx
test eax, eax
je 0x403ee5
and dword [eax], 0
jmp 0x403ee7
xor eax, eax
mov ecx, dword [esp + 0x14]
push str.Create_UpdateManager
push 0x20f
push 2
push dword [0x6686d0]
mov ebx, esi
mov dword [ecx + 0xb8], eax
call fcn.004169e0
push str.____________________________________________________________________
push 0x210
push 2
push dword [0x6686d0]
call fcn.004169e0
push 0x66e400
push str.Game:_s
push 0x211
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x34
push section..ctrl
push str.Channel:_s
push 0x212
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x14
lea eax, [esp + 0x2c]
push eax
call fcn.004042f5
mov dword [esp + 0x880], 6
test byte [0x66e100], 1
je 0x403f8e
lea eax, [esp + 0x2c]
push str._FUNC_WEBUI
push eax
call fcn.00404def
pop ecx
pop ecx
mov eax, dword [0x66e100]
shr eax, 1
test al, 1
je 0x403faa
lea eax, [esp + 0x2c]
push str._FUNC_BASE
push eax
call fcn.00404def
pop ecx
pop ecx
mov eax, dword [0x66e100]
shr eax, 2
test al, 1
je 0x403fc7
lea eax, [esp + 0x2c]
push str._FUNC_PATCH
push eax
call fcn.00404def
pop ecx
pop ecx
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x30]
call fcn.004043b0
mov byte [esp + 0x880], 7
cmp dword [eax + 0x14], 0x10
jb 0x403fe8
mov eax, dword [eax]
push eax
push str.FuncList:_s
push 0x220
push 2
push dword [0x6686d0]
mov ebx, esi
call fcn.004169e0
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0xd0]
mov byte [esp + 0x888], 6
call fcn.00402696
call fcn.0040ae81
push eax
push str.WorkDir:_s
push 0x221
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x14
push 0x66e300
push str.Homepage:_s
push 0x222
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x14
lea esi, [esp + 0x100]
call fcn.0040aea3
mov byte [esp + 0x880], 8
cmp dword [eax + 0x14], 0x10
jb 0x404078
mov eax, dword [eax]
push eax
push str.ConfigURL:_s
push 0x223
push 2
push dword [0x6686d0]
mov ebx, str.CLauncherApp::InitInstance
call fcn.004169e0
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x108]
mov byte [esp + 0x888], 6
call fcn.00402696
push str.____________________________________________________________________
push 0x225
push 2
push dword [0x6686d0]
call fcn.004169e0
add esp, 0x10
lea eax, [esp + 0x11c]
push eax
call fcn.00405e74
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x11c]
mov byte [esp + 0x880], 9
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.004c28af
mov eax, dword [esi + 0xb8]
test eax, eax
je 0x40410c
push eax
call fcn.004ba2af
and dword [esi + 0xb8], 0
pop ecx
push str.Destroy_UpdateManager
push 0x230
push 2
push dword [0x6686d0]
call fcn.004169e0
call fcn.0048a9f0
push str.curl_global_cleanup_Complete
push 0x232
push 2
push dword [0x6686d0]
call fcn.004169e0
mov ecx, dword [esp + 0x38]
add esp, 0x20
test ecx, ecx
je 0x404151
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov eax, dword [0x6686d0]
mov esi, eax
test eax, eax
je 0x40417f
push 0
push 0
push 0x12
push dword [eax + 0x30]
call dword [sym.imp.USER32.dll_PostThreadMessageA]
push 0xffffffffffffffff
push dword [esi + 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x884], 6
call fcn.00405f9d
or dword [esp + 0x880], 0xffffffff
lea eax, [esp + 0x2c]
call fcn.004041cb
xor eax, eax
mov ecx, dword [esp + 0x878]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x860]
xor ecx, esp
call fcn.005bdb17
mov esp, ebp
pop ebp
ret