Function at 0x42b520
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push ebx
xor ebx, ebx
push esi
mov byte [edi + 0x250], 1
mov word [edi + 0xaf4], bx
cmp dword [0x4e982c], ebx
jne 0x42b551
call fcn.0049b650
mov dword [0x4e982c], eax
cmp eax, ebx
je 0x42b59d
mov ecx, dword [0x4e9830]
cmp dword [ecx + 8], 0x14
jae 0x42b56f
call fcn.0049b650
mov ecx, dword [0x4e9830]
mov dword [ecx + 0xc], eax
cmp eax, ebx
je 0x42b59d
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4e9834], eax
mov dword [ecx + 4], edx
cmp eax, ebx
je 0x42b59d
mov dword [eax], vtable.Label.0
mov dword [eax + 4], 0x4bd2c4
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x42b59f
xor eax, eax
mov dword [edi + 0x64c], eax
cmp eax, ebx
je 0x42b7c0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push edi
call fcn.0042bc50
cmp eax, 1
jne 0x42b7c0
push ebx
push ebx
push ebx
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42b7c0
mov eax, dword [edi + 0x60c]
mov ebx, edi
call fcn.0043df50
test eax, eax
je 0x42b7c0
mov eax, dword [edi + 0x60c]
mov esi, edi
call fcn.0043e040
cmp dword [edi + 0x614], 0
je 0x42b62b
mov edx, dword [edi + 0x60c]
mov ecx, dword [edi + 0x618]
mov dword [ecx + 0x14], edx
mov eax, dword [edi + 0x60c]
mov ecx, dword [edi + 0x618]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x614]
mov dword [edi + 0x60c], edx
xor eax, eax
mov dword [esp + 8], eax
cmp dword [edi + 0x628], eax
jle 0x42b6a4
lea esp, [esp]
mov ecx, dword [edi + 0x624]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 0x51], 0
jne 0x42b697
test byte [ebx + 0x50], 4
jne 0x42b697
cmp byte [ebx + 0x53], 0
jne 0x42b697
mov eax, dword [ebx + 0x20]
push ebx
lea esi, [ebx + 0x34]
push edi
mov byte [ebx + 0x53], 1
call fcn.0044a5c0
mov eax, dword [ebx + 0x28]
push ebx
lea esi, [ebx + 0x40]
push edi
call fcn.0044a5c0
mov eax, dword [ebx + 0x24]
push ebx
lea esi, [ebx + 0x3c]
push edi
call fcn.0044a5c0
mov eax, dword [ebx + 0x2c]
push ebx
lea esi, [ebx + 0x48]
push edi
call fcn.0044a5c0
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
cmp eax, dword [edi + 0x628]
jl 0x42b640
cmp dword [edi + 0x23c], 0
je 0x42b6d4
mov ebx, edi
call fcn.0043a0e0
test eax, eax
je 0x42b7c0
mov eax, dword [edi + 0x23c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [edi + 0x23c], 0
cmp dword [0x4e803c], 0
je 0x42b6e3
push edi
call fcn.0044a670
mov ecx, dword [edi + 0xaf8]
test ecx, ecx
je 0x42b6ff
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [0x4e86f4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
inc dword [edi + 0x24c]
push 0
push 0
push 0
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42b7c0
push 0
push 0
push 0
push 0x68
push edi
call fcn.00434ec0
test eax, eax
je 0x42b7c0
mov edx, dword [edi + 0x64c]
mov eax, dword [edi + 0x610]
push 0
push 0
mov dword [edx + 8], eax
mov ecx, dword [edi + 0x60c]
push 0
push ecx
mov ecx, edi
call fcn.0043e0b0
test eax, eax
je 0x42b7c0
mov eax, dword [edi + 0x60c]
push edi
call fcn.0043e3d0
test eax, eax
je 0x42b7c0
push 3
push 0
push str.ErrorLevel
mov ecx, edi
call fcn.0043d150
mov dword [0x4e86f0], eax
test eax, eax
je 0x42b7c0
push 1
push 0
push 0xffffffffffffffff
push 0x4bbb9c
push eax
call fcn.004a2810
lea edx, [esp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 8]
call fcn.004263b0
mov eax, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 8