Function at 0x14005f160
Capabilities:
Encode data using xor
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14016d4c0]
xor rax, rsp
mov qword [rbp + 8], rax
xor ebx, ebx
mov dword [rbp - 0x20], ebx
cmp qword [rcx + 0x18], 0xf
jbe 0x14005f19d
mov rcx, qword [rcx]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x20]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0x14005f1ca
xor eax, eax
jmp 0x14005f649
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov ecx, ebx
test eax, eax
setne cl
mov edx, dword [rbp - 0x20]
add edx, ecx
mov dword [rbp - 0x20], edx
mov eax, ebx
mov ecx, reloc.WLDAP32.dll_Ordinal_50
mov r8, qword [0x14017a328]
cmp qword [r8 + 0x30], rax
cmove eax, ecx
add edx, eax
mov dword [rbp - 0x20], edx
mov rax, qword [r8 + 0x10]
neg rax
sbb ecx, ecx
neg ecx
lea eax, [rcx - 1]
add eax, edx
mov dword [rbp - 0x20], eax
lea rcx, [r8 + 0x20]
mov rdx, qword [r8 + 0x10]
mov r10, qword [rcx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r10
jb 0x14005f678
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x14005f23b
mov r9, qword [r8]
cmp qword [rcx + 0x18], 0xf
jbe 0x14005f245
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140009380
nop
lea r9, [rbp - 0x80]
mov rdi, qword [rbp - 0x80]
mov r14, qword [rbp - 0x68]
cmp r14, 0xf
cmova r9, rdi
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 0x70]
test r8, r8
je 0x14005f2b1
nop word [rax + rax]
movsx rax, byte [rdx + r9]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x14005f290
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
movabs r15, 0x5851f42d4c957f2d
test rax, rax
jne 0x14005f2de
imul r8, r15
inc r8
jmp 0x14005f2e1
mov r8, rax
mov rax, qword [0x14017a328]
sub r8, qword [rax + 0x40]
cmp byte [rax + 0x48], 0
sete al
lea rcx, [0x14014f28c]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], 5
mov byte [rbp - 0x30], al
movabs rax, 0x5000000000000000
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x2f], r8
movabs rax, 0x4000000000000001
mov qword [rbp - 0x38], rax
mov qword [rsp + 0x50], 2
lea rax, [rbp - 0x40]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.140008620
lea r9, [rbp - 0x60]
mov r10, qword [rbp - 0x60]
mov r11, qword [rbp - 0x48]
cmp r11, 0xf
cmova r9, r10
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 0x50]
test r8, r8
je 0x14005f3b1
nop dword [rax]
movsx rax, byte [rdx + r9]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x14005f390
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x14005f3d4
imul r8, r15
inc r8
jmp 0x14005f3d7
mov r8, rax
mov esi, ebx
mov ecx, gethostname
mov rax, qword [0x14017a248]
cmp qword [rax + 8], r8
cmovne esi, ecx
cmp r11, 0xf
jbe 0x14005f423
lea rdx, [r11 + 1]
mov rax, r10
cmp rdx, 0x1000
jb 0x14005f41b
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f67e
mov rcx, r10
call fcn.1400c4e5c
movdqa xmm0, xmmword [0x140150640]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
cmp r14, 0xf
jbe 0x14005f46b
lea rdx, [r14 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005f463
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f684
mov rcx, rdi
call fcn.1400c4e5c
mov ecx, dword [rbp - 0x20]
add ecx, esi
lea r14, str.:08X
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 6
mov dword [rsp + 0x68], ecx
movabs rdi, 0x2000000000000000
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], 1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x18]
call fcn.140008620
nop
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffffb
movabs rax, 0x393d93bf10c8e35b
imul rcx, rax
xor edx, edx
mov rax, qword [0x14017a248]
mov rax, qword [rax + 0x18]
div rcx
mov ecx, dword [rbp - 0x20]
imul ecx, eax
mov dword [rbp - 0x20], ecx
lea eax, [rcx + rsi]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 6
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x60], 1
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140008620
lea rdx, [rbp - 0x80]
mov r8, qword [rbp - 0x80]
mov r9, qword [rbp - 0x68]
cmp r9, 0xf
cmova rdx, r8
mov rcx, rbx
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x14005f5a1
nop word [rax + rax]
movsx rax, byte [rcx + rdx]
add rax, rbx
imul rbx, rax, 0x401
mov rax, rbx
shr rax, 6
xor rbx, rax
inc rcx
cmp rcx, rdi
jb 0x14005f580
lea rax, [rbx + rbx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x14005f5c4
imul rdi, r15
inc rdi
jmp 0x14005f5c7
mov rdi, rax
cmp r9, 0xf
jbe 0x14005f5fe
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x14005f5f6
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f68a
mov rcx, r8
call fcn.1400c4e5c
movdqa xmm0, xmmword [0x140150640]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x14005f646
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f641
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005f672
call fcn.1400c4e5c
mov rax, rdi
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1400c4df0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1400d3b88
int3
call fcn.140001a20
nop
call fcn.1400d3b88
nop
call fcn.1400d3b88
nop
call fcn.1400d3b88
int3