Function at 0x10002a80
Capabilities:
Create pipe

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x14]
mov ecx, ebx
push ebp
mov ebp, dword [esp + 0x24]
mov edx, ebx
push edi
xor ecx, 1
xor edx, 9
xor ebx, 0xe
mov dword [esp + 0x10], ecx
lea eax, [ebp - 0x3664]
mov dword [esp + 0xc], edx
lea edi, [ebp + 6]
mov dword [esp + 0x1c], eax
xor ebp, 0x38
mov eax, ebp
xor eax, 0x38
cmp edi, eax
jl 0x10002d9c
lea eax, [ebx - 0x14]
push esi
mov esi, dword [esp + 0x1c]
cmp ecx, eax
jl 0x10002c2c
mov ecx, dword [0x101650f0]
mov eax, dword [esi + 0xd8]
cmp eax, dword [ecx + 0x60]
jae 0x10002af2
mov eax, dword [0x10164fe8]
sub eax, dword [esi + 0x50]
add eax, 0xb562c48
xor dword [ecx], eax
jmp 0x10002afc
add dword [ecx + 0x94], 0xffff77d7
mov ecx, dword [0x101650f0]
mov eax, dword [ecx + 0x50]
xor eax, dword [0x1016509c]
add eax, 0xc37
mov dword [ecx + 0x30], eax
lea eax, [edi - 0x18]
push eax
lea eax, [edx - 0x1b]
push eax
lea eax, [edi - 0xb]
push eax
lea eax, [edi - 0x13]
push eax
lea eax, [edx - 9]
push eax
mov eax, dword [esp + 0x34]
add eax, 0x3664
push eax
push esi
call sym.angzd352uk2.dll_XtU292
mov eax, dword [0x101650f0]
add esp, 0x1c
mov eax, dword [eax + 0x11c]
xor eax, dword [esi + 0x90]
add eax, 0x15ad3c
cmp dword [esi + 0x4c], 0x1807b
mov dword [esi + 0x48], eax
jae 0x10002b70
mov ecx, dword [0x101650f0]
mov eax, dword [ecx + 0x140]
sub eax, 0x21e62
add dword [ecx + 0x48], eax
mov ecx, dword [0x101650f0]
add dword [0x10164ff0], 0x7384a
mov eax, dword [ecx + 0x60]
cmp eax, dword [0x10165044]
je 0x10002b9b
mov eax, dword [esi + 0xc0]
add eax, 0xb6cb5
xor dword [esi + 0x48], eax
jmp 0x10002bad
mov eax, dword [ecx + 0xd8]
add eax, dword [esi + 8]
xor eax, dword [esi + 0x4c]
or dword [ecx + 0x88], eax
mov ecx, dword [0x101650f0]
sub edi, 0x11
mov eax, dword [0x10165008]
xor eax, 0x1c296a
sub dword [ecx + 0x48], eax
cmp dword [0x10165068], 0xcdc7
jae 0x10002c01
mov eax, dword [0x10164fe0]
mov edx, dword [esi + 0x38]
add eax, 0x3f
add eax, dword [esi + 0x50]
add edx, 0x3000
push eax
push edx
push dword [esi + 0x48]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea ecx, [eax + 0x8000]
mov eax, dword [0x101650f0]
mov dword [eax + 0xc4], ecx
mov eax, dword [0x101650f0]
xor edi, 8
mov eax, dword [eax + 0x13c]
mov dword [esi + 0x6c], eax
mov eax, dword [0x101650f0]
pop esi
mov eax, dword [eax + 0xc4]
mov dword [0x10165060], eax
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [0x101650c0]
add eax, ebp
cmp ecx, eax
jb 0x10002d1f
mov eax, dword [0x101650a4]
imul eax, ecx
sub eax, 0x3658
cmp dword [0x101650dc], eax
jbe 0x10002c75
mov eax, dword [0x10165034]
sub eax, dword [esi + 0x11c]
or eax, ebx
mov dword [0x10165048], eax
mov eax, dword [esi + 0xd4]
and eax, 0x3658
add eax, 0x3656
xor dword [esi + 0xc], eax
mov ecx, dword [0x101650f0]
mov eax, dword [ecx + 0x11c]
sub eax, edx
push eax
mov eax, ebp
xor eax, edx
or eax, dword [ecx + 0x28]
push eax
lea eax, [ebp - 0x3665]
push eax
mov eax, dword [ecx + 0x40]
and eax, 0x3665
xor eax, dword [ecx + 0x90]
push eax
mov eax, dword [esi + 0x20]
imul eax, ebx
imul eax, eax, 0x3659
push eax
mov eax, dword [ecx + 0x144]
sub eax, dword [0x10165000]
push eax
mov eax, ebp
imul eax, ebx
xor eax, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, dword [0x101650f0]
mov eax, dword [ecx + 0x128]
sub eax, 0x3652
push eax
mov eax, ebp
imul eax, dword [esp + 0x14]
xor eax, dword [ecx + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov eax, dword [0x101650e8]
imul eax, ebp
push eax
mov eax, dword [esi + 4]
xor eax, ebp
add eax, 0x365c
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0xec]
add eax, dword [esi + 0x54]
mov ecx, dword [esp + 0x14]
imul eax, edi
imul edi, eax
mov eax, dword [esi + 0xcc]
sub eax, dword [0x10164ff4]
cmp ecx, eax
jbe 0x10002d9b
lea eax, [ecx + 0x3664]
push eax
call dword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov ecx, dword [esp + 0x20]
xor ebx, 0x3651
mov eax, ecx
add ebx, 0x366a
sub eax, dword [0x101650c0]
add ecx, 0xffffc999
push eax
mov eax, dword [esi + 0x118]
or eax, dword [esi + 0x18]
sub eax, ebp
push eax
mov eax, dword [esi + 0x50]
sub eax, 0x366d
push eax
mov eax, dword [esi + 0xc]
or eax, 0x366d
push eax
mov eax, dword [0x101650f0]
push ebx
mov eax, dword [eax + 0x90]
and eax, ebp
or eax, edi
push eax
push ecx
mov ecx, dword [esi + 0x38]
sub ecx, dword [0x10164fe4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
pop esi
xor edi, 8
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 8
ret