Function at 0x1800f3990
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x18029e198]
xor rax, rsp
mov qword [rsp + 0xf8], rax
mov ebx, r9d
mov qword [rsp + 0x48], r8
mov r12, rdx
mov qword [rsp + 0x30], rdx
mov rdi, rcx
mov qword [rsp + 0x28], rdx
mov rax, qword [rcx + 0x18]
test rax, rax
jne 0x1800f3a54
test bl, 1
je 0x1800f3a3f
lea rcx, [rdx + 8]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], sendto
mov byte [rcx], al
lea r8d, [rax + 6]
lea rdx, [0x180058878]
call fcn.180099770
lea r15, [0x1800567d8]
mov qword [r12], r15
mov rax, r12
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1801e67e0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1800f2320
lea rdx, [rax + 8]
lea rcx, [r12 + 8]
call fcn.1800905d0
jmp 0x1800f3a04
mov qword [rsp + 0x28], 0
lea rsi, [rax + 3]
mov qword [rsp + 0x38], rsi
mov rcx, rsi
call fcn.1801e6100
mov r15, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rax
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.18020be10
lea rsi, [rdi + 8]
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1800f3a99
mov rdx, qword [rsi]
mov r8, qword [rdi + 0x18]
mov rcx, r15
call fcn.18020b760
test bl, 2
jne 0x1800f3ae2
mov rdi, rsi
mov r14, qword [rsi + 0x18]
cmp r14, 0x10
jb 0x1800f3aba
mov rdi, qword [rsi]
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x1800f3ae2
mov edx, 0x20
mov rcx, rdi
call fcn.18020c090
test rax, rax
je 0x1800f3ae2
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x1800f3ae2
mov al, 1
jmp 0x1800f3ae8
xor al, al
mov r14, qword [rsi + 0x18]
mov byte [rsp + 0x20], al
mov rdi, r15
cmp r14, 0x10
jb 0x1800f3af8
mov rsi, qword [rsi]
test al, al
je 0x1800f3b04
mov byte [r15], 0x22
lea rdi, [r15 + 1]
movsx eax, byte [rsi]
movzx ecx, byte [rsi + 1]
cmp al, cl
jne 0x1800f3b13
cmp al, 0x5c
je 0x1800f3b1c
cmp al, 0x2f
je 0x1800f3b1c
xor r15b, r15b
jmp 0x1800f3b1f
mov r15b, 1
xor r14b, r14b
cmp cl, 0x3a
jne 0x1800f3b31
mov ecx, eax
call fcn.180114ff0
mov r14d, eax
xor r8d, r8d
mov qword [rsp + 0x70], r8
mov edx, select
mov qword [rsp + 0x78], rdx
mov byte [rsp + 0x60], r8b
lea rax, [0x1800567e8]
mov qword [rsp + 0x58], rax
xor r13b, r13b
mov dword [rsp + 0x24], r13d
test r15b, r15b
jne 0x1800f3bb3
test bl, 1
je 0x1800f3bb3
lea rcx, [rsp + 0x58]
call fcn.1800f44d0
lea rax, [rsp + 0x60]
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
cmovae rax, r9
cmp byte [rax + 1], 0x3a
jne 0x1800f3bae
lea rax, [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, r9
movsx ecx, byte [rax]
call fcn.180114ff0
mov r13d, eax
mov dword [rsp + 0x24], eax
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
test r14b, r14b
je 0x1800f3bde
test bl, 1
je 0x1800f3bc2
cmp r14b, r13b
je 0x1800f3c15
movsx ecx, byte [rsi]
call fcn.180114ff0
mov byte [rdi], al
mov byte [rdi + 1], 0x3a
add rdi, 2
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
test bl, 1
je 0x1800f3c15
cmp r14b, r13b
je 0x1800f3c15
mov byte [rsp + 0x50], r14b
mov word [rsp + 0x51], 0x3a
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rsp + 0x58]
call fcn.1800f44d0
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
jmp 0x1800f3c1d
xor r13b, r13b
mov dword [rsp + 0x24], r13d
neg r14b
sbb rbx, rbx
and ebx, 2
add rbx, rsi
test r8, r8
je 0x1800f3eae
lea rax, [rsp + 0x60]
mov r9, qword [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, r9
cmp byte [rax + 1], 0x3a
jne 0x1800f3c7c
mov eax, 2
cmp r8, rax
cmovb rax, r8
lea rcx, [rsp + 0x60]
cmp rdx, 0x10
cmovae rcx, r9
sub r8, rax
mov qword [rsp + 0x70], r8
inc r8
lea rdx, [rcx + rax]
call fcn.18020b760
mov r8, qword [rsp + 0x70]
movdqa xmm0, xmmword [0x180056d80]
movdqu xmmword [rsp + 0x98], xmm0
mov byte [rsp + 0x88], 0
lea r15, [0x1800567d8]
mov qword [rsp + 0x80], r15
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.1800f15a0
nop
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0xd8]
call fcn.1800905d0
mov qword [rsp + 0xd0], r15
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xb0]
call fcn.1800905d0
mov qword [rsp + 0xa8], r15
mov rax, qword [rsp + 0xe8]
test eax, eax
je 0x1800f3d1a
lea rcx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rcx, qword [rsp + 0xd8]
mov edx, eax
call qword [sym.imp.USER32.dll_CharUpperBuffA]
mov edx, dword [rsp + 0xc0]
test edx, edx
je 0x1800f3d45
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rcx, qword [rsp + 0xb0]
call qword [sym.imp.USER32.dll_CharUpperBuffA]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xd8]
call fcn.18009fc20
mov esi, eax
mov qword [rsp + 0xa8], r15
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x1800f3da8
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3da2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f409a
call fcn.1801e60f0
nop
movdqa xmm0, xmmword [0x180056d80]
movdqu xmmword [rsp + 0xc0], xmm0
mov byte [rsp + 0xb0], 0
mov qword [rsp + 0xd0], r15
mov rdx, qword [rsp + 0xf0]
cmp rdx, 0x10
jb 0x1800f3e0d
inc rdx
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3e07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f40a0
call fcn.1801e60f0
nop
test esi, esi
jne 0x1800f3e47
mov rax, qword [rsp + 0x70]
lea rcx, [rax + rbx]
movzx edx, byte [rcx]
test dl, dl
je 0x1800f3e3c
cmp dl, 0x5c
je 0x1800f3e36
cmp rax, 1
jne 0x1800f3e47
test r13b, r13b
jne 0x1800f3e47
inc rbx
jmp 0x1800f3e47
lea rbx, [rcx + 1]
jmp 0x1800f3e47
mov byte [rdi], 0x2e
inc rdi
add rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], r15
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x1800f3e93
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3e8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f40a6
call fcn.1801e60f0
nop
movdqa xmm0, xmmword [0x180056d80]
movdqu xmmword [rsp + 0x98], xmm0
mov byte [rsp + 0x88], 0
jmp 0x1800f3eb5
lea r15, [0x1800567d8]
mov r13d, 0x7fffffff
mov rax, qword [rsp + 0x48]
test rax, rax
cmovne r13, rax
mov r14, 0xffffffffffffffff
mov rsi, r14
inc rsi
cmp byte [rbx + rsi], 0
jne 0x1800f3ed1
cmp rsi, r13
jle 0x1800f3f38
xor cl, cl
cmp rsi, r13
jle 0x1800f3f33
mov r12, rbx
nop dword [rax]
inc rbx
movzx eax, byte [rbx]
test al, al
je 0x1800f3f30
cmp al, 0x5c
jne 0x1800f3ef0
test cl, cl
jne 0x1800f3f24
mov rdx, qword [rsp + 0x38]
sub rdx, rdi
add rdx, qword [rsp + 0x40]
lea r8, [0x180058884]
mov rcx, rdi
call fcn.180114c20
add rdi, 4
mov cl, 1
mov eax, ebx
sub eax, r12d
cdqe
sub rsi, rax
jmp 0x1800f3ee1
mov rbx, r12
mov r12, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
sub rdx, rdi
mov rsi, qword [rsp + 0x40]
add rdx, rsi
mov r8, rbx
mov rcx, rdi
call fcn.180114c20
mov rax, r14
inc rax
cmp byte [rdi + rax], 0
jne 0x1800f3f56
add rdi, rax
mov eax, dword [rsp + 0x24]
test al, al
je 0x1800f3f80
mov byte [rsp + 0x50], al
mov word [rsp + 0x51], 0x3a
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp byte [rsp + 0x20], 0
je 0x1800f3f8d
mov byte [rdi], 0x22
inc rdi
mov byte [rdi], 0
mov qword [rsp + 0x58], r15
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800f3fd3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3fcd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f40ac
call fcn.1801e60f0
nop
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], sendto
mov byte [rsp + 0x60], 0
lea rdx, [0x180056640]
test rsi, rsi
cmovne rdx, rsi
movdqa xmm0, xmmword [0x180056d80]
movdqu xmmword [rsp + 0x98], xmm0
mov byte [rsp + 0x88], 0
inc r14
cmp byte [rdx + r14], 0
jne 0x1800f4011
mov r8, r14
lea rcx, [rsp + 0x88]
call fcn.180099770
mov qword [rsp + 0x80], r15
mov rcx, rsi
call fcn.1801e60f0
lea rcx, [r12 + 8]
lea rdx, [rsp + 0x88]
call fcn.1800905d0
mov qword [r12], r15
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x1800f3a0f
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f408f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f40b2
call fcn.1801e60f0
nop
jmp 0x1800f3a0f
call fcn.18010f960
nop
call fcn.18010f960
nop
call fcn.18010f960
nop
call fcn.18010f960
nop
call fcn.18010f960
int3