Function at 0x57f4d8
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x41
push 0
push 0
dec ecx
jne 0x57f4e0
push ecx
push ebx
push esi
push edi
lea ebx, [ebp - 0x1d8]
xor eax, eax
push ebp
push 0x57fd94
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x57fd1f
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x5c1278]
mov edx, dword [edx]
lea eax, [ebp - 0x1dc]
mov ecx, 0x57fda8
call fcn.00405c48
mov eax, dword [ebp - 0x1dc]
call fcn.005790a0
test al, al
jne 0x57f541
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x57fd29
mov edx, dword [0x5c1278]
mov edx, dword [edx]
lea eax, [ebp - 0x1e0]
mov ecx, 0x57fdd4
call fcn.00405c48
mov eax, dword [ebp - 0x1e0]
call fcn.00405bcc
push eax
call sub.kernel32.dll_SetCurrentDirectoryW
mov edx, 0x57fde8
mov eax, ebx
call fcn.00403348
mov eax, ebx
call fcn.004030cc
call fcn.00402ca4
jmp 0x57fcf5
lea edx, [ebp - 4]
mov eax, ebx
call fcn.0040397c
mov eax, ebx
call fcn.004039e8
call fcn.00402ca4
lea edx, [ebp - 0x1e4]
mov eax, dword [ebp - 4]
call fcn.0040c5e0
mov edx, dword [ebp - 0x1e4]
lea eax, [ebp - 4]
call fcn.00405264
mov edx, dword [ebp - 4]
mov eax, 0x57fe00
call fcn.004057e0
dec eax
je 0x57fcf5
mov edx, dword [ebp - 4]
mov eax, 0x57fe0c
call fcn.004057e0
dec eax
je 0x57fcf5
mov edx, dword [ebp - 4]
mov eax, 0x57fe18
call fcn.004057e0
dec eax
je 0x57fcf5
mov edx, dword [ebp - 4]
mov eax, 0x57fe24
call fcn.004057e0
dec eax
je 0x57fcf5
mov eax, dword [ebp - 4]
call fcn.0040549c
test eax, eax
je 0x57fcf5
lea eax, [ebp - 0x1e8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x57fe30
call fcn.004057e0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004056fc
mov eax, dword [ebp - 0x1e8]
lea edx, [ebp - 8]
call fcn.0040c22c
mov eax, dword [ebp - 8]
call fcn.0040549c
test eax, eax
je 0x57fcf5
mov edx, dword [ebp - 8]
mov eax, 0x57fe3c
call fcn.004057e0
dec eax
jne 0x57f67d
lea eax, [ebp - 8]
mov ecx, 3
mov edx, 1
call fcn.0040573c
lea eax, [ebp - 0x1ec]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x57fe30
call fcn.004057e0
inc eax
push eax
mov eax, dword [ebp - 4]
call fcn.0040549c
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.004056fc
mov eax, dword [ebp - 0x1ec]
lea edx, [ebp - 0xc]
call fcn.0040c5e0
mov eax, dword [ebp - 0xc]
call fcn.0040549c
test eax, eax
je 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fe48
call fcn.004055e8
jne 0x57f734
lea edx, [ebp - 0x1f0]
mov eax, dword [ebp - 0xc]
call fcn.0040c22c
mov edx, dword [ebp - 0x1f0]
mov eax, dword [0x5c1088]
call fcn.00405220
mov eax, dword [0x5c1088]
mov eax, dword [eax]
call fcn.005aeb90
and eax, 0xff
mov edx, dword [0x5c1380]
mov dword [edx], eax
mov eax, dword [0x5c1380]
mov al, byte [eax]
call fcn.005b1a18
xor edx, edx
mov dl, al
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fe58
call fcn.004055e8
jne 0x57f77f
mov eax, dword [0x5c1434]
mov edx, dword [ebp - 0xc]
call fcn.00405220
lea edx, [ebp - 0x1f4]
mov eax, dword [0x5c1434]
mov eax, dword [eax]
call fcn.0057a6fc
mov edx, dword [ebp - 0x1f4]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
call fcn.004f239c
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fe68
call fcn.004055e8
jne 0x57f7c5
mov edx, 3
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1110]
mov dword [edx], eax
mov edx, dword [0x5c1110]
mov edx, dword [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x408]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fe7c
call fcn.004055e8
jne 0x57f817
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c17e0]
mov dword [edx], eax
mov eax, dword [0x5c17e0]
mov eax, dword [eax]
mov edx, dword [0x5c14ac]
mov byte [edx], al
mov edx, dword [0x5c17e0]
mov edx, dword [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a4]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fe90
call fcn.004055e8
jne 0x57f87d
mov edx, 0x1388
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1acc]
mov word [edx], ax
lea edx, [ebp - 0x1fc]
mov eax, dword [0x5c1acc]
movzx eax, word [eax]
call fcn.0040c92c
mov edx, dword [ebp - 0x1fc]
lea eax, [ebp - 0x1f8]
call fcn.00405b50
mov edx, dword [ebp - 0x1f8]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x328]
call fcn.004f239c
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fea0
call fcn.004055e8
jne 0x57f8af
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0xc]
call fcn.005ae050
mov edx, dword [ebp - 0x200]
mov eax, dword [0x5c0ff0]
call fcn.00405220
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57feb0
call fcn.004055e8
jne 0x57f8fa
mov eax, dword [0x5c12a4]
mov edx, dword [ebp - 0xc]
call fcn.00405220
lea edx, [ebp - 0x204]
mov eax, dword [0x5c12a4]
mov eax, dword [eax]
call fcn.0057a6fc
mov edx, dword [ebp - 0x204]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x330]
call fcn.004f239c
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57febc
call fcn.004055e8
jne 0x57f946
mov eax, dword [0x5c16d4]
mov edx, dword [ebp - 0xc]
call fcn.00405220
lea eax, [ebp - 0x208]
mov edx, dword [0x5c16d4]
mov edx, dword [edx]
call fcn.00405b50
mov edx, dword [ebp - 0x208]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.004f239c
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fed4
call fcn.004055e8
jne 0x57f98c
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1850]
mov byte [edx], al
mov edx, dword [0x5c1850]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x444]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fee8
call fcn.004055e8
jne 0x57f9d2
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c11a4]
mov byte [edx], al
mov edx, dword [0x5c11a4]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fefc
call fcn.004055e8
jne 0x57fa15
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c14e0]
mov byte [edx], al
mov edx, dword [0x5c14e0]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3ac]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff10
call fcn.004055e8
jne 0x57fa58
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1a28]
mov byte [edx], al
mov edx, dword [0x5c1a28]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3f8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff24
call fcn.004055e8
jne 0x57fa9e
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1ae8]
mov byte [edx], al
mov edx, dword [0x5c1ae8]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3f4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff3c
call fcn.004055e8
jne 0x57fae1
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c12ac]
mov byte [edx], al
mov edx, dword [0x5c12ac]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x438]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff50
call fcn.004055e8
jne 0x57fb24
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1998]
mov byte [edx], al
mov edx, dword [0x5c1998]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x430]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff64
call fcn.004055e8
jne 0x57fb59
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, eax
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff74
call fcn.004055e8
jne 0x57fb9f
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1620]
mov byte [edx], al
mov edx, dword [0x5c1620]
mov dl, byte [edx]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x434]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff88
call fcn.004055e8
jne 0x57fbc8
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1518]
mov byte [edx], al
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ff9c
call fcn.004055e8
jne 0x57fbee
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1674]
mov byte [edx], al
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ffb0
call fcn.004055e8
jne 0x57fc14
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c1708]
mov byte [edx], al
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ffc4
call fcn.004055e8
jne 0x57fc3d
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c12f4]
mov byte [edx], al
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ffdc
call fcn.004055e8
jne 0x57fc5e
mov eax, dword [0x5c11bc]
mov edx, dword [ebp - 0xc]
call fcn.00405220
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57ffe8
call fcn.004055e8
jne 0x57fc7c
mov eax, dword [0x5c17b0]
mov edx, dword [ebp - 0xc]
call fcn.00405220
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x57fff8
call fcn.004055e8
jne 0x57fc9a
mov eax, dword [0x5c16d4]
mov edx, dword [ebp - 0xc]
call fcn.00405220
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x58000c
call fcn.004055e8
jne 0x57fcd1
lea edx, [ebp - 0x20c]
mov eax, dword [ebp - 0xc]
call fcn.0057a6fc
mov edx, dword [ebp - 0x20c]
mov eax, dword [0x5c19b0]
mov eax, dword [eax]
mov eax, dword [eax + 0x43c]
call fcn.004f239c
jmp 0x57fcf5
mov eax, dword [ebp - 8]
mov edx, 0x58001c
call fcn.004055e8
jne 0x57fcf5
mov edx, 0x3f
mov eax, dword [ebp - 0xc]
call fcn.0040cb88
mov edx, dword [0x5c112c]
mov byte [edx], al
mov eax, ebx
call fcn.00403668
call fcn.00402ca4
test al, al
je 0x57f587
mov eax, ebx
call fcn.004034c4
call fcn.00402ca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x57fd29
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x57fd9b
lea eax, [ebp - 0x20c]
mov edx, 3
call fcn.0040599c
lea eax, [ebp - 0x200]
mov edx, 2
call fcn.004051f0
lea eax, [ebp - 0x1f8]
mov edx, 2
call fcn.0040599c
lea eax, [ebp - 0x1f0]
mov edx, 4
call fcn.004051f0
lea eax, [ebp - 0x1e0]
mov edx, 2
call fcn.0040599c
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004051f0
ret