Function at 0x5285e0
Capabilities:
Set current directory

Disassembly:
sub esp, 0x6e4
push esi
mov esi, dword [esp + 0x6ec]
push esi
mov ecx, 0x595870
mov byte [0x595868], 1
call fcn.00527470
lea eax, [esi + 0x50]
push eax
mov ecx, 0x5958c0
call fcn.00527470
mov cl, byte [esi + 0xa0]
mov byte [0x595910], cl
mov edx, dword [esi + 0xa4]
mov dword [0x595914], edx
mov eax, dword [esi + 0xa8]
mov dword [0x595918], eax
mov ecx, dword [esi + 0xac]
mov dword [0x59591c], ecx
call fcn.00527da0
test al, al
je 0x528a40
push 0
call fcn.00527bd0
add esp, 4
mov ecx, eax
call fcn.00529700
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 1
call fcn.00528230
add esp, 4
test al, al
je 0x528a40
push str.bxdata.dat
push 1
call fcn.00527bd0
add esp, 4
push eax
lea edx, [esp + 0xb8]
push edx
call fcn.00527a50
add esp, 0xc
lea ecx, [esp + 0xb0]
call fcn.00529700
push eax
call fcn.00529fe0
add esp, 4
test eax, eax
mov dword [0x595a04], eax
je 0x528a34
mov eax, dword [0x59591c]
mov ecx, dword [0x595918]
push eax
push ecx
call fcn.005281a0
add esp, 8
test al, al
je 0x528a34
push 0x10
call fcn.00525dd0
add esp, 4
test eax, eax
je 0x5286ea
mov ecx, eax
call fcn.0052c370
jmp 0x5286ec
xor eax, eax
push eax
mov ecx, 0x595928
call fcn.00528580
push 0x58
call fcn.004dd1ff
add esp, 4
test eax, eax
je 0x52870e
mov ecx, eax
call fcn.0052b590
jmp 0x528710
xor eax, eax
push eax
mov ecx, 0x595920
call fcn.00528550
push 0x78
call fcn.00525dd0
add esp, 4
test eax, eax
je 0x528732
mov ecx, eax
call fcn.0052c600
jmp 0x528734
xor eax, eax
push eax
mov ecx, 0x595924
call fcn.005285b0
cmp byte [esi + 0xa0], 0
je 0x5287a9
push 0
call fcn.00527bd0
add esp, 4
push eax
lea ecx, [esp + 0x64]
call fcn.005272c0
push 0
push 0
lea edx, [esp + 0x2e8]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x70]
call fcn.00529700
push eax
call dword [sym.imp.MSVCR80.dll__wsplitpath]
movzx ecx, word [esp + 0x2f4]
sub ecx, 0x40
push ecx
call dword [sym.imp.MSVCR80.dll__chdrive]
lea edx, [esp + 0x2f8]
push edx
call dword [sym.imp.MSVCR80.dll__wchdir]
add esp, 0x1c
lea ecx, [esp + 0x60]
call fcn.00527430
call fcn.00528af0
push str.errstrings_
push 1
call fcn.00527bd0
add esp, 4
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00527a50
add esp, 0xc
push str.Language
lea ecx, [esp + 0x64]
mov dword [esp + 8], 0
call fcn.00527310
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0x64]
push edx
mov ecx, 0x595860
call fcn.00528370
lea ecx, [esp + 0x60]
call fcn.00527430
mov eax, dword [esp + 4]
cmp eax, 4
ja case.default.0x52880b
jmp dword [eax*4 + 0x528a78]
push str.default_string_table_eng.bin
lea ecx, [esp + 0x104]
call fcn.00527310
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x100]
call fcn.00527430
push 0
call fcn.005271d0
jmp 0x528953
push str.default_string_table_fre.bin
lea ecx, [esp + 0x64]
call fcn.00527310
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x60]
call fcn.00527430
push 3
call fcn.005271d0
jmp 0x528953
push str.default_string_table_spa.bin
lea ecx, [esp + 0x294]
call fcn.00527310
push eax
lea edx, [esp + 0x14]
push edx
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x290]
call fcn.00527430
push 3
call fcn.005271d0
jmp 0x528953
push str.default_string_table_ita.bin
lea ecx, [esp + 0x244]
call fcn.00527310
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x240]
call fcn.00527430
push 3
call fcn.005271d0
jmp 0x528953
push str.default_string_table_ger.bin
lea ecx, [esp + 0x1a4]
call fcn.00527310
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x1a0]
call fcn.00527430
push 3
call fcn.005271d0
jmp 0x528953
push str.default_string_table_eng.bin
lea ecx, [esp + 0x1f4]
call fcn.00527310
push eax
lea edx, [esp + 0x14]
push edx
call fcn.00527950
add esp, 8
lea ecx, [esp + 0x1f0]
call fcn.00527430
push 0
call fcn.005271d0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
add esp, 4
push eax
call fcn.00528b70
lea ecx, [esp + 0x14]
push ecx
call fcn.005293f0
mov edx, dword [esi + 0xa4]
push edx
call fcn.005295f0
add esp, 0xc
test al, al
je 0x528a2b
push 0x104
lea eax, [esp + 0x4e4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x4e0]
push ecx
lea ecx, [esp + 0x154]
call fcn.00527310
lea edx, [esp + 0x150]
push edx
call fcn.0052c560
add esp, 4
test al, al
jne 0x528a4a
push str.BXSTR_ERROR_NO_ACCESS_TITLE
lea ecx, [esp + 0x104]
call fcn.00527310
push str.BXSTR_ERROR_NO_ACCESS
lea ecx, [esp + 0x64]
call fcn.00527310
lea eax, [esp + 0x100]
push eax
call fcn.00529300
add esp, 4
push eax
lea ecx, [esp + 0x64]
push 0
push ecx
call fcn.00529300
add esp, 4
push eax
call fcn.00528b10
add esp, 0xc
lea ecx, [esp + 0x60]
call fcn.00527430
lea ecx, [esp + 0x100]
call fcn.00527430
lea ecx, [esp + 0x150]
call fcn.00527430
lea ecx, [esp + 0x10]
call fcn.00527430
lea ecx, [esp + 0xb0]
call fcn.00527430
xor al, al
pop esi
add esp, 0x6e4
ret
lea ecx, [esp + 0x150]
call fcn.00527430
lea ecx, [esp + 0x10]
call fcn.00527430
lea ecx, [esp + 0xb0]
call fcn.00527430
mov al, 1
pop esi
add esp, 0x6e4
ret