Function at 0x7fb590
Capabilities:
Check mutex on windows
Set current directory

Disassembly:
sub esp, 0x374
mov eax, dword [0x8943b8]
xor eax, esp
mov dword [esp + 0x370], eax
push ebx
push edi
mov edi, dword [esp + 0x380]
push 0x861ba4
push 1
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x7fb5d6
lea eax, [ebx + 1]
jmp 0x7fb8b5
push ebp
push esi
push 0x104
lea eax, [esp + 0x178]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x174]
push 0x5c
push ecx
call fcn.00821640
add esp, 8
lea edx, [esp + 0x174]
push edx
mov byte [eax + 1], bl
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x2d
call esi
push 7
mov ebp, eax
call esi
push 5
add ebp, eax
call esi
lea eax, [eax + ebp + 0x280]
push 0x2e
mov dword [esp + 0x18], eax
call esi
push 8
mov ebp, eax
call esi
push 6
add ebp, eax
call esi
push 4
add ebp, eax
call esi
push str.IDI_ICON
push edi
lea ebp, [eax + ebp + 0x1e0]
mov dword [esp + 0x48], 0x30
mov dword [esp + 0x5c], edi
mov dword [esp + 0x70], str.th123_110a
mov dword [esp + 0x50], 0x7fb560
mov dword [esp + 0x4c], ebx
call dword [sym.imp.USER32.dll_LoadIconA]
push ebx
push 0x10
push 0x10
push 1
push 0x70
push edi
mov dword [esp + 0x70], eax
call dword [sym.imp.USER32.dll_LoadImageA]
push 0x7f00
push ebx
mov dword [esp + 0x74], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x64], eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
test ax, ax
je 0x7fb8b1
push 0x861b58
lea edx, [esp + 0x280]
push 0x861b54
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x20]
add esp, 0xc
push ebx
push edi
push ebx
push ebx
push ebp
push eax
push 0x80000000
push 0x80000000
push 0xca0000
lea ecx, [esp + 0x2a0]
push ecx
push str.th123_110a
push 0x40000
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
cmp esi, ebx
je 0x7fb8b1
mov edx, dword [esp + 0x394]
mov ebp, dword [sym.imp.USER32.dll_ShowWindow]
push edx
push esi
call ebp
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [esp + 0x18]
call fcn.00407790
push 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
call fcn.0081fbdc
add esp, 4
cmp eax, ebx
je 0x7fb766
mov dword [eax], vtable.CSceneManager.0
mov dword [esp + 0x2c], eax
jmp 0x7fb76a
mov dword [esp + 0x2c], ebx
push 0xc
call fcn.0081fbdc
add esp, 4
cmp eax, ebx
je 0x7fb784
mov dword [eax], vtable.CFade.0
mov dword [esp + 0x34], eax
jmp 0x7fb788
mov dword [esp + 0x34], ebx
push ebx
mov byte [esp + 0x41], bl
mov byte [esp + 0x3f], 1
call fcn.0043dc00
add esp, 4
push str.configex123.ini
mov ecx, 0x8a0d08
mov byte [esp + 0x43], 1
call fcn.0040f2d0
test al, al
je 0x7fb83c
push 0x104
lea eax, [esp + 0x74]
push eax
push str.path
push str.th105path
mov ecx, 0x8a0d08
call fcn.0040f340
push str._th105b.dat
lea ecx, [esp + 0x74]
push 0x104
push ecx
call fcn.00820bb5
lea edx, [esp + 0x7c]
push edx
call fcn.0040d1d0
add esp, 0x10
test al, al
je 0x7fb83c
push 0x104
lea eax, [esp + 0x74]
push eax
push str.path
push str.th105path
mov ecx, 0x8a0d08
call fcn.0040f340
push str._th105a.dat
lea ecx, [esp + 0x74]
push 0x104
push ecx
call fcn.00820bb5
lea edx, [esp + 0x7c]
push edx
call fcn.0040d1d0
add esp, 0x10
test al, al
jne 0x7fb846
push 1
call fcn.0043dc00
add esp, 4
push str.th123a.dat
call fcn.0040d1d0
push str.th123b.dat
call fcn.0040d1d0
push str.th123c.dat
call fcn.0040d1d0
add esp, 0xc
lea eax, [esp + 0x18]
push eax
mov ecx, 0x89ff90
call fcn.00407970
test al, al
je 0x7fb886
mov ecx, 0x89ff90
call fcn.00407cf0
jmp 0x7fb898
push ebx
push str.Error
push 0x861b0c
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
push esi
call ebp
mov ecx, 0x89ff90
call fcn.00407b50
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x378]
pop edi
pop ebx
xor ecx, esp
call fcn.0081fb35
add esp, 0x374
ret 0x10