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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x468]
sub rsp, 0x540
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400d41c0]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov r14, rcx
mov qword [rbp - 0x50], rcx
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x20], ebx
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp]
call fcn.1400a6f00
lea rdx, [rbp]
mov ecx, 0x100
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x140004d65
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x200]
call fcn.1400a6f00
lea rdi, [rbp]
cmp word [rbp], bx
je 0x140004d65
lea r13, [0x1400d76f8]
mov r15d, dword [reloc.WS2_32.dll_accept]
nop dword [rax + rax]
movups xmm0, xmmword [str.bP__VZAdQAeyy]
movups xmmword [rsp + 0x28], xmm0
movups xmm1, xmmword [0x1400c5d90]
movups xmmword [rsp + 0x38], xmm1
mov eax, dword [0x1400c5da0]
mov dword [rsp + 0x48], eax
mov ecx, r12d
cmp r15d, 2
jl 0x14000493a
movdqa xmm5, xmmword [0x1400c5f80]
movdqa xmm4, xmmword [0x1400c6000]
movdqa xmm6, xmmword [0x1400c5fb0]
movdqa xmm7, xmmword [0x1400c5fc0]
lea rdx, [rsp + 0x28]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx]
xorps xmm3, xmm0
movq qword [rdx], xmm3
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rdx + 8]
xorps xmm3, xmm0
movq qword [rdx + 8], xmm3
add ecx, 8
lea rdx, [rdx + 0x10]
cmp ecx, 0x10
jl 0x140004850
cmp ecx, 0x12
jge 0x140004980
movsxd rax, ecx
lea r8, [rsp + 0x28]
lea r8, [r8 + rax*2]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul edx, eax, 0x36
movzx eax, cx
sub ax, dx
add ax, 0x30
xor word [r8], ax
inc ecx
lea r8, [r8 + 2]
cmp ecx, 0x12
jl 0x140004950
lea r8, [rbp + 0x200]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1400045c0
test al, al
je 0x140004d47
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
lea rax, [rbp + 0x200]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400049c0
lea rdx, [rbp + 0x200]
lea rcx, [rbp - 0x28]
call fcn.14000bc20
nop
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
seta r9b
cmova rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
lea r8, [rdx + rax*2]
lea rdx, [rbp - 0x28]
test r9b, r9b
cmovne rdx, qword [rbp - 0x28]
lea r9, [rsp + 0x24]
lea rcx, [rbp - 0x48]
call fcn.14000b2a0
nop
mov rax, qword [rbp - 0x38]
lea r8, [rax - 0x12]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
lea rcx, [rsp + 0x28]
call fcn.14000bea0
or ebx, 0x20
or ebx, 1
mov dword [rsp + 0x20], ebx
lea rdx, [0x1400d7658]
cmp qword [0x1400d7670], 0xf
cmova rdx, qword [0x1400d7658]
mov r8, qword [0x1400d7668]
lea rcx, [rsp + 0x28]
call fcn.14000aa90
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or ebx, 0x40
or ebx, 2
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x70]
call fcn.1400043a0
test al, al
je 0x140004b7a
mov rax, qword [rbp - 0x38]
lea r8, [rax - 0x12]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
lea rcx, [rbp - 0x70]
call fcn.14000bea0
bts ebx, 7
or ebx, 4
mov dword [rsp + 0x20], ebx
mov rdx, r13
cmp qword [0x1400d7710], 0xf
cmova rdx, qword [0x1400d76f8]
mov r8, qword [0x1400d7708]
lea rcx, [rbp - 0x70]
call fcn.14000aa90
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
bts ebx, 8
or ebx, 8
mov dword [rsp + 0x20], ebx
lea rcx, [rsp + 0x50]
call fcn.1400043a0
test al, al
je 0x140004b7a
mov sil, 1
jmp 0x140004b7d
xor sil, sil
test bl, 8
je 0x140004bd5
and ebx, 0xfffffff7
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140004bc2
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004bbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e7e
call fcn.140073fd0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x50], 0
test bl, 4
je 0x140004c28
and ebx, 0xfffffffb
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140004c18
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e84
call fcn.140073fd0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x70], 0
test bl, 2
je 0x140004c7d
and ebx, 0xfffffffd
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140004c6c
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e8a
call fcn.140073fd0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], 0
test bl, 1
je 0x140004cc2
and ebx, 0xfffffffe
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140004cc2
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004cbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e90
call fcn.140073fd0
test sil, sil
jne 0x140004dc6
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140004d07
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e96
call fcn.140073fd0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x140004d47
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004d42
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e78
call fcn.140073fd0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rdi, [rdi + rcx*2]
add rdi, 2
cmp word [rdi], 0
jne 0x1400047f0
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r12
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, str.Path_Not_Found
mov rcx, r14
call fcn.14000bea0
mov rax, r14
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.140073fb0
lea r11, [rsp + 0x540]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rax, qword [rbp - 0x38]
lea r8, [rax - 0x12]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r12
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
mov rcx, r14
call fcn.14000bea0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140004e33
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e96
call fcn.140073fd0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x140004d89
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004e78
call fcn.140073fd0
jmp 0x140004d89
call fcn.1400804dc
nop
call fcn.1400804dc
nop
call fcn.1400804dc
nop
call fcn.1400804dc
nop
call fcn.1400804dc
nop
call fcn.1400804dc
int3