Function at 0x485b84
Capabilities:
Set current directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x660
mov eax, dword [0x48dc38]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, ecx
mov ecx, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x630], esi
test edi, edi
jne 0x485bcc
mov ebx, 0x80070057
push ebx
call fcn.004314fa
jmp 0x486448
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
add eax, 0x428
push 0
mov ecx, eax
mov dword [ebp - 0x65c], eax
call fcn.00486471
lea eax, [ebp - 0x630]
push eax
push 0
push 0x4056f4
push edi
call fcn.004307e7
mov ebx, eax
mov dword [ebp - 0x634], ebx
test ebx, ebx
jns 0x485c18
push ebx
call fcn.004314fa
mov esi, dword [ebp - 0x630]
jmp 0x486448
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x648]
mov esi, eax
push 0x4057f0
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push edi
push esi
push 0x405708
push 0x405778
push 0x96
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
mov esi, dword [ebp - 0x630]
mov edi, eax
push esi
push 0x40582c
push 0x4000000
call fcn.00459d8f
add esp, 0xc
push 0
push 0
push ebx
push edi
push 0x405708
push 0x405778
push 0x97
xor ebx, ebx
push ebx
push 0x41203c
push ebx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call fcn.004370c1
mov dword [ebp - 0x660], eax
test eax, eax
jne 0x485d2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x634], eax
test eax, eax
jle 0x485cda
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x634], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push 0x405868
push 0x2800000
mov edi, eax
call fcn.00459d8f
pop ecx
pop ecx
xor ecx, ecx
push ecx
push ecx
push ebx
push edi
push 0x405708
push 0x405778
push 0xa1
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
mov ebx, dword [ebp - 0x634]
test ebx, ebx
jns 0x486448
jmp 0x485bc1
push dword [ebp - 0x648]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x485dca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x634], eax
test eax, eax
jle 0x485d61
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x634], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
mov edi, eax
mov eax, dword [ebp - 0x634]
push eax
push dword [ebp - 0x648]
push 0x4058a8
push 0x2800000
call fcn.00459d8f
add esp, 0x10
xor ecx, ecx
push ecx
push ecx
push ebx
push edi
push 0x405708
push 0x405778
push 0xa8
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
mov ebx, dword [ebp - 0x634]
test ebx, ebx
jns 0x48643c
push ebx
call fcn.004314fa
jmp 0x48643c
push ebx
push ebx
push ebx
call fcn.00487c20
mov dword [ebp - 0x658], eax
test eax, eax
jne 0x485e34
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x634], eax
test eax, eax
jle 0x485dfa
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x634], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push 0x405900
push 0x2800000
mov edi, eax
call fcn.00459d8f
pop ecx
pop ecx
xor ecx, ecx
push ecx
push ecx
push ebx
push edi
push 0x405708
push 0x405778
push 0xb2
jmp 0x485da4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x658]
mov edi, eax
push 0x405950
push 0x4000000
call fcn.00459d8f
add esp, 0xc
push 0
push 0
push ebx
push edi
push 0x405708
push 0x405778
push 0xb6
push 0
push 0x41203c
push 0
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
xor eax, eax
mov dword [ebp - 0x640], eax
and dword [ebp - 0x630], 0
xor ecx, ecx
and dword [ebp - 0x650], ecx
and dword [ebp - 0x63c], 0
mov word [ebp - 0x20c], cx
lea ecx, [ebp - 0x20c]
push 0x104
push ecx
push eax
call fcn.00487c20
mov edi, eax
mov dword [ebp - 0x644], edi
test edi, edi
jne 0x485f12
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x640]
mov edi, eax
push 0x405988
push 0x2000000
call fcn.00459d8f
add esp, 0xc
push 0
push 0
push ebx
push edi
push 0x405708
push 0x405778
push 0xc6
push 0
push 0x41203c
push 0
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
jmp 0x4863e0
cmp word [ebp - 0x20c], 0
jne 0x485f5a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x640]
mov edi, eax
push 0x4059e0
push 0x2000000
call fcn.00459d8f
add esp, 0xc
push 0
push 0
push ebx
push edi
push 0x405708
push 0x405778
push 0xcc
jmp 0x485efe
mov ebx, dword [ebp - 0x64c]
lea eax, [ebp - 0x650]
push eax
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
push dword [ebp - 0x648]
call fcn.0048593b
mov dword [ebp - 0x638], eax
test eax, eax
jns 0x485fcc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x638]
mov edi, eax
push dword [ebp - 0x640]
push 0x405a30
push 0x2000000
call fcn.00459d8f
add esp, 0x10
push 0
push 0
push ebx
push edi
push 0x405708
push 0x405778
push 0xd3
jmp 0x485efe
lea eax, [ebp - 0x20c]
mov ecx, ebx
push eax
call fcn.00486561
test eax, eax
jns 0x486037
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call sub.WDSCORE.dll_CurrentIP
mov edi, eax
lea eax, [ebp - 0x20c]
push eax
push 0x405a98
push 0x3000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push ebx
push edi
push 0x405708
push 0x405778
push 0xda
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
and dword [ebp - 0x638], 0
mov edi, dword [ebp - 0x644]
jmp 0x486041
mov dword [ebp - 0x638], 1
mov eax, edi
shr edi, 1
and eax, 1
and edi, 1
mov dword [ebp - 0x654], eax
lea eax, [ebp - 0x630]
push eax
push 0
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x644], edi
push eax
push esi
call fcn.004307e7
mov ebx, eax
test ebx, ebx
js 0x486422
mov edi, dword [ebp - 0x630]
lea eax, [ebp - 0x63c]
push eax
push 0
push 0x405ae4
push edi
call fcn.004307e7
mov ebx, eax
mov dword [ebp - 0x634], ebx
test ebx, ebx
js 0x486401
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x640]
mov ebx, eax
push 0x405af4
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xe8
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
mov ebx, eax
lea eax, [ebp - 0x20c]
push eax
push 0x405b30
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xe9
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x63c]
mov ebx, eax
push 0x405b6c
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xea
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x654]
mov ebx, eax
push 0x405ba8
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xeb
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x644]
mov ebx, eax
push 0x405be4
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xec
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x630], eax
call sub.WDSCORE.dll_CurrentIP
push dword [ebp - 0x650]
mov ebx, eax
push 0x405c20
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x630]
push ebx
push 0x405708
push 0x405778
push 0xed
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
mov ebx, dword [ebp - 0x638]
lea eax, [ebp - 0x20c]
push ebx
push dword [ebp - 0x650]
lea ecx, [ebp - 0x62c]
push dword [ebp - 0x644]
push dword [ebp - 0x654]
push dword [ebp - 0x63c]
push eax
call fcn.0048579b
lea eax, [ebp - 0x62c]
push eax
mov eax, dword [ebp - 0x65c]
mov ecx, eax
push dword [eax + 4]
call fcn.00485abe
cmp dword [ebp - 0x654], 0
je 0x4863c2
mov ecx, dword [ebp - 0x64c]
test ebx, ebx
je 0x486354
cmp dword [ecx], 0
jge 0x486354
mov eax, dword [ecx + 0x42c]
dec eax
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x638], eax
call sub.WDSCORE.dll_CurrentIP
mov ebx, eax
lea eax, [ebp - 0x62c]
push eax
push 0x405c5c
push 0x4000000
call fcn.00459d8f
add esp, 0xc
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x638]
push ebx
push 0x405708
push 0x405778
push 0xff
push ecx
push 0x41203c
push ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
mov ecx, dword [ebp - 0x64c]
cmp dword [ebp - 0x644], 0
je 0x4863c2
cmp dword [ecx + 4], 0
jge 0x4863c2
mov eax, dword [ecx + 0x42c]
dec eax
mov dword [ecx + 4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x638], eax
call sub.WDSCORE.dll_CurrentIP
mov ebx, eax
lea eax, [ebp - 0x62c]
push eax
push 0x405ca0
push 0x4000000
call fcn.00459d8f
add esp, 0xc
push 0
push 0
push dword [ebp - 0x638]
push ebx
push 0x405708
push 0x405778
push 0x105
push 0
push 0x41203c
push 0
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
cmp dword [ebp - 0x63c], 0
je 0x4863d6
push dword [ebp - 0x63c]
call fcn.00431523
test edi, edi
je 0x4863e0
push edi
call fcn.00431523
mov eax, dword [ebp - 0x640]
inc eax
mov dword [ebp - 0x640], eax
cmp eax, dword [ebp - 0x658]
jb 0x485e87
mov ebx, dword [ebp - 0x634]
jmp 0x48643c
push ebx
call fcn.004314fa
cmp dword [ebp - 0x63c], 0
je 0x48641b
push dword [ebp - 0x63c]
call fcn.00431523
test edi, edi
je 0x48643c
push edi
jmp 0x486437
push ebx
call fcn.004314fa
cmp dword [ebp - 0x630], 0
je 0x48643c
push dword [ebp - 0x630]
call fcn.00431523
push dword [ebp - 0x660]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ebx
call fcn.00431467
test esi, esi
je 0x486458
push esi
call fcn.00431523
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047c8b0
leave
ret 8