Function at 0x4160a0
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x448134
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x45b198]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x58]
push ebx
push eax
mov dword [ebp - 0x8c], ebx
call fcn.0041b5b0
add esp, 8
mov esi, eax
push 0x12
xor eax, eax
mov dword [ebp - 4], 0
push str..pipeLUNA_HOOK
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0040aa30
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00411bd0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x41612d
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
push 0x45d914
push 0xffffffffffffffff
push 0xc350
push 0
push 0xff
push 6
push 1
push eax
call edi
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x90], eax
cmp edx, 8
jb 0x41618d
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416183
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4166fc
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov byte [ebp - 4], al
cmp edx, 8
jb 0x4161de
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4161d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416701
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x416233
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416229
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416706
push edx
push ecx
call fcn.004365ef
add esp, 8
lea eax, [ebp - 0x58]
push ebx
push eax
call fcn.0041b5b0
add esp, 8
mov esi, eax
push 0x12
xor eax, eax
mov dword [ebp - 4], 2
push str..pipeLUNA_HOST
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0040aa30
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00411bd0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x416289
mov eax, dword [eax]
push 0x45d914
push 0xffffffffffffffff
push 0
push 0xc350
push 0xff
push 6
push 2
push eax
call edi
mov edx, dword [ebp - 0x2c]
mov ebx, eax
cmp edx, 8
jb 0x4162df
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4162d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41670b
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x416331
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416327
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416710
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x416386
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41637c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416715
push edx
push ecx
call fcn.004365ef
add esp, 8
push dword [ebp - 0x8c]
lea eax, [ebp - 0x58]
push eax
call fcn.0041b5b0
add esp, 8
mov esi, eax
push 0x13
xor eax, eax
mov dword [ebp - 4], 4
push str.LUNA_PIPE_AVAILABLE
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0040aa30
push esi
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00411bd0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x4163e1
mov eax, dword [eax]
push eax
push 0
push 0
push 0x45d914
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [ebp - 0x5c]
mov edi, eax
cmp edx, 8
jb 0x41642d
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416423
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41671a
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 4
cmp edx, 8
jb 0x41647f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416475
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41671f
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4164d4
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4164ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416724
push edx
push ecx
call fcn.004365ef
add esp, 8
push dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x44], 7
call fcn.0041b5b0
add esp, 8
mov esi, eax
push 0x13
xor eax, eax
mov dword [ebp - 4], 6
push str.LUNA_PIPE_AVAILABLE
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.0040aa30
sub esp, 0x18
mov byte [ebp - 4], 7
mov eax, esp
lea ecx, [ebp - 0x40]
push esi
push ecx
push eax
call fcn.00411bd0
add esp, 0xc
call fcn.00415e90
mov edx, dword [ebp - 0x2c]
add esp, 0x18
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x416586
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41657c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416729
push edx
push ecx
call fcn.004365ef
add esp, 8
mov edx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x4165de
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4165d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41672e
push edx
push ecx
call fcn.004365ef
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [ebp - 0x90]
push 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ebx
call fcn.004365bf
mov esi, eax
add esp, 4
test esi, esi
je 0x41660f
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], edi
jmp 0x416611
xor esi, esi
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 8
call fcn.004139d0
mov dword [ebp - 0xac], 0x44e67c
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], esi
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xac]
call fcn.0041a010
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x41666e
push 0xc
push eax
call fcn.004365ef
add esp, 8
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
push esi
mov byte [ebp - 4], 0xa
call fcn.0041e10b
add esp, 4
test eax, eax
je 0x416694
push eax
call fcn.0041e526
add esp, 4
push esi
call fcn.0041e04f
push edi
call fcn.0041e376
add esp, 8
mov eax, dword [ebp - 0x94]
mov dword [ebp - 4], 0xb
test eax, eax
jne 0x4166c4
push 1
call fcn.0041e553
mov eax, dword [ebp - 0x94]
add esp, 4
push eax
push dword [ebp - 0x98]
call fcn.0041dc72
add esp, 8
test eax, eax
je 0x4166e0
push eax
call fcn.0041e526
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004367f8
mov esp, ebp
pop ebp
ret
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
call fcn.00437c90
int3