Function at 0x140063f40
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x250
mov rax, qword [0x14031d040]
xor rax, rsp
mov qword [rsp + 0x248], rax
mov sil, 1
cmp qword [0x14032f540], 0
je 0x140063fa2
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.1401f08b0
mov eax, esi
add rsp, 0x250
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rdi + 0x17], r12b
mov rcx, rdi
jmp 0x140064072
mov rdi, qword [0x14032f548]
test rdi, rdi
jne 0x140064189
movabs rbx, 0x7fffffffffffffff
mov ecx, 0x18
call fcn.1401ef3e0
mov r14, rax
mov rdi, rax
lea r15, [rsp + 0x40]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.140235e90
xor ecx, ecx
mov rdx, r15
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x1402825c0]
movups xmmword [r14], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r14 + 0x10], rax
mov rcx, r15
call fcn.14021cf84
mov r12, rax
lea rax, [rbx - 8]
cmp r12, rax
ja 0x1400644ee
cmp r12, 0xa
jbe 0x140063f96
lea rax, [rbx - 3]
and rax, r12
add rax, 4
mov r13, r12
or r13, 3
cmp r13, 0xb
cmove r13, rax
inc r13
js 0x1400644e9
lea rcx, [r13*2]
call fcn.1401ef3e0
mov rcx, rax
mov qword [rdi], rax
lea rax, [rbx + r13]
inc rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r12
lea r13, [rcx + r12*2]
cmp rcx, r15
seta al
cmp r13, r15
setbe dl
or dl, al
je 0x1400644e7
test r12, r12
je 0x14006409f
add r12, r12
lea rdx, [rsp + 0x40]
mov r8, r12
call fcn.1402357f0
mov word [r13], 0
movsx rax, byte [rdi + 0x17]
test rax, rax
mov r8, qword [rdi + 8]
mov r9, rax
cmovs r9, r8
mov rcx, qword [rdi]
cmovs r14, rcx
test r9, r9
je 0x140064109
add r9, r9
test r9, r9
je 0x140064109
lea rdx, [r9 - 2]
cmp word [r14 + r9 - 2], 0x5c
mov r9, rdx
jne 0x1400640c8
cmp rdx, 0xfffffffffffffffe
je 0x140064109
sar rdx, 1
lea r9, [rdx + 1]
test al, al
jns 0x1400644d2
cmp r8, rdx
jbe 0x1400644f6
mov qword [rdi + 8], r9
mov word [rcx + rdx*2 + 2], 0
mov al, byte [rdi + 0x17]
test al, al
jns 0x1400643e0
and rbx, qword [rdi + 0x10]
dec rbx
mov r9, qword [rdi + 8]
mov rax, rbx
sub rax, r9
cmp rax, 9
jb 0x1400643a3
mov rax, qword [rdi]
lea rcx, [rax + r9*2]
lea rdx, [rax + r9*2]
add rdx, 0x12
lea r8, str.debug.log
cmp rcx, r8
seta r10b
cmp rdx, r8
setbe dl
or dl, r10b
je 0x1400644e7
movups xmm0, xmmword [str.debug.log]
movups xmmword [rcx], xmm0
mov word [rcx + 0x10], 0x67
lea rcx, [r9 + 9]
cmp byte [rdi + 0x17], 0
jns 0x140064393
mov qword [rdi + 8], rcx
mov word [rax + r9*2 + 0x12], 0
mov qword [0x14032f548], rdi
test byte [reloc.WS2_32.dll_accept], 1
je 0x140063f71
cmp byte [rdi + 0x17], 0
jns 0x14006419f
mov rdi, qword [rdi]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov rcx, rdi
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x14032f540], rax
inc rax
cmp rax, 1
ja 0x140063f71
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.140235e90
mov word [rdi], 0
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xfffffefb
cmp eax, 0xfffffefc
jb 0x14006438c
mov rcx, qword [0x14032f548]
lea rdx, [rsp + 0x40]
call fcn.14004d7f0
movabs rdi, 0x7fffffffffffffff
mov rcx, qword [0x14032f548]
movsx rdx, byte [rcx + 0x17]
test rdx, rdx
js 0x140064440
test dl, dl
je 0x1400644e7
cmp word [rcx + rdx*2 - 2], 0x5c
je 0x1400642b0
mov rax, rcx
cmp dl, 0xa
je 0x140064483
lea r8, [rax + rdx*2]
lea r9, [rax + rdx*2]
add r9, 2
lea r10, [0x14029d5ee]
cmp r8, r10
seta r11b
cmp r9, r10
setbe r9b
or r9b, r11b
je 0x1400644e7
mov word [r8], 0x5c
lea r8, [rdx + 1]
cmp byte [rcx + 0x17], 0
jns 0x1400644c5
mov qword [rcx + 8], r8
mov word [rax + rdx*2 + 2], 0
movsx r9, byte [rcx + 0x17]
test r9, r9
jns 0x140064471
and rdi, qword [rcx + 0x10]
dec rdi
mov r9, qword [rcx + 8]
mov rax, rdi
sub rax, r9
cmp rax, 9
jb 0x140064406
mov rax, qword [rcx]
lea rdx, [rax + r9*2]
lea r8, [rax + r9*2]
add r8, 0x12
lea r10, str.debug.log
cmp rdx, r10
seta r11b
cmp r8, r10
setbe r8b
or r8b, r11b
je 0x1400644e7
movups xmm0, xmmword [str.debug.log]
movups xmmword [rdx], xmm0
mov word [rdx + 0x10], 0x67
lea rdx, [r9 + 9]
cmp byte [rcx + 0x17], 0
jns 0x1400643f6
mov qword [rcx + 8], rdx
mov word [rax + r9*2 + 0x12], 0
mov rcx, qword [0x14032f548]
cmp byte [rcx + 0x17], 0
jns 0x140064340
mov rcx, qword [rcx]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x14032f540], rax
inc rax
cmp rax, 1
ja 0x140063f71
mov qword [0x14032f540], 0
xor esi, esi
jmp 0x140063f71
and cl, 0x7f
mov byte [rdi + 0x17], cl
jmp 0x14006417a
mov ebx, 0xa
mov r8, r9
sub r8, rbx
add r8, 9
lea rax, str.debug.log
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x28], 0
mov rcx, rdi
mov rdx, rbx
call fcn.14004d230
jmp 0x140064182
movzx r9d, al
lea rax, [r9 - 2]
cmp rax, 9
jb 0x14006439e
mov rax, rdi
jmp 0x14006412f
and dl, 0x7f
mov byte [rcx + 0x17], dl
jmp 0x140064328
mov edi, 0xa
mov r8, r9
sub r8, rdi
add r8, 9
lea rax, str.debug.log
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x28], 0
mov rdx, rdi
call fcn.14004d230
jmp 0x140064330
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1400644e7
mov rax, qword [rcx]
cmp word [rax + rdx*2 - 2], 0x5c
je 0x1400642b0
mov r8, qword [rcx + 0x10]
and r8, rdi
dec r8
cmp r8, rdx
jne 0x140064267
jmp 0x140064488
lea rax, [r9 - 2]
cmp rax, 9
jb 0x140064401
mov rax, rcx
jmp 0x1400642dc
mov edx, 0xa
lea rax, [0x14029d5ee]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
mov r8d, 1
mov r9, rdx
call fcn.14004d230
mov rcx, qword [0x14032f548]
jmp 0x1400642b0
and r8b, 0x7f
mov byte [rcx + 0x17], r8b
jmp 0x1400642a9
cmp rdx, rax
jae 0x1400644f6
and r9b, 0x7f
mov byte [rdi + 0x17], r9b
mov rcx, rdi
jmp 0x1400640ff
ud2
call fcn.140236a70
mov rcx, rdi
call fcn.140236a90
mov rcx, rdi
call fcn.140236f60
int3