Function at 0x489dd0
Capabilities:
Set current directory

Disassembly:
mov eax, 0x195c
call fcn.004a4490
mov eax, dword [0x4ca3b0]
xor eax, esp
mov dword [esp + 0x1958], eax
push ebx
mov ecx, 0x4eeda0
call fcn.00411520
mov bl, byte [esp + 0x1968]
mov dword [esp + 8], edx
test bl, bl
je 0x489e25
and eax, 1
xor ecx, ecx
or eax, ecx
jne 0x489e25
xor al, al
pop ebx
mov ecx, dword [esp + 0x1958]
xor ecx, esp
call fcn.004a3c63
add esp, 0x195c
ret 0x10
push ebp
push esi
call fcn.0048c140
mov ebp, eax
xor eax, eax
mov word [0x50f340], ax
call fcn.00480dd0
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x4eeda0
call fcn.00412fb0
push 0x400
push 0x4f701c
mov ecx, 0x4eeda0
call fcn.00412f80
mov edx, dword [esp + 0x94]
xor esi, esi
push 1
mov dword [0x4f4fbc], edx
mov byte [0x4f46da], bl
mov dword [0x4f4b9c], 1
mov dword [0x4f467c], esi
mov dword [0x4f46a0], esi
call fcn.00488230
cmp dword [esp + 0x138], esi
mov eax, dword [esp + 0x1978]
mov ebx, dword [esp + 0x196c]
push eax
setne cl
movzx edx, cl
push edx
push ebx
push 0x4f701c
push 0x4b8d34
push 0x50f340
call fcn.00488e60
test bl, bl
je 0x489ed5
push 1
call fcn.00489c10
test al, al
je 0x48a1f8
push edi
push 0x400
lea eax, [esp + 0x96c]
push eax
mov ecx, 0x4eeda0
call fcn.00412f60
cmp word [esp + 0x968], si
jne 0x489f24
mov ecx, 0x4ee478
call fcn.00440160
mov ecx, 0x4ee478
mov edi, eax
call fcn.004401c0
cmp edi, eax
jne 0x489f24
cmp dword [esp + 0x13c], esi
je 0x489f2e
cmp byte [esp + 0x15d], 0
jne 0x489f2e
cmp byte [esp + 0x1978], 0
je 0x489f9a
push esi
push 0x3ff
push esi
lea ecx, [esp + 0x174]
push ecx
mov ecx, dword [0x4f781c]
call fcn.0046a9e0
test al, al
je 0x489f85
mov ecx, 0x4b877c
lea eax, [esp + 0x168]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489f78
test dl, dl
je 0x489f74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489f78
add eax, 2
add ecx, 2
test dl, dl
jne 0x489f58
xor eax, eax
jmp 0x489f7d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x48a027
mov ecx, dword [0x4f781c]
push 0x4b877c
call fcn.0046a8a0
jmp 0x48a027
mov edx, dword [0x4f781c]
push esi
push edx
mov ecx, 0x4ee478
call fcn.00440380
test al, al
je 0x48a117
mov eax, dword [0x4f781c]
cmp dword [eax + 0x20], esi
jne 0x48a027
xor eax, eax
movzx ecx, word [esp + eax + 0x968]
mov word [esp + eax + 0x168], cx
add eax, 2
cmp cx, si
jne 0x489fc0
cmp word [esp + 0x168], si
je 0x489fef
lea ecx, [esp + 0x168]
push ecx
call fcn.00451050
lea edi, [esp + 0x168]
add edi, 0xfffffffe
lea esp, [esp]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x48a000
mov edx, dword [0x4b8efc]
mov ecx, dword [0x4f781c]
lea eax, [esp + 0x168]
push eax
mov dword [edi], edx
call fcn.0046a8c0
cmp dword [esp + 0x13c], esi
je 0x48a0a4
cmp byte [esp + 0x15d], 0
jne 0x48a0a4
mov ecx, 0x4ee478
call fcn.00440160
mov esi, eax
test esi, esi
je 0x48a094
cmp word [esp + 0x968], 0
jne 0x48a0a4
mov ecx, 0x4ee478
call fcn.004401c0
cmp esi, eax
jne 0x48a0a4
mov ecx, dword [0x4e8cd4]
mov edx, dword [0x4d56b0]
push 0x4f701c
push 0x488db0
push ecx
push str.ASKPROCESSVOLDLG
push edx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 0xffffffff
je 0x48a117
cmp eax, 1
jne 0x48a0a4
mov ecx, dword [0x4f781c]
push 0x4b877c
call fcn.0046a8a0
xor eax, eax
mov word [esp + 0x1168], ax
cmp byte [esp + 0x1974], al
jne 0x48a11e
cmp word [0x50f340], ax
je 0x48a11e
cmp dword [0x4f45e8], 4
je 0x48a11e
push 0x400
lea ecx, [esp + 0x116c]
push ecx
call fcn.004850e0
push 0
push 0x50f340
call fcn.00431da0
push 0x50f340
call fcn.004850c0
test al, al
jne 0x48a11e
push 0x50f340
push 0x1f7
call fcn.00460a30
push eax
call fcn.004926f0
add esp, 8
mov ecx, 0x4d56b4
call fcn.00428cd0
xor al, al
jmp 0x48a1f7
push 0
push 0
mov ecx, 0x4eeda0
call fcn.00417860
cmp word [esp + 0x1168], 0
je 0x48a145
lea edx, [esp + 0x1168]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call fcn.0048c140
cmp ebp, eax
jne 0x48a189
cmp byte [0x4e7b88], 0
jne 0x48a189
cmp byte [esp + 0x1974], 0
mov bl, 1
je 0x48a18d
push 0x40
push 0x3a7
call fcn.00460a30
push eax
push 0x3a8
call fcn.00460a30
push eax
mov eax, dword [0x4e8cd4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x48a1be
xor bl, bl
jmp 0x48a1be
cmp dword [0x4f5fd0], 0
je 0x48a1be
push 0x4f701c
call fcn.00431560
test al, al
jne 0x48a1be
mov ecx, 0x4ee478
call fcn.00442540
test al, al
je 0x48a1be
push 0
mov ecx, 0x4ee478
call fcn.00442bf0
mov ecx, 0x4e8cd8
mov byte [0x4e8d04], 0
call fcn.00469ea0
cmp byte [esp + 0x1974], 0
jne 0x48a1f5
cmp byte [0x4e7b88], 0
jne 0x48a1f5
cmp byte [0x50f33c], 0
je 0x48a1f5
push 0x50f340
call fcn.004890a0
mov al, bl
pop edi
mov ecx, dword [esp + 0x1964]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a3c63
add esp, 0x195c
ret 0x10