Function at 0x140054190
Capabilities:
Encode data using xor
Get storage device properties

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rbx, rcx
xor r12d, r12d
mov dword [rbp - 0x31], 0x870086
mov ecx, 0xf2
mov dword [rbp - 0x2d], 0x8100f2
mov dword [rbp - 0x29], 0xb7008e
mov dword [rbp - 0x25], 0x920099
mov dword [rbp - 0x21], 0x80008b
mov dword [rbp - 0x1d], 0x890085
mov dword [rbp - 0x19], 0x9500a2
mov dword [rbp - 0x15], 0x9f0081
mov dword [rbp - 0x11], 0xdb008f
mov eax, 0xec
mov word [rbp - 0xd], ax
mov eax, 0xed
xor ax, word [0x14007428e]
mov word [rbp - 0xb], ax
mov eax, 0xee
xor ax, word [str.WinHTTP_Example_1.0]
mov word [rbp - 9], ax
mov eax, 0xef
xor ax, word [0x140074292]
mov word [rbp - 7], ax
mov eax, 0xf0
xor ax, word [0x140074294]
mov word [rbp - 5], ax
mov eax, 0xf1
xor ax, word [0x140074296]
mov word [rbp - 3], ax
xor cx, word [0x140074298]
mov word [rbp - 1], cx
mov eax, 0xf3
xor ax, word [0x14007429a]
mov word [rbp + 1], ax
mov eax, 0xf4
xor ax, word [0x14007429c]
mov word [rbp + 3], ax
mov eax, 0xf5
xor ax, word [0x14007429e]
mov word [rbp + 5], ax
mov eax, 0xf6
xor ax, word [0x1400742a0]
mov word [rbp + 7], ax
mov eax, 0xf7
xor ax, word [0x1400742a2]
mov word [rbp + 9], ax
mov eax, 0xf8
xor ax, word [0x1400742a4]
mov word [rbp + 0xb], ax
mov eax, 0xf9
xor ax, word [0x1400742a6]
mov word [rbp + 0xd], ax
mov eax, 0xfa
xor ax, word [0x1400742a8]
mov word [rbp + 0xf], ax
mov eax, 0xfb
xor ax, word [0x1400742aa]
mov word [rbp + 0x11], ax
mov eax, 0xfc
xor ax, word [0x1400742ac]
mov word [rbp + 0x13], ax
mov eax, 0xfd
xor ax, word [0x1400742ae]
mov word [rbp + 0x15], ax
mov eax, 0xfe
xor ax, word [0x1400742b0]
mov word [rbp + 0x17], ax
xor eax, eax
mov word [rbp + 0x19], ax
mov ecx, r12d
mov edx, r12d
mov r8d, 0xda
nop word [rax + rax]
lea eax, [r8 + rcx]
xor word [rbp + rdx*2 - 0x31], ax
inc ecx
movsxd rdx, ecx
cmp rdx, 0x25
jb 0x140054330
mov word [rbp + 0x19], r12w
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 3]
lea rcx, [rbp - 0x31]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140054391
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r12b
jmp 0x1400544ee
lea rax, [0x140054510]
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x4d], r12
mov dword [rbp - 0x51], r12d
mov qword [rbp + 0x77], r12
mov dword [rbp + 0x6f], r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp + 0x77]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp - 0x51]
mov edx, 0x2d1400
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140054404
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
jmp 0x1400544df
mov esi, dword [rbp + 0x7b]
mov ecx, esi
call fcn.140064038
mov r15, rax
mov r8d, esi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x7f], r15
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rbp - 0x51]
mov edx, 0x2d1400
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140054474
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
mov rcx, r15
call fcn.140063c10
nop
jmp 0x1400544df
mov eax, dword [r15 + 0x18]
test eax, eax
jne 0x14005449b
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0xf
mov byte [rbx], al
mov rcx, r15
call fcn.140063c10
nop
jmp 0x1400544df
lea rdi, [r15 + rax]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x1400544c0
mov rdx, rdi
mov rcx, rbx
call fcn.1400417c0
nop
mov rcx, r15
call fcn.140063c10
nop
test r14, r14
je 0x1400544ee
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, rbx
add rsp, 0xc0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret