Function at 0x1800f3a70
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 0x1800f3b34
test bl, 1
je 0x1800f3b1f
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.1801e68c0
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.1800f2400
lea rdx, [rax + 8]
lea rcx, [r12 + 8]
call fcn.1800905d0
jmp 0x1800f3ae4
mov qword [rsp + 0x28], 0
lea rsi, [rax + 3]
mov qword [rsp + 0x38], rsi
mov rcx, rsi
call fcn.1801e61e0
mov r15, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rax
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.18020bef0
lea rsi, [rdi + 8]
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1800f3b79
mov rdx, qword [rsi]
mov r8, qword [rdi + 0x18]
mov rcx, r15
call fcn.18020b840
test bl, 2
jne 0x1800f3bc2
mov rdi, rsi
mov r14, qword [rsi + 0x18]
cmp r14, 0x10
jb 0x1800f3b9a
mov rdi, qword [rsi]
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x1800f3bc2
mov edx, 0x20
mov rcx, rdi
call fcn.18020c170
test rax, rax
je 0x1800f3bc2
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x1800f3bc2
mov al, 1
jmp 0x1800f3bc8
xor al, al
mov r14, qword [rsi + 0x18]
mov byte [rsp + 0x20], al
mov rdi, r15
cmp r14, 0x10
jb 0x1800f3bd8
mov rsi, qword [rsi]
test al, al
je 0x1800f3be4
mov byte [r15], 0x22
lea rdi, [r15 + 1]
movsx eax, byte [rsi]
movzx ecx, byte [rsi + 1]
cmp al, cl
jne 0x1800f3bf3
cmp al, 0x5c
je 0x1800f3bfc
cmp al, 0x2f
je 0x1800f3bfc
xor r15b, r15b
jmp 0x1800f3bff
mov r15b, 1
xor r14b, r14b
cmp cl, 0x3a
jne 0x1800f3c11
mov ecx, eax
call fcn.1801150d0
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 0x1800f3c93
test bl, 1
je 0x1800f3c93
lea rcx, [rsp + 0x58]
call fcn.1800f45b0
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 0x1800f3c8e
lea rax, [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, r9
movsx ecx, byte [rax]
call fcn.1801150d0
mov r13d, eax
mov dword [rsp + 0x24], eax
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
test r14b, r14b
je 0x1800f3cbe
test bl, 1
je 0x1800f3ca2
cmp r14b, r13b
je 0x1800f3cf5
movsx ecx, byte [rsi]
call fcn.1801150d0
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 0x1800f3cf5
cmp r14b, r13b
je 0x1800f3cf5
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.1800f45b0
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
jmp 0x1800f3cfd
xor r13b, r13b
mov dword [rsp + 0x24], r13d
neg r14b
sbb rbx, rbx
and ebx, 2
add rbx, rsi
test r8, r8
je 0x1800f3f8e
lea rax, [rsp + 0x60]
mov r9, qword [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, r9
cmp byte [rax + 1], 0x3a
jne 0x1800f3d5c
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.18020b840
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.1800f1680
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 0x1800f3dfa
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 0x1800f3e25
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 0x1800f3e88
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3e82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f417a
call fcn.1801e61d0
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 0x1800f3eed
inc rdx
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3ee7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f4180
call fcn.1801e61d0
nop
test esi, esi
jne 0x1800f3f27
mov rax, qword [rsp + 0x70]
lea rcx, [rax + rbx]
movzx edx, byte [rcx]
test dl, dl
je 0x1800f3f1c
cmp dl, 0x5c
je 0x1800f3f16
cmp rax, 1
jne 0x1800f3f27
test r13b, r13b
jne 0x1800f3f27
inc rbx
jmp 0x1800f3f27
lea rbx, [rcx + 1]
jmp 0x1800f3f27
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 0x1800f3f73
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f3f6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f4186
call fcn.1801e61d0
nop
movdqa xmm0, xmmword [0x180056d80]
movdqu xmmword [rsp + 0x98], xmm0
mov byte [rsp + 0x88], 0
jmp 0x1800f3f95
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 0x1800f3fb1
cmp rsi, r13
jle 0x1800f4018
xor cl, cl
cmp rsi, r13
jle 0x1800f4013
mov r12, rbx
nop dword [rax]
inc rbx
movzx eax, byte [rbx]
test al, al
je 0x1800f4010
cmp al, 0x5c
jne 0x1800f3fd0
test cl, cl
jne 0x1800f4004
mov rdx, qword [rsp + 0x38]
sub rdx, rdi
add rdx, qword [rsp + 0x40]
lea r8, [0x180058884]
mov rcx, rdi
call fcn.180114d00
add rdi, 4
mov cl, 1
mov eax, ebx
sub eax, r12d
cdqe
sub rsi, rax
jmp 0x1800f3fc1
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.180114d00
mov rax, r14
inc rax
cmp byte [rdi + rax], 0
jne 0x1800f4036
add rdi, rax
mov eax, dword [rsp + 0x24]
test al, al
je 0x1800f4060
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 0x1800f406d
mov byte [rdi], 0x22
inc rdi
mov byte [rdi], 0
mov qword [rsp + 0x58], r15
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800f40b3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f40ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f418c
call fcn.1801e61d0
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 0x1800f40f1
mov r8, r14
lea rcx, [rsp + 0x88]
call fcn.180099770
mov qword [rsp + 0x80], r15
mov rcx, rsi
call fcn.1801e61d0
lea rcx, [r12 + 8]
lea rdx, [rsp + 0x88]
call fcn.1800905d0
mov qword [r12], r15
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x1800f3aef
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f416f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800f4192
call fcn.1801e61d0
nop
jmp 0x1800f3aef
call fcn.18010fa40
nop
call fcn.18010fa40
nop
call fcn.18010fa40
nop
call fcn.18010fa40
nop
call fcn.18010fa40
int3