Function at 0x10015b5a
Capabilities:
Connect pipe

Disassembly:
mov eax, 0x1005f24a
call fcn.1005e6e0
sub esp, 0xb0
push ebx
push esi
push edi
mov dword [ebp - 0x14], 0x22c4
mov edi, edx
cmp dword [ebp - 0x14], 0xb02
push 0
mov dword [ebp - 0x10], edi
pop ebx
jge 0x10015c1b
lea eax, [ebp - 0x20]
push eax
push 0x10069d88
call fcn.1004811d
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
test eax, eax
je 0x10015c17
dec eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x34]
push eax
push 0x10069d88
call fcn.1004811d
pop ecx
pop ecx
or edi, 0xffffffff
mov cl, bl
cmp dword [ebp - 0x34], 0
mov esi, ebx
mov dword [ebp - 0x14], ecx
jle 0x10015bf7
mov ebx, ecx
lea eax, [ebp - 0x2c]
push eax
push 0x10069d88
call fcn.1004811d
pop ecx
pop ecx
test esi, esi
je 0x10015be6
cmp dword [ebp - 0x2c], edi
push 1
movzx ebx, bl
pop eax
cmovge ebx, eax
mov edi, dword [ebp - 0x2c]
inc esi
cmp esi, dword [ebp - 0x34]
jl 0x10015bc6
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
test cl, cl
mov edx, 0x1006a070
mov eax, 0x1006a06c
cmove eax, edx
push eax
call fcn.100481d6
mov eax, dword [ebp - 0x20]
pop ecx
test eax, eax
jne 0x10015ba0
mov edi, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x20], eax
cmp byte [ebp + 0xc], 0
je 0x10016051
xor eax, eax
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x74], ebx
mov word [ebp - 0x84], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x10]
push 6
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0xf
pop esi
jmp 0x10015c7d
push 0xf92
push ecx
push ecx
push 0x160b
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], esi
push eax
push ebx
mov edx, 0x2637
mov ecx, 0x51cf
call fcn.10015871
add esp, 0x18
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffd
jle 0x10015c54
xor eax, eax
inc eax
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
push ecx
lea ecx, [ebp + 8]
call fcn.1001565a
movdqa xmm0, xmmword [0x1006de30]
lea eax, [ebp - 0x98]
add esp, 0x10
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x68], ebx
movdqu xmmword [ebp - 0xa8], xmm0
mov dword [ebp - 0x64], ebx
push dword [ebp - 0x30]
push eax
lea eax, [ebp - 0xa8]
push eax
push ebx
call fcn.1000f43a
mov dword [ebp - 0x14], 0x6d444182
xor edx, edx
mov dword [ebp - 0x18], 0x95998ab5
inc edx
mov dword [ebp - 0x18], 0x24f20479
mov dword [ebp - 0x18], 0x817d1dc6
mov dword [ebp - 0x10], ebx
jmp 0x10015d03
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x98], 0xa955a63a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10015cf2
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x10015dd4
mov dword [ebp - 0x10], 0x5925ef2c
mov dword [ebp - 0x18], 0x7cfaf42
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0x70012af0
mov dword [ebp - 0x18], 0x8a9017ca
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x10], 0xe779066
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x10], ebx
jmp 0x10015d85
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbc], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10015d78
mov dword [ebp - 0x10], ebx
jmp 0x10015d9a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10015d90
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x10015dc1
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x6c]
push 0
pop ecx
setne cl
cmp dword [eax + 0xc], ecx
mov ecx, edx
jle 0x10015dc3
mov ecx, ebx
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x14]
jns 0x10015d18
lea ecx, [ebp - 0x6c]
call fcn.1000f047
mov eax, dword [0x11092248]
test al, 1
jne 0x10015e0b
xor ecx, ecx
inc ecx
or eax, ecx
mov dword [0x11092248], eax
push 0xbbe
mov byte [ebp - 4], cl
call fcn.1002de42
mov word [0x11092244], ax
mov byte [ebp - 4], bl
mov eax, dword [0x11092248]
pop ecx
test al, 2
jne 0x10015e2f
or eax, 2
mov dword [0x11092248], eax
push 0x11c7
mov byte [ebp - 4], 2
call fcn.1002de42
pop ecx
mov word [0x1109226c], ax
mov byte [ebp - 4], bl
mov esi, dword [ebp + 8]
test esi, esi
je 0x10015f73
mov dword [ebp - 0x14], ebx
jmp 0x10015e50
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb0], 0xea75c96d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10015e3f
push ebx
push 0x16
mov edx, 0x7c46
pop ecx
call fcn.10016436
xor eax, eax
mov dword [esp], 0x39e1
inc eax
mov byte [ebp - 0x1c], bl
push eax
push 0x1ca9
lea edx, [ebp - 0x1c]
mov cl, al
call fcn.10014e8c
add esp, 0xc
call fcn.100147d8
push 0x24
pop ecx
xor edx, edx
div ecx
push 3
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x54], edx
call fcn.1000efc4
xor ecx, ecx
mov byte [ebp - 4], 3
inc ecx
lea eax, [ebp - 0x90]
push ecx
push eax
push ecx
lea eax, [ebp - 0x94]
mov dword [ebp - 0x44], ecx
push eax
push 0x215f
mov dword [ebp - 0x40], ecx
push ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
push ecx
mov dword [ebp - 0x48], 0x8c9a01c7
mov dword [ebp - 0x58], 0xffffffff
push 0x72
call fcn.100156b3
add esp, 0x20
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 2
jg 0x10015f1d
xor ebx, ebx
inc ebx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x5c], ebx
push eax
push ecx
push ecx
lea eax, [ebp - 0x90]
push eax
push 0x1bd6
push ebx
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x5c]
call fcn.10015871
add esp, 0x18
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
jle 0x10015eee
xor ebx, ebx
push 0x4623
lea eax, [ebp - 0x1b]
mov byte [ebp - 0x1b], bl
push ebx
push eax
xor eax, eax
mov edx, 0x1d44
lea ecx, [eax + 1]
call fcn.10014e8c
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x90]
call fcn.1000f047
push 0x1109226c
lea eax, [ebp - 0x84]
mov edx, 0x11092244
push eax
push ecx
xor eax, eax
inc eax
push eax
push ecx
lea ecx, [ebp - 0x54]
call fcn.10015a26
add esp, 0x14
dec esi
jne 0x10015e3a
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x24], ebx
je 0x10015f81
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
add eax, dword [ebp - 0x24]
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x10015fe5
lea eax, [ebp - 0x24]
xor dl, dl
push 0x36aa
push eax
mov ecx, 0x397e
call fcn.100161f0
pop ecx
pop ecx
lea eax, [ebp - 0x1a]
mov byte [ebp - 0x1a], bl
push eax
push 0x4ee4
push ecx
xor eax, eax
mov edx, 0x2ad
inc eax
push 0x20d5
push eax
call fcn.10015a88
add esp, 0x14
jmp 0x1001602a
push 0x16cb
sub esp, 0xc
mov dword [ebp - 0x28], 3
xor eax, eax
mov dword [ebp - 0x30], 8
inc eax
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.100159e7
add esp, 0x14
lea eax, [ebp - 0x30]
mov edx, 0x6cc9
push eax
lea eax, [ebp - 0x28]
push eax
push ecx
xor eax, eax
inc eax
push 0x32c0
push eax
call fcn.10014d08
add esp, 0x18
lea eax, [ebp - 0x84]
cmp edi, eax
je 0x1001603f
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.100020e2
xor eax, eax
lea ecx, [ebp - 0x84]
push ebx
inc eax
push eax
call fcn.100021bc
jmp 0x10016062
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x10016062
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret