Function at 0x408007
Capabilities:
Set current directory

Disassembly:
push 0x6c
mov eax, 0x46b088
call fcn.00463cb0
mov ebx, ecx
lea esi, [ebp - 0x1c]
call fcn.00402e67
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.004017c3
lea eax, [ebp - 0x1c]
push eax
call fcn.00402d53
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.004017c3
push ecx
mov eax, esp
mov dword [ebp - 0x1c], esp
push str..ini
push eax
call fcn.0040227e
push ecx
mov dword [ebp - 4], 1
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.00402e67
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
push eax
call fcn.00403177
add esp, 0xc
push 0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 2
call fcn.004355bd
mov byte [ebp - 4], 3
push dword [ebp - 0x10]
call fcn.0041ba17
pop ecx
test eax, eax
je 0x40817d
push dword [ebp - 0x10]
lea eax, [ebp - 0x78]
push eax
call fcn.00435653
test eax, eax
je 0x40817d
push 0x46f164
push str.ARCHIVE
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x14]
call fcn.00436232
push 0x46f164
push str.PARAM
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.00436232
push 0x46f164
push str.CURDIR
push str.DEBUG
lea eax, [ebp - 0x78]
push eax
lea esi, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00436232
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x408133
lea eax, [ebp - 0x14]
call fcn.00401470
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], 0
je 0x408148
push eax
lea ecx, [ebx + 0x530]
call fcn.00401945
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
je 0x40815b
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.004017c3
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 0x408205
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.0040beb6
test eax, eax
jne 0x4081f5
push eax
push eax
push 0x10
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esi - 0x10]
call fcn.004017c3
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 2
call fcn.0043562c
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004017c3
xor eax, eax
call fcn.00463d4f
ret
lea eax, [ebx + 0x4f0]
lea edi, [ebp - 0x14]
call fcn.00401470
jmp 0x408247
lea eax, [ebx + 0x530]
lea esi, [ebp - 0x20]
call fcn.00407880
mov byte [ebp - 4], 8
mov ecx, dword [eax]
lea edi, [ebp - 0x18]
call fcn.0041bade
lea edi, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00401470
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.004017c3
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.0040c5f8
xor edi, edi
cmp eax, edi
jne 0x4082b7
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.004017c3
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 2
call fcn.0043562c
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, edi
jmp 0x4081ef
cmp dword [ebx + 0x4cc], edi
je 0x4082e7
cmp dword [ebx + 0x520], edi
je 0x4082e7
call fcn.004045dd
test eax, eax
jne 0x4082e7
call fcn.0040884f
test eax, eax
je 0x4082e5
mov eax, esi
call fcn.004017c3
xor edi, edi
inc edi
jmp 0x408298
xor edi, edi
push 8
push dword [0x48730c]
mov dword [0x4856c0], 0x4707b4
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.004089b4
mov eax, dword [ebx + 0x500]
cmp dword [eax - 0xc], edi
je 0x40834b
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, ebx
call fcn.0040cf3e
call fcn.0040d0e4
test eax, eax
jne 0x408370
push edi
push edi
push 0x10
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x18]
jmp 0x408293
add ebx, 4
push ebx
call fcn.00408e6d
mov eax, dword [ebp - 0x18]
jmp 0x4082db