Function at 0x415f80
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447fb4
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.0041b470
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.00411ab0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x41600d
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 0x41606d
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416063
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165dc
push edx
push ecx
call fcn.004364af
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 0x4160be
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4160b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165e1
push edx
push ecx
call fcn.004364af
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 0x416113
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416109
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165e6
push edx
push ecx
call fcn.004364af
add esp, 8
lea eax, [ebp - 0x58]
push ebx
push eax
call fcn.0041b470
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.00411ab0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x416169
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 0x4161bf
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4161b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165eb
push edx
push ecx
call fcn.004364af
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 0x416211
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416207
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165f0
push edx
push ecx
call fcn.004364af
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 0x416266
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41625c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165f5
push edx
push ecx
call fcn.004364af
add esp, 8
push dword [ebp - 0x8c]
lea eax, [ebp - 0x58]
push eax
call fcn.0041b470
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.00411ab0
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x4162c1
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 0x41630d
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416303
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165fa
push edx
push ecx
call fcn.004364af
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 0x41635f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x416355
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4165ff
push edx
push ecx
call fcn.004364af
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 0x4163b4
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4163aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416604
push edx
push ecx
call fcn.004364af
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.0041b470
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.00411ab0
add esp, 0xc
call fcn.00415d70
mov edx, dword [ebp - 0x2c]
add esp, 0x18
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x416466
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41645c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416609
push edx
push ecx
call fcn.004364af
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 0x4164be
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4164b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41660e
push edx
push ecx
call fcn.004364af
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.0043647f
mov esi, eax
add esp, 4
test esi, esi
je 0x4164ef
movq xmm0, qword [ebp - 0x1c]
movq qword [esi], xmm0
mov dword [esi + 8], edi
jmp 0x4164f1
xor esi, esi
mov dword [ebp - 0x90], esi
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 8
call fcn.004138b0
mov dword [ebp - 0xac], 0x44e624
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.00419ed0
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x41654e
push 0xc
push eax
call fcn.004364af
add esp, 8
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
push esi
mov byte [ebp - 4], 0xa
call fcn.0041dfcb
add esp, 4
test eax, eax
je 0x416574
push eax
call fcn.0041e3e8
add esp, 4
push esi
call fcn.0041df0f
push edi
call fcn.0041e238
add esp, 8
mov eax, dword [ebp - 0x94]
mov dword [ebp - 4], 0xb
test eax, eax
jne 0x4165a4
push 1
call fcn.0041e415
mov eax, dword [ebp - 0x94]
add esp, 4
push eax
push dword [ebp - 0x98]
call fcn.0041db32
add esp, 8
test eax, eax
je 0x4165c0
push eax
call fcn.0041e3e8
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.004366b8
mov esp, ebp
pop ebp
ret
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
call fcn.00437b50
int3