Function at 0x4506f1
Capabilities:
Set current directory

Disassembly:
push 0x19c
mov eax, 0x52dde1
call fcn.004fc737
lea edi, [ebp - 0x190]
call fcn.00404523
xor ebx, ebx
mov edi, 0x594948
mov dword [ebp - 4], ebx
call fcn.00404477
mov eax, dword [ebp - 0x190]
add eax, 0xfffffff0
call fcn.00405521
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], ax
xor esi, esi
lea eax, [ebp - 0x4c]
inc esi
push eax
mov ecx, str.default
mov dword [ebp - 4], esi
call fcn.0043dfde
pop ecx
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 4], 3
call fcn.00404b74
push ebx
push esi
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00404e29
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x450777
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call fcn.00450cc8
test eax, eax
jne 0x450799
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.00404e29
xor eax, eax
jmp 0x450cc2
lea eax, [ebp - 0x1a8]
push str.config.ini
push eax
call fcn.00405a46
pop ecx
pop ecx
mov byte [ebp - 4], 4
push dword [ebp - 0x1a8]
mov esi, 0x594958
push 0x40
push 0x40
call fcn.00405612
push eax
push 0x5481bc
push str.language
push 0x547bc0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
or eax, 0xffffffff
call fcn.00428e0c
mov dword [ebp - 0x18c], ebx
lea eax, [ebp - 0x18c]
push eax
lea esi, [ebp - 0x1a0]
mov byte [ebp - 4], 5
call fcn.00450f3c
pop ecx
mov edi, eax
call fcn.00450f14
cmp dword [ebp - 0x18c], ebx
je 0x450c3b
push 0x54ca84
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00422e08
add esp, 0xc
mov byte [ebp - 4], 6
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x450837
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.004056ee
mov esi, 0x594968
lea eax, [ebp - 0x188]
push esi
push eax
mov byte [ebp - 4], 7
call fcn.0046ad2e
mov bl, al
neg bl
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x188]
pop ecx
sbb bl, bl
pop ecx
add eax, 0xfffffff0
inc bl
call fcn.00405521
test bl, bl
je 0x4508b9
mov eax, esi
call fcn.0041b354
mov ebx, 0x5481bc
push ebx
lea eax, [ebp - 0x188]
push eax
call fcn.004056ee
lea eax, [ebp - 0x188]
push eax
mov eax, esi
mov byte [ebp - 4], 8
call fcn.00429e6d
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x188]
add eax, 0xfffffff0
call fcn.00405521
jmp 0x4508be
mov ebx, 0x5481bc
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x4508ca
lea eax, [ebp - 0x64]
push ecx
mov edi, esp
mov dword [ebp - 0x19c], esp
push eax
call fcn.00427950
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x18c]
xor esi, esi
cmp ecx, esi
jne 0x4508f3
push 0x80004003
call fcn.004f1760
mov byte [ebp - 4], 6
call fcn.0045104c
mov eax, dword [0x594950]
cmp eax, esi
je 0x4508e9
push dword [ebp - 0x18c]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x34]
push ecx
mov edi, esp
mov dword [ebp - 0x19c], esp
push dword [0x594958]
call fcn.00427950
mov byte [ebp - 4], 0xc
cmp dword [0x594950], esi
je 0x4508e9
mov byte [ebp - 4], 6
mov ecx, dword [0x594950]
call fcn.00451014
push ecx
mov edi, esp
mov dword [ebp - 0x19c], esp
push str.support
call fcn.00427950
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x18c]
cmp edx, esi
je 0x4508e9
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 6
call fcn.0043f650
mov byte [ebp - 4], 0xe
mov eax, dword [eax]
cmp eax, esi
je 0x45097f
mov eax, dword [eax]
jmp 0x450981
xor eax, eax
push eax
lea eax, [ebp - 0x4c]
call fcn.004043d1
lea edi, [ebp - 0x190]
mov byte [ebp - 4], 0x10
call fcn.0042790b
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x4509a5
lea eax, [ebp - 0x48]
push 0x54cad0
push eax
call fcn.004f52b9
pop ecx
pop ecx
test eax, eax
je 0x4509f6
push ecx
mov edi, esp
mov dword [ebp - 0x19c], esp
push ebx
call fcn.00427950
mov byte [ebp - 4], 0x11
cmp dword [0x594950], esi
je 0x4508e9
mov byte [ebp - 4], 0x10
mov ecx, dword [0x594950]
call fcn.00451014
push ebx
push 0x594958
mov byte [0x594965], 1
call fcn.004056c8
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, 0x419
cmp cx, ax
jne 0x450a2e
push 0x549f4c
push dword [0x594958]
call fcn.004f5171
pop ecx
pop ecx
test eax, eax
je 0x450a2e
call fcn.00450e63
mov byte [0x594964], al
jmp 0x450c1d
push ecx
mov edi, esp
mov dword [ebp - 0x19c], esp
push str.autolinebreak
call fcn.00427950
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x18c]
cmp edx, esi
je 0x4508e9
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x10
call fcn.0043f650
mov byte [ebp - 4], 0x13
mov eax, dword [eax]
cmp eax, esi
je 0x450a70
mov eax, dword [eax]
jmp 0x450a72
xor eax, eax
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.004056ee
lea edi, [ebp - 0x194]
mov byte [ebp - 4], 0x15
call fcn.0042790b
push 0x54cb28
xor ecx, ecx
lea esi, [ebp - 0x198]
call fcn.004299ad
cmp eax, 0xffffffff
jne 0x450ace
push 0x54cad0
push dword [ebp - 0x198]
call fcn.004f52b9
pop ecx
pop ecx
test eax, eax
jne 0x450c0f
call fcn.00450e63
mov byte [0x594964], al
jmp 0x450c0f
inc eax
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x198]
call fcn.00426d89
push 0x54cb24
xor ecx, ecx
lea esi, [ebp - 0x188]
mov byte [ebp - 4], 0x16
call fcn.004299ad
cmp eax, 0xffffffff
je 0x450c01
inc eax
push eax
lea eax, [ebp - 0x194]
push eax
mov eax, esi
call fcn.00426d89
mov esi, 0x53cd94
push esi
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x17
and dword [ebp - 0x190], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00427823
push dword [eax]
call fcn.004fa60a
mov edi, eax
mov eax, dword [ebp - 0x19c]
pop ecx
add eax, 0xfffffff0
call fcn.00405521
push esi
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x190]
call fcn.00427823
push 0x110
lea eax, [ebp - 0x180]
push 0
push eax
mov byte [ebp - 4], 0x18
call fcn.004f18b0
add esp, 0xc
lea eax, [ebp - 0x184]
push eax
mov dword [ebp - 0x184], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp edi, dword [ebp - 0x180]
jne 0x450be5
lea edi, [ebp - 0x1a4]
call fcn.00450eae
test al, al
je 0x450bbc
call fcn.00450e63
jmp 0x450be0
push dword [ebp - 0x1a4]
call fcn.004fa60a
pop ecx
cmp eax, dword [ebp - 0x17c]
jne 0x450bde
call fcn.00450e63
test al, al
je 0x450bde
xor eax, eax
inc eax
jmp 0x450be0
xor eax, eax
mov byte [0x594964], al
mov eax, dword [ebp - 0x1a4]
add eax, 0xfffffff0
call fcn.00405521
mov eax, dword [ebp - 0x194]
add eax, 0xfffffff0
call fcn.00405521
mov eax, dword [ebp - 0x188]
add eax, 0xfffffff0
call fcn.00405521
mov eax, dword [ebp - 0x198]
add eax, 0xfffffff0
call fcn.00405521
push 0
push 1
lea esi, [ebp - 0x4c]
call fcn.00404e29
push 0
push 1
lea esi, [ebp - 0x68]
mov byte [ebp - 4], 5
call fcn.00404e29
xor ebx, ebx
lea edi, [ebp - 0x4c]
call fcn.0043e10c
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x18], 8
jb 0x450c52
mov eax, dword [eax + 4]
jmp 0x450c55
add eax, 4
push dword [0x594958]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.0047548e
add esp, 0xc
mov edi, 0x59495c
mov byte [ebp - 4], 0x1a
call fcn.00404477
mov eax, dword [ebp - 0x19c]
add eax, 0xfffffff0
call fcn.00405521
push ebx
push 1
lea esi, [ebp - 0x4c]
call fcn.00404e29
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x18c]
cmp eax, ebx
je 0x450ca6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1a8]
add eax, 0xfffffff0
call fcn.00405521
push ebx
push 1
lea esi, [ebp - 0x30]
call fcn.00404e29
xor eax, eax
inc eax
call fcn.004fc7ba
ret