Function at 0x140020360
Capabilities:
Set current directory

Disassembly:
push rsi
push rdi
push r13
push r14
sub rsp, 0x548
xor r8d, r8d
mov dword [rsp + 0x540], r8d
mov r13, rcx
mov byte [rsp + 0x544], r8b
mov esi, 0x100
pxor xmm0, xmm0
movdqu xmmword [rsp + rsi + 0x430], xmm0
movdqu xmmword [rsp + rsi + 0x420], xmm0
movdqu xmmword [rsp + rsi + 0x410], xmm0
movdqu xmmword [rsp + rsi + 0x400], xmm0
sub rsi, 0x40
jne 0x14002038c
mov rax, r13
lea rdx, [0x14023c061]
call fcn.140063bc0
test rax, rax
je 0x1400203e6
mov rcx, r13
call fcn.140020880
mov r13, rax
mov rax, r13
add rsp, 0x548
pop r14
pop r13
pop rdi
pop rsi
ret
mov rax, r13
mov r11d, 0x3a
mov rcx, rax
and ecx, 0xf
and rax, 0xfffffffffffffff0
pxor xmm2, xmm2
movd xmm1, r11d
punpcklbw xmm1, xmm1
punpcklbw xmm1, xmm1
pshufd xmm1, xmm1, 0
movdqa xmm0, xmmword [rax]
pcmpeqb xmm2, xmm0
pcmpeqb xmm0, xmm1
pmovmskb r11d, xmm0
pmovmskb r10d, xmm2
shr r11d, cl
shr r10d, cl
test r11d, r11d
jne 0x140020437
test r10d, r10d
je 0x140020452
jmp 0x14002044e
bsf r11d, r11d
bsf r10d, r10d
je 0x140020446
cmp r11d, r10d
jg 0x14002044e
add rax, rcx
add rax, r11
jmp 0x140020457
xor eax, eax
jmp 0x140020457
call fcn.140063f80
test rax, rax
je 0x14002051f
xor esi, esi
mov dil, byte [rsi + r13]
mov byte [rsp + rsi + 0x32f], dil
cmp dil, 0x3a
je 0x14002086f
inc rsi
cmp rsi, 0x104
jl 0x140020462
je 0x14002051f
mov edx, 0x104
lea rcx, [rsp + 0x125]
call fcn.1400bc0f4
test rax, rax
je 0x14002051f
lea rcx, [rsp + 0x32f]
call fcn.1400d1510
mov edx, 0x104
lea rcx, [rsp + 0x20]
call fcn.1400bc0f4
mov rdi, rax
lea rcx, [rsp + 0x125]
call fcn.1400d1510
test rdi, rdi
je 0x14002051f
mov rcx, rdi
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x1400204ef
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x1400204d7
dec rax
inc rax
mov rcx, rax
call fcn.1400b20b8
mov r8, rax
mov rsi, r8
mov dl, byte [rdi]
inc rdi
mov byte [rsi], dl
inc rsi
test dl, dl
jne 0x140020500
mov rax, r8
add rsp, 0x548
pop r14
pop r13
pop rdi
pop rsi
ret
mov rdx, r13
xor esi, esi
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x14002054c
mov rax, rdx
add rdx, rcx
call fcn.140063450
test eax, eax
jl 0x140020597
movsx ecx, byte [rsi + r13]
call fcn.1400ba1d0
mov rdx, r13
mov byte [rsp + rsi + 0x440], al
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x14002058c
mov rax, rdx
add rdx, rcx
call fcn.140063450
movsxd rdi, eax
inc rsi
cmp rsi, rdi
jle 0x140020550
lea rdx, [0x14023c064]
lea rcx, [rsp + 0x440]
call fcn.140020a90
test rax, rax
je 0x140020856
lea rdx, [rsp + 0x22a]
lea rcx, [rsp + 0x440]
test cl, 3
je 0x1400205dc
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1400205e1
inc rdx
test cl, 3
jne 0x1400205c9
call fcn.140063480
mov edx, 0x104
lea rcx, [rsp + 0x125]
call fcn.1400bc0f4
test rax, rax
je 0x140020663
lea rdx, [rsp + 0x22a]
lea rcx, [rsp + 0x125]
test cl, 3
je 0x140020620
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x140020625
inc rdx
test cl, 3
jne 0x14002060d
call fcn.140063480
lea rdx, [0x14023c069]
lea rax, [rsp + 0x22a]
call fcn.140063fc0
lea rax, [rsp + 0x22a]
lea rdx, [rsp + 0x440]
call fcn.140063fc0
lea rcx, [rsp + 0x22a]
call fcn.1400209d0
test eax, eax
jne 0x1400207b3
lea rcx, str.PATH
call fcn.14008751c
mov rsi, rax
test rsi, rsi
je 0x14002079e
mov rdx, rsi
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1400206a6
mov rax, rdx
add rdx, rcx
call fcn.140063450
inc rax
mov rcx, rax
call fcn.1400b20b8
mov r14, rax
mov rdx, r14
mov rcx, rsi
test cl, 3
je 0x1400206d2
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1400206d7
inc rdx
test cl, 3
jne 0x1400206bf
call fcn.140063480
mov rcx, r14
lea rdx, [0x14023c070]
call fcn.140064160
mov rdi, rax
test rdi, rdi
je 0x140020796
mov rcx, rdi
lea rdx, [rsp + 0x22a]
test cl, 3
je 0x140020715
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x14002071a
inc rdx
test cl, 3
jne 0x140020702
call fcn.140063480
lea rdx, [0x14023c069]
lea rax, [rsp + 0x22a]
call fcn.140063fc0
lea rax, [rsp + 0x22a]
lea rdx, [rsp + 0x440]
call fcn.140063fc0
lea rcx, [rsp + 0x22a]
call fcn.1400209d0
test eax, eax
jne 0x14002080d
lea rdx, [0x14023c064]
lea rax, [rsp + 0x22a]
call fcn.140063fc0
mov rcx, rax
call fcn.1400209d0
test eax, eax
jne 0x14002080d
xor ecx, ecx
lea rdx, [0x14023c070]
call fcn.140064160
mov rdi, rax
test rdi, rdi
jne 0x1400206f2
mov rcx, r14
call fcn.140086ae8
lea rax, [0x14023c072]
add rsp, 0x548
pop r14
pop r13
pop rdi
pop rsi
ret
lea rcx, [rsp + 0x125]
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x1400207d5
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x1400207bd
dec rax
inc rax
mov rcx, rax
call fcn.1400b20b8
mov rcx, rax
mov rsi, rcx
lea rdi, [rsp + 0x125]
mov dl, byte [rdi]
inc rdi
mov byte [rsi], dl
inc rsi
test dl, dl
jne 0x1400207ee
mov rax, rcx
add rsp, 0x548
pop r14
pop r13
pop rdi
pop rsi
ret
mov rcx, rdi
xor eax, eax
movzx edx, byte [rcx + rax]
test edx, edx
je 0x14002082a
movzx edx, byte [rcx + rax + 1]
add rax, 2
test edx, edx
jne 0x140020812
dec rax
inc rax
mov rcx, rax
call fcn.1400b20b8
mov r13, rax
mov rsi, r13
mov dl, byte [rdi]
inc rdi
mov byte [rsi], dl
inc rsi
test dl, dl
jne 0x14002083b
mov rcx, r14
call fcn.140086ae8
jmp 0x1400203d5
lea rdx, [0x14023c064]
lea rax, [rsp + 0x440]
call fcn.140063fc0
jmp 0x1400205b4
mov byte [rsp + rsi + 0x330], 0
jmp 0x14002048a