Function at 0x14005f440
Capabilities:
Connect pipe
Create pipe
Get disk size

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x160], rbx
mov rax, qword [0x1401bce90]
xor rax, rsp
mov qword [rbp], rax
mov r13, rdx
mov r12, rcx
lea rcx, [rsp + 0x70]
call fcn.14005f360
mov r8, qword [rax]
mov qword [rbp - 0x10], r8
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.14005f110
nop
mov ecx, dword [0x1401c4d60]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
mov eax, 0x2e8ba2e9
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub r8d, edx
xor r15d, r15d
cmp r8d, 9
jne 0x14005f510
lea ecx, [r15 + 0x28]
call fcn.1400cd918
mov rdi, rax
mov ebx, r15d
call fcn.1400cebc4
add eax, dword [0x1401c4d60]
mov dword [rdi + rbx*4], eax
inc rbx
cmp rbx, 0xa
jl 0x14005f4e8
mov ecx, dword [rdi + 0x24]
mov dword [0x1401c4d60], ecx
mov rcx, rdi
call fcn.1400cf37c
lea r8, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.1400619c0
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], 0x2000
mov dword [rsp + 0x20], 0x2000
mov r9d, 1
xor r8d, r8d
mov edx, 0x40000001
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rsi, rax
mov rdi, rax
mov qword [rsp + 0x68], rax
mov r8d, dword [0x1401c4d60]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x6bca1af3
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub ecx, edx
cmp ecx, 0xe
jne 0x14005f59c
inc r8d
mov dword [0x1401c4d60], r8d
test rsi, rsi
jne 0x14005f5e7
lea rax, str.Failure_to_create_pipes_0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400d1758
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x70], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x70], rax
lea rdx, [0x1401874a8]
lea rcx, [rsp + 0x70]
call fcn.1400d61a8
int3
mov qword [rbp - 0x78], r15
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r14, rax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x60], rax
mov edx, dword [0x1401c4d60]
lea r8d, [rdx + 2]
lea ecx, [rdx + 1]
imul r8d, ecx
imul r8d, edx
mov eax, 0x6bca1af3
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x13
sub r8d, edx
cmp r8d, 0xb
jne 0x14005f65e
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test r14, r14
jne 0x14005f6a9
lea rax, str.Failure_to_create_pipes_1
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400d1758
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x1401874a8]
lea rcx, [rsp + 0x50]
call fcn.1400d61a8
int3
lea rdx, [rbp - 0x78]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x14005f996
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x14005f996
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
mov rbx, rax
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1401c4d60]
mov r8d, ecx
imul r8d, ecx
imul r8d, ecx
mov eax, 0x38e38e39
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub r8d, eax
cmp r8d, 7
jne 0x14005f7a6
test ecx, ecx
je 0x14005f7a6
mov eax, ecx
and eax, 0x80000001
jge 0x14005f750
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x14005f765
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [0x1401c4d60], eax
jmp 0x14005f772
lea ecx, [rcx*2 + 1]
mov dword [0x1401c4d60], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, ecx
sub edx, eax
je 0x14005f794
sub edx, 2
je 0x14005f797
dec edx
je 0x14005f799
jmp 0x14005f7a2
add ecx, 2
inc ecx
add ecx, 2
mov dword [0x1401c4d60], ecx
test ecx, ecx
jne 0x14005f740
test r15, r15
jne 0x14005f7f1
lea rax, str.Failure_to_create_pipes_3
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400d1758
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x1401874a8]
lea rcx, [rsp + 0x50]
call fcn.1400d61a8
int3
mov edx, 0x7d0
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14005f84a
lea rax, str.Failure_to_create_pipes_4
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400d1758
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x1401874a8]
lea rcx, [rsp + 0x50]
call fcn.1400d61a8
int3
lea rax, [rsp + 0x40]
cmp r12, rax
je 0x14005f879
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov rcx, qword [r12]
cmp r15, rcx
je 0x14005f879
test rcx, rcx
je 0x14005f875
cmp rcx, 0xffffffffffffffff
je 0x14005f875
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r12], r15
lea rax, [rsp + 0x68]
xor r15d, r15d
cmp r13, rax
je 0x14005f8ac
mov edi, r15d
mov qword [rsp + 0x68], r15
mov rcx, qword [r13]
cmp rsi, rcx
je 0x14005f8ac
test rcx, rcx
je 0x14005f8a8
cmp rcx, 0xffffffffffffffff
je 0x14005f8a8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r13], rsi
mov r8d, dword [0x1401c4d60]
mov ecx, r8d
imul ecx, r8d
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0x16
jne 0x14005f91a
mov eax, 0x51eb851f
imul r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub r8d, edx
add r8d, 0x7b
movsxd rcx, r8d
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400cd918
mov rcx, rax
call fcn.1400cf37c
nop
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14005f92e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp r14, 0xffffffffffffffff
je 0x14005f93e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14005f952
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rbp - 0x38], 8
jb 0x14005f962
mov rcx, qword [rbp - 0x50]
call fcn.1400ce2b0
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], r15
mov word [rbp - 0x50], r15w
cmp qword [rbp - 0x18], 8
jb 0x14005f983
mov rcx, qword [rbp - 0x30]
call fcn.1400ce2b0
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], r15
mov word [rbp - 0x30], r15w
jmp 0x14005f9dc
lea rax, str.Failure_to_create_pipes_2
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400d1758
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x1401874a8]
lea rcx, [rsp + 0x50]
call fcn.1400d61a8
nop
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400ce2d0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret