Function at 0x18006fb10
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea ebp, [r8 + 0x12]
mov rsi, rdx
mov r14, r9
mov rdx, rcx
cmp r8d, ebp
jae case.0x18006fb84.3
mov r15d, dword [rsp + 0xe0]
lea edi, [r8 - 0x10b]
mov r12, qword [rsp + 0x58]
lea r8, [0x180000000]
mov r13d, dword [rsp + 0xe0]
xor ebx, ebx
cmp edi, 0x4b
ja case.0x18006fb84.17
movzx eax, byte [r8 + rdi + 0x6ff00]
mov ecx, dword [r8 + rax*4 + 0x6feb8]
add rcx, r8
jmp rcx
mov dword [rsp + 0xe0], ebx
jmp case.0x18006fb84.17
mov qword [rsp + 0x28], rbx
mov r9d, 0x62
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
call fcn.180064120
mov qword [rsp + 0x48], rax
cmp rax, 0
jne 0x18006fdde
mov dword [rsp + 0x38], 0xffffffff
jmp case.0x18006fb84.3
mov eax, dword [rsp + 0xe0]
lea r8, [rsp + 0x30]
mov r9d, 0xaa
mov dword [rsp + 0x30], eax
mov rdx, rsi
xor ecx, ecx
call fcn.1800e4c20
mov dword [rsp + 0x38], ebx
jmp 0x18006fdde
cmp qword [rsp + 0x40], rbx
je 0x18006fbbd
jmp case.0x18006fb84.17
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x30]
mov r9d, 0xa7
mov dword [rsp + 0x30], 0x200
xor r8d, r8d
call fcn.180056ec0
mov rax, qword [rsp + 0x40]
lea rcx, [0x1800857b0]
mov rdx, qword [rsp + 0xd0]
lea r8, [0x180000000]
mov qword [rsi + 0x18], rax
mov rax, qword [rdx]
test rax, rax
cmovne rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x28], rcx
lea rcx, [0x18000adc0]
mov rax, qword [rax]
test rax, rax
cmovne rcx, rax
mov qword [rsi + 0x20], rcx
jmp case.0x18006fb84.17
test rsi, rsi
je 0x18006fe1e
cmp dword [rsi + 0xa18], 0xbad1dead
je 0x18006fe1e
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov r8, rsi
mov edx, 0x84
xor ecx, ecx
call fcn.180098b00
mov r12, rax
jmp 0x18006fdde
mov edx, dword [r14 + 0x58]
lea rax, [r14 + 0x48]
mov qword [rsp + 0x50], rax
mov r15d, ebx
test edx, edx
je 0x18006fde5
mov r8, qword [rsi + 0x748]
mov rcx, qword [rax + 8]
call qword [rsi + 0x740]
mov rcx, qword [rsp + 0x50]
lea r8, [0x180000000]
mov rdx, qword [rsp + 0xd0]
mov r15d, eax
mov ecx, dword [rcx + 0x10]
add dword [rsi + 0x728], ecx
cmp eax, 0xfffffff6
je case.0x18006fb84.17
mov r15d, ebx
jmp case.0x18006fb84.17
mov dword [rsi + 0x30], 0x40
mov qword [rsi], r14
mov dword [rsi + 0x50], 0xdead635a
jmp case.0x18006fb84.17
test r12, r12
je 0x18006fe1e
xor r9d, r9d
mov dword [rsp + 0x30], 0x48
lea r8, [rsp + 0x30]
mov rcx, rsi
lea edx, [r9 + 0x7c]
call fcn.18008b680
mov qword [rsp + 0x58], rax
test rax, rax
je 0x18006fe02
mov r9d, 0x10
mov r8, rsi
mov rdx, rax
mov rcx, r12
call fcn.1800b3920
jmp 0x18006fdde
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov r13d, eax
jmp 0x18006fdde
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
jmp case.0x18006fb84.17
mov r9d, 0xa7
mov dword [rsp + 0x30], 0x58
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.180056ec0
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0x200
mov edx, 0x7a
mov rcx, r14
call fcn.180089dc0
mov qword [rsp + 0x40], rax
jmp 0x18006fdde
cmp dword [r14], ebx
jle case.0x18006fb84.17
mov rax, qword [rdx]
lea r8, [rsp + 0xe0]
xor edx, edx
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov ecx, 0xac
call fcn.180093140
lea r8, [0x180000000]
mov rdx, qword [rsp + 0xd0]
inc edi
lea eax, [rdi + 0x10b]
cmp eax, ebp
jb 0x18006fb67
jmp case.0x18006fb84.3
xor r8d, r8d
mov dword [rsp + 0x30], 1
lea r9, [rsp + 0x30]
mov rdx, r12
lea ecx, [r8 + 0x77]
call fcn.18003fca0
mov rax, rbx
jmp 0x18006fe9d
cmp dword [rdx], ebx
je 0x18006fe4b
mov qword [rsp + 0x28], r14
mov r9d, 0xbc
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
xor ecx, ecx
call fcn.1800097d0
mov dword [rsp + 0x38], r15d
jmp case.0x18006fb84.3
mov rax, qword [rsp + 0x50]
lea rcx, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8d, [r9 + 0x79]
call fcn.1800d9350
mov dword [rsp + 0x38], r15d
jmp case.0x18006fb84.3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
neg r13d
sbb eax, eax
neg eax
dec eax
mov dword [rsp + 0x38], eax
jmp case.0x18006fb84.3
mov dword [rsp + 0x38], ebx
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret