Function at 0x180021c80
Capabilities:
Connect pipe
Read pipe
Write pipe

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3e0]
sub rsp, 0x4e0
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
imul r12d, edx, 0x708
mov r15, r8
xor r8d, r8d
mov qword [rsp + 0x40], rcx
mov esi, edx
mov rax, rcx
mov ebx, edx
cmp edx, r12d
ja 0x180021e97
mov edi, dword [rsp + 0x48]
lea edx, [r8 + 0x63]
mov r14, qword [rsp + 0x40]
lea ecx, [rdx - 0x31]
imul r13d, esi, 0xb4
nop dword [rax]
cmp ebx, 0x3e38
ja 0x180021da7
je 0x180021d97
cmp ebx, 8
je 0x180021d8f
cmp ebx, 0x58
je 0x180021d6e
cmp ebx, 0xfe
je 0x180021d64
cmp ebx, 0xb48
jne 0x180021e8b
mov eax, dword [rax]
xor r9d, r9d
mov dword [rsp + 0x48], eax
mov edx, 0x85
lea rax, [rsp + 0x48]
xor ecx, ecx
mov qword [rsp + 0x30], rax
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x28], r8
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.180030930
mov ecx, 0x32
xor r8d, r8d
lea edx, [rcx + 0x31]
jmp 0x180021e86
mov edi, 0x1388
jmp 0x180021e8b
movsd xmm0, qword [0x18006fede]
movzx eax, word [0x18006fee6]
movsd qword [rbp - 0x5e], xmm0
mov word [rbp - 0x56], ax
mov word [rbp - 0x60], dx
jmp 0x180021e86
mov r14, r15
jmp 0x180021e8b
mov dword [rbp - 0x54], 0x2e0025
mov word [rbp - 0x50], cx
jmp 0x180021e8b
cmp ebx, 0x7c18
je 0x180021e69
cmp ebx, 0xb396
je 0x180021e20
cmp ebx, 0xb9f8
je 0x180021ddc
cmp ebx, 0xf7d8
jne 0x180021e8b
mov dword [rsp + 0x60], 0x5c005c
jmp 0x180021e8b
mov r8d, 5
lea rdx, [0x18006fe74]
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov eax, dword [0x18006fe8a]
xor r8d, r8d
mov dword [rbp - 0x3a], eax
movzx eax, word [0x18006fe8e]
mov word [rbp - 0x36], ax
lea ecx, [r8 + 0x32]
mov word [rbp - 0x34], r8w
lea edx, [rcx + 0x31]
jmp 0x180021e86
mov rdx, qword [0x180079948]
mov r8d, 0xe
xor ecx, ecx
call fcn.18000e8b0
mov rcx, qword [0x180079948]
mov edx, 0x49
call fcn.180040fd0
mov rcx, qword [r15]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x180021e20
mov ecx, 0x32
mov ebx, 0xb396
xor r8d, r8d
lea edx, [rcx + 0x31]
jmp 0x180021e86
movsd xmm0, qword [0x18006fe38]
movzx eax, word [0x18006fe40]
movsd qword [rbp - 0x4e], xmm0
mov word [rbp - 0x46], ax
mov word [rbp - 0x44], r8w
mov rax, qword [rsp + 0x40]
add ebx, r13d
cmp ebx, r12d
jbe 0x180021cf0
lea eax, [rsi + 0xb]
cmp esi, eax
jae 0x1800220c0
mov r14, qword [rsp + 0x40]
lea edi, [rsi - 0x58]
mov esi, 0xb
lea r12, [0x180000000]
lea ebx, [rsi + 0x63]
lea edx, [rsi + 0x6a]
lea r9d, [rsi + 0x23]
lea r8d, [rsi + 0x67]
lea r10d, [rsi + 0x51]
lea r11d, [rsi + 0x65]
lea r13d, [rsi + 0x5a]
cmp edi, 0xa
ja case.default.0x180021ee4
mov ecx, dword [r12 + rdi*4 + 0x220ec]
add rcx, r12
jmp rcx
mov dword [rbp - 0x76], 0x75006e
mov dword [rbp - 0x72], 0x610066
jmp case.default.0x180021ee4
mov word [rsp + 0x64], r9w
jmp case.default.0x180021ee4
mov rdx, qword [r15 + 0x18]
mov rcx, qword [r15 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 6
jb 0x180021f50
lea rax, [rcx + 6]
mov qword [r15 + 0x10], rax
mov rax, r15
cmp rdx, 0x10
jb 0x180021f2c
mov rax, qword [r15]
lea rbx, [rax + rcx]
mov r8d, 6
mov rcx, rbx
lea rdx, str.__pl_:
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 6], 0
mov ebx, 0x6e
jmp 0x180021f6f
xor r8d, r8d
mov qword [rsp + 0x20], 6
lea r9, str.__pl_:
mov rcx, r15
lea edx, [r8 + 6]
call fcn.180001f40
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x30], 0x4e20
lea r9, [rbp - 0x30]
mov rdx, r14
lea rcx, [rsp + 0x60]
lea r8d, [rax*2 + 2]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
call qword [sym.imp.KERNEL32.dll_CallNamedPipeW]
mov edx, 0x75
lea r8d, [rdx - 3]
lea r9d, [rdx - 0x47]
lea r10d, [rdx - 0x19]
lea r11d, [rdx - 5]
jmp case.default.0x180021ee4
mov eax, 0x61
mov word [rbp - 0x7e], r8w
mov word [rbp - 0x78], ax
mov dword [rbp - 0x7c], 0x4d0061
jmp case.default.0x180021ee4
mov word [rsp + 0x66], r10w
jmp case.default.0x180021ee4
mov dword [rsp + 0x68], 0x690070
mov word [rsp + 0x6c], r11w
jmp case.default.0x180021ee4
mov word [rsp + 0x6e], r13w
mov dword [rsp + 0x70], 0x67005c
jmp case.default.0x180021ee4
mov word [rsp + 0x74], r13w
mov dword [rsp + 0x76], 0x5f0074
mov dword [rsp + 0x7a], 0x610043
mov dword [rsp + 0x7e], 0x65006d
jmp case.default.0x180021ee4
mov rdx, qword [r15 + 0x18]
mov rcx, qword [r15 + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x180022071
lea rax, [rcx + 2]
mov qword [r15 + 0x10], rax
mov rax, r15
cmp rdx, 0x10
jb 0x18002205c
mov rax, qword [r15]
mov edx, 0x3436
mov word [rax + rcx], dx
mov edx, 0x75
mov byte [rax + rcx + 2], 0
jmp case.default.0x180021ee4
xor r8d, r8d
mov qword [rsp + 0x20], 2
lea r9, [0x18006ff3c]
mov rcx, r15
lea edx, [r8 + 2]
call fcn.180001f40
jmp 0x180021fac
mov dword [rbp - 0x68], 0x650072
lea r14, [rbp - 0x60]
mov dword [rbp - 0x64], 0x72
jmp case.default.0x180021ee4
mov dword [rbp - 0x6e], 0x740063
mov word [rbp - 0x6a], dx
inc edi
sub rsi, 1
jne 0x180021ed0
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.180050c90
mov rbx, qword [rsp + 0x528]
add rsp, 0x4e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret