Function at 0x40808a
Capabilities:
Set current directory

Disassembly:
push 0x6c
mov eax, 0x46b376
call fcn.00463f70
mov ebx, ecx
lea esi, [ebp - 0x1c]
call fcn.00402d8b
and dword [ebp - 4], 0
lea edi, [ebx + 0x4c8]
call fcn.00401470
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.004017b8
lea eax, [ebp - 0x1c]
push eax
call fcn.00402c77
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.004017b8
push ecx
mov eax, esp
mov dword [ebp - 0x1c], esp
push str..ini
push eax
call fcn.004021e4
push ecx
mov dword [ebp - 4], 1
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.00402d8b
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
push eax
call fcn.00403162
add esp, 0xc
push 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 2
call fcn.00435896
mov byte [ebp - 4], 3
push dword [ebp - 0x10]
call fcn.00402dd4
pop ecx
test eax, eax
je 0x408200
push dword [ebp - 0x10]
lea eax, [ebp - 0x78]
push eax
call fcn.0043592c
test eax, eax
je 0x408200
push 0x46f160
push str.ARCHIVE
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x14]
call fcn.0043650b
push 0x46f160
push str.PARAM
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.0043650b
push 0x46f160
push str.CURDIR
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0043650b
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x4081b6
lea eax, [ebp - 0x14]
call fcn.00401470
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], 0
je 0x4081cb
push eax
lea ecx, [ebx + 0x530]
call fcn.0040193a
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
je 0x4081de
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004017b8
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.004017b8
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004017b8
mov eax, dword [0x4872ec]
mov ecx, 0x4872ec
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 7
cmp dword [ebx + 0x4cc], 0
je 0x408288
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x1c], esp
call fcn.004015e7
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, ebx
call fcn.0040bf90
test eax, eax
jne 0x408278
push eax
push eax
push 0x10
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esi - 0x10]
call fcn.004017b8
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 2
call fcn.00435905
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004017b8
xor eax, eax
call fcn.0046400f
ret
lea eax, [ebx + 0x4f0]
lea edi, [ebp - 0x14]
call fcn.00401470
jmp 0x4082ca
lea eax, [ebx + 0x530]
lea esi, [ebp - 0x20]
call fcn.00407903
mov byte [ebp - 4], 8
mov ecx, dword [eax]
lea edi, [ebp - 0x18]
call fcn.0041bb9e
lea edi, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00401470
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004017b8
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.004017b8
mov esi, dword [ebp - 0x14]
push ecx
add esi, 0xfffffff0
mov eax, esi
mov dword [ebp - 0x20], esp
mov edi, esp
mov dword [ebp - 0x18], esi
call fcn.004015e7
add eax, 0x10
mov dword [edi], eax
mov edi, ebx
call fcn.0040c6d2
xor edi, edi
cmp eax, edi
jne 0x40833a
push 0x30
push str.Bandisoft_Setup
push str.Error_at_ReadData
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
push edi
push edi
push 0x10
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, esi
call fcn.004017b8
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 2
call fcn.00435905
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004017b8
mov eax, edi
jmp 0x408272
cmp dword [ebx + 0x4cc], edi
je 0x40836a
cmp dword [ebx + 0x520], edi
je 0x40836a
call fcn.00404584
test eax, eax
jne 0x40836a
call fcn.004088d2
test eax, eax
je 0x408368
mov eax, esi
call fcn.004017b8
xor edi, edi
inc edi
jmp 0x40831b
xor edi, edi
push 8
push dword [0x48730c]
mov dword [0x4856c0], 0x4707ac
mov dword [0x48569c], edi
mov dword [0x4856b8], edi
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [0x4856b0], eax
push ecx
mov eax, esp
mov dword [ebp - 0x20], esp
push ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [eax], edi
mov eax, esp
lea ecx, [ebp - 0x30]
mov dword [eax], ecx
mov eax, ebx
mov dword [ebp - 0x20], esp
call fcn.00408a37
mov eax, dword [ebx + 0x500]
cmp dword [eax - 0xc], edi
je 0x4083ce
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, ebx
call fcn.0040d018
call fcn.0040d1be
test eax, eax
jne 0x4083f3
push edi
push edi
push 0x10
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x18]
jmp 0x408316
add ebx, 4
push ebx
call fcn.00408dff
mov eax, dword [ebp - 0x18]
jmp 0x40835e