Function at 0x412a90
Capabilities:
Set current directory

Disassembly:
mov eax, 0x4a7d5c
call fcn.00483228
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, ecx
call fcn.004a37ad
mov ecx, dword [eax + 4]
call fcn.0049d404
and dword [ebp - 4], 0
push 1
mov ecx, esi
call fcn.0049c56e
lea edi, [esi + 0x11c]
push 1
push edi
call fcn.00446a1d
pop ecx
mov ebx, 0x4e7e70
pop ecx
push ebx
lea ecx, [ebp - 0x10]
call fcn.0049d946
push ebx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0049d946
push 0x6a
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.0049de81
mov eax, dword [edi]
cmp dword [eax - 8], 0
jne 0x412b07
push 0xa35
jmp 0x412e43
push 0
mov ecx, esi
call fcn.0049c56e
mov eax, dword [edi]
cmp dword [eax - 8], 2
jle 0x412b37
mov cl, byte [eax]
cmp cl, 0x5c
jne 0x412b37
cmp byte [eax + 1], cl
jne 0x412b37
cmp dword [0x4e80f4], 0
je 0x412b4a
push 0xb30
jmp 0x412e43
cmp dword [0x4e8114], 0
je 0x412b4a
push 0xb2f
jmp 0x412e43
cmp dword [0x4e810c], 0
je 0x412b99
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.004481fb
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 3
cmp dword [eax - 8], 0
je 0x412c91
push 1
mov ecx, esi
call fcn.0049c56e
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.0049d9c5
push 0
mov ecx, esi
call fcn.0049c56e
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0049d8d8
mov eax, dword [0x4e80ec]
test eax, eax
je 0x412cef
push str.______
mov ecx, edi
call fcn.0049dd8e
test eax, eax
jge 0x412d72
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x18]
push eax
call fcn.00447404
pop ecx
pop ecx
mov eax, dword [ebp - 0x18]
mov ecx, edi
mov byte [ebp - 4], 4
mov eax, dword [eax - 8]
inc eax
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00496d0e
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0049d9c5
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.0049d8d8
push 1
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 6
mov ebx, esp
mov dword [ebp - 0x28], esp
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x28], esp
push 0
push eax
call fcn.00407bd2
push ebx
call fcn.00447404
pop ecx
lea eax, [ebp - 0x1c]
pop ecx
mov byte [ebp - 4], 4
push eax
call fcn.00447f34
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 7
push eax
call fcn.0045df29
add esp, 0x14
test eax, eax
je 0x412cbe
push 0
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
call fcn.0049d64d
call fcn.004466f0
pop ecx
test eax, eax
pop ecx
je 0x412cbe
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0049d8d8
jmp 0x412dda
push 0x810
lea ecx, [ebp - 0x10]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0049bcf1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
call fcn.0049d8d8
jmp 0x412e5a
push 0xa2e
lea ecx, [ebp - 0x10]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0049bcf1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.0049d8d8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
jmp 0x412cb4
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push edi
call fcn.0049d64d
call fcn.00449f55
test al, 8
pop ecx
je 0x412d0c
push 0x6e
jmp 0x412e43
test al, 4
je 0x412d17
push 0x71
jmp 0x412e43
test al, 0xa0
jne 0x412e41
test al, 0x50
jne 0x412e3d
test al, 2
je 0x412d99
push ebx
lea ecx, [ebp - 0x10]
call fcn.0049da15
push ebx
lea ecx, [ebp - 0x14]
call fcn.0049da15
push 0x69
lea ecx, [ebp - 0x10]
call fcn.0049de81
push 0x124
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0049bcf1
cmp eax, 6
jne 0x412e5a
push str.______
mov ecx, edi
call fcn.0049dd8e
test eax, eax
jl 0x412d7c
push 0xa2e
jmp 0x412e43
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push edi
call fcn.0049d64d
call fcn.00446d96
test eax, eax
pop ecx
jne 0x412dd2
push 0x6c
jmp 0x412e43
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push edi
call fcn.0049d64d
call fcn.004466f0
pop ecx
test eax, eax
pop ecx
jne 0x412dd2
push ebx
lea ecx, [ebp - 0x10]
call fcn.0049da15
push ebx
lea ecx, [ebp - 0x14]
call fcn.0049da15
push 0x6a
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x6d
jmp 0x412e43
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x20]
push eax
call fcn.00447404
add esp, 4
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
mov byte [ebp - 4], 8
call fcn.0049d64d
lea eax, [ebp - 0x24]
push eax
call fcn.00447404
pop ecx
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.00413445
fstp qword [esi + 0x70]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.0049d8d8
mov ecx, esi
call fcn.0049a053
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
jmp 0x412cb4
push 0x70
jmp 0x412e43
push 0x6f
lea ecx, [ebp - 0x10]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0049bcf1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0049d8d8
and byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.0049d8d8
or dword [ebp - 4], 0xffffffff
call fcn.004a37ad
mov ecx, dword [eax + 4]
call fcn.0049d419
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret