Function at 0x101446f
Capabilities:
Set current directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x81c
mov eax, dword [0x1020204]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
xor ebx, ebx
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
inc eax
cmp ecx, ebx
mov dword [esi], ebx
mov dword [0x102117c], eax
mov dword [0x1021188], eax
mov byte [0x10213c0], bl
mov byte [ebp - 0x804], bl
je 0x10144c7
push 0x3ff
push ecx
lea eax, [ebp - 0x804]
push 0x400
push eax
call fcn.010163b1
add esp, 0x10
cmp byte [ebp - 0x804], bl
lea eax, [ebp - 0x804]
mov dword [ebp - 0x818], eax
je 0x1014787
push edi
mov byte [0x10214c8], bl
lea edi, [ebp - 0x81c]
lea ebx, [ebp - 0x818]
call fcn.010128bd
mov edi, eax
test edi, edi
mov dword [ebp - 0x808], edi
mov ebx, 0x104
je 0x101456a
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x404]
push eax
push 0x400
push edi
mov byte [ebp - 0x404], 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
cmp byte [ebp - 0x404], 0
je 0x1014540
lea eax, [ebp - 0x404]
mov dword [ebp - 0x808], eax
mov edi, eax
push 0x103
push edi
push ebx
push 0x10214c8
call fcn.010163b1
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x101456a
mov dword [esi], 0x327
jmp 0x1014786
push esi
push edi
mov dword [0x1021180], 1
call fcn.01013f48
xor ecx, ecx
cmp eax, ecx
mov dword [ebp - 0x810], eax
je 0x10146d4
cmp dword [esi], ecx
jne 0x10146d4
cmp byte [0x10215d0], cl
je 0x10145a7
mov dword [ebp - 0x80c], 0x10215d0
jmp 0x10145b2
add eax, 0x104
mov dword [ebp - 0x80c], eax
push dword [ebp - 0x80c]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call edi
mov ecx, dword [ebp - 0x808]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10145c9
sub ecx, esi
cmp ecx, eax
mov dword [ebp - 0x814], ecx
jle 0x10145e2
mov dword [ebp - 0x814], eax
push dword [ebp - 0x814]
mov esi, dword [ebp - 0x80c]
push dword [ebp - 0x808]
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10146b2
cmp byte [esi], al
je 0x101461e
push 0x1001914
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x10146b2
mov esi, dword [ebp - 0x810]
cmp dword [esi + 0x51c], 0
je 0x10146b2
mov eax, dword [esi + 0x520]
add eax, 0x210
mov cl, byte [eax]
neg cl
sbb ecx, ecx
test eax, ecx
je 0x10146b2
push dword [ebp - 0x80c]
mov dword [0x1021180], 1
call fcn.010129fe
mov eax, dword [esi + 0x520]
add eax, 0x210
mov cl, byte [eax]
neg cl
push ebx
mov esi, 0x10213c0
sbb ecx, ecx
and ecx, eax
push ecx
push ebx
push esi
call fcn.010163b1
add esp, 0x10
push esi
call edi
mov ecx, dword [ebp - 0x808]
mov edi, eax
add edi, esi
mov eax, 0x10214c4
sub eax, edi
push eax
mov eax, dword [ebp - 0x814]
add eax, ecx
push eax
push ebx
push edi
call fcn.010163b1
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add edi, eax
jmp 0x10146f8
and dword [0x1021180], 0
push ebx
push dword [ebp - 0x808]
mov esi, 0x10213c0
push ebx
push esi
call fcn.010163b1
add esp, 0x10
push esi
call edi
jmp 0x10146f4
push ebx
push edi
mov dword [esi], ecx
push ebx
mov esi, 0x10213c0
push esi
mov dword [0x1021180], ecx
call fcn.010163b1
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, esi
push dword [ebp - 0x810]
call fcn.01013449
cmp byte [0x10213c0], 0
je 0x1014726
mov al, byte [edi - 1]
cmp al, 0x2f
je 0x1014726
cmp al, 0x5c
je 0x1014726
mov eax, 0x10214c4
cmp edi, eax
jae 0x101472b
mov byte [edi], 0x2f
inc edi
jmp 0x101472b
mov eax, 0x10214c4
cmp dword [ebp - 0x81c], 0
je 0x101473e
sub eax, edi
push eax
push 0x10022cc
jmp 0x1014755
mov edx, dword [ebp - 0x818]
mov cl, byte [edx]
cmp cl, 0x2f
je 0x1014750
cmp cl, 0x5c
jne 0x1014751
inc edx
sub eax, edi
push eax
push edx
push ebx
push edi
call fcn.010163b1
add esp, 0x10
cmp dword [0x1021180], 0
mov al, 0x2f
mov cl, 0x5c
je 0x1014771
mov al, cl
add cl, 0xd3
cmp byte [0x10213c0], 0
je 0x1014786
cmp byte [esi], al
jne 0x1014780
mov byte [esi], cl
inc esi
cmp byte [esi], 0
jne 0x101477a
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.01015dd4
leave
ret 8