Function at 0x10020350
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [ebp + 0x18]
push ebx
lea edx, [eax + 0x17a]
push esi
mov ecx, eax
push edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x3c], edx
cmp eax, edx
ja case.0x100203aa.3651
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0x24]
jmp 0x10020380
xor edx, edx
cmp ecx, 0x3a3f
ja 0x100205fc
je 0x100205d5
lea eax, [ecx - 0xdfd]
cmp eax, 0x46
ja case.0x100203aa.3582
movzx eax, byte [eax + 0x10020a48]
jmp dword [eax*4 + 0x10020a18]
cmp byte [edi], 0x2c
jne 0x100204c9
mov esi, 0x6f5
jmp 0x100203d2
xor edx, edx
mov esi, 0x6f5
jmp 0x100203d2
xor edx, edx
cmp esi, 0x779
ja 0x10020456
je 0x1002044a
mov eax, esi
sub eax, 0x6f5
je 0x1002042c
sub eax, 0x42
jne 0x100204b1
mov eax, dword [ebp - 0x18]
inc edi
push edi
mov dword [eax + 4], ebx
mov ebx, eax
push 0x3f24
push 0
mov dword [ebp - 0x24], ebx
call fcn.1000c9b0
mov ecx, ebx
push ecx
push 0x1d4b
push eax
call fcn.10011d30
push eax
push 0x3f24
push 0
call fcn.1000c9b0
add esp, 0x24
mov edi, eax
jmp 0x100204b1
push 0
push 0x27a
push 0
call fcn.10012f20
add esp, 0xc
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100204a5
mov edx, eax
mov dword [ebx], edx
jmp 0x100204b1
cmp edi, edx
je 0x100204a5
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x20], eax
jmp 0x100204b1
mov eax, esi
sub eax, 0x7bb
je 0x100204ae
sub eax, 0x42
jne 0x100204b1
cmp byte [edi], 0x3a
jne 0x100204a5
inc edi
push edi
push 0x3f24
push eax
call fcn.1000c9b0
push 0
push 0
push 0
push 0
push eax
push 0x7e74
push ebx
push 0
call fcn.100145a0
push eax
push 0x3f24
push 0
mov dword [ebp - 0x30], edx
call fcn.1000c9b0
mov edi, eax
add esp, 0x38
test edi, edi
jne 0x100204b1
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x10], edx
add esi, 0x42
cmp esi, 0x7fd
jbe 0x100203d0
cmp byte [edi], 0x2c
je 0x100203c1
cmp byte [edi], 0x7d
jne case.0x100203aa.3582
lea eax, [edi + 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, edx
je 0x100204a5
jmp case.0x100203aa.3582
cmp byte [edi], 0x7b
jne 0x100204a5
jmp case.0x100203aa.3582
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0xc], 6
jmp case.0x100203aa.3582
cmp byte [edi], 0x7d
je 0x100204d2
push 0
push 0x27a
push 0
call fcn.10012f20
mov edx, dword [ebp + 0x14]
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x24], ebx
mov dword [edx + 8], ebx
test ebx, ebx
je 0x100204a5
jmp case.0x100203aa.3582
push edi
push 0x3f24
push 0
call fcn.1000c9b0
push ebx
push 0x1d4b
push eax
call fcn.10011d30
push eax
push 0x3f24
push 0
call fcn.1000c9b0
add esp, 0x24
mov edi, eax
jmp case.0x100203aa.3582
cmp byte [edi], 0x3a
jne 0x100204a5
inc edi
push edi
push 0x3f24
push 0
call fcn.1000c9b0
push 0
push 0
push 0
push 0
push eax
push 0x7e74
push ebx
push 0
call fcn.100145a0
push eax
push 0x3f24
push 0
mov dword [ebp - 0x30], edx
call fcn.1000c9b0
mov edi, eax
add esp, 0x38
test edi, edi
je 0x100204a5
jmp case.0x100203aa.3582
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x10], edx
jmp case.0x100203aa.3582
mov dword [ebp - 0x14], edx
jmp case.0x100203aa.3582
inc edi
push edi
push 0x3f24
push 0
call fcn.1000c9b0
add esp, 0xc
mov edi, eax
jmp case.0x100203aa.3582
push edi
mov edi, 0x8b3fd4e3
inc ebp
adc al, 0x8b
punpckhbw mm1, mm4
insb byte es:[edi], dx
add byte [eax], al
lea edx, [ebp - 0x14]
push edx
push eax
mov dword [ebp - 0x14], ecx
call fcn.1000a5a0
add esp, 0xc
mov dword [ebp - 0x14], eax
jmp case.0x100203aa.3582
cmp ecx, 0x57e9
ja 0x10020667
je 0x1002065c
cmp ecx, 0x3a46
je 0x10020a09
cmp ecx, 0x57e2
jne case.0x100203aa.3582
push 0x69d2
push 0
push 0
lea ecx, [ebp - 0x6c]
push 0
push ecx
call fcn.10029d70
push 0
push 0
push 0x2271
call fcn.1001fbf0
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0x24b7
push eax
call fcn.100137d0
add esp, 0x30
mov dword [ebp - 0x1c], eax
jmp case.0x100203aa.3582
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
jmp case.0x100203aa.3582
mov eax, ecx
sub eax, 0x57f0
je 0x10020690
sub eax, 7
jne case.0x100203aa.3582
push eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
push 0
push 0x7541
call fcn.10031a40
jmp 0x100209ea
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10020696
mov ecx, dword [ebp - 0x1c]
sub eax, edx
lea edx, [ebp - 0xc]
push edx
mov dword [ebp - 0x2c], eax
push 0x7b99
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
push eax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x30]
push edx
call fcn.1000fc90
add esp, 0x14
test al, al
je case.0x100203aa.3582
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 8]
push edx
push 0x48e3
lea eax, [ebp - 4]
push eax
push ecx
mov dword [ebp - 0x30], 0x10034950
mov byte [ebp - 4], 0
call fcn.10014b50
add esp, 0x18
test al, al
je 0x100209d3
cmp dword [ebp - 8], 0
jbe 0x100209d3
mov esi, dword [ebp - 0x20]
mov ebx, 0x1312
jmp 0x10020720
mov ecx, dword [ebp - 0x10]
cmp ebx, 0x15da
ja 0x10020836
je 0x1002081f
cmp ebx, 0x1476
ja 0x100207cc
je 0x100207c1
cmp ebx, 0x13c4
ja 0x100207a7
je 0x1002078e
mov eax, ebx
sub eax, 0x1312
je 0x1002077a
sub eax, 0x59
jne 0x100209c4
mov eax, ecx
movzx edx, byte [eax + 2]
mov cl, byte [eax + 3]
mov byte [ebp - 0x49], dl
movzx edx, byte [eax + 4]
mov byte [ebp - 0x41], cl
mov byte [ebp - 0x48], dl
jmp 0x100209c4
mov dword [ebp - 0x10], str.ydneami.eipmppep
mov byte [ebp - 0x4a], 0x79
mov byte [ebp - 0x45], 0x64
jmp 0x100209c4
movzx eax, byte [ecx + 5]
mov dl, byte [ecx + 6]
mov byte [ebp - 0x4b], al
movzx eax, byte [ecx + 7]
mov byte [ebp - 0x51], dl
mov byte [ebp - 0x43], al
jmp 0x100209c4
cmp ebx, 0x141d
jne 0x100209c4
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx + 8]
mov byte [ebp - 0x52], dl
jmp 0x100209c4
mov al, byte [ecx + 9]
mov byte [ebp - 0x46], al
jmp 0x100209c4
mov eax, ebx
sub eax, 0x14cf
je 0x10020808
sub eax, 0x59
je 0x100207f7
sub eax, 0x59
jne 0x100209c4
mov eax, dword [ebp - 0x10]
mov cl, byte [eax + 0xf]
mov dl, byte [eax + 0x10]
mov byte [ebp - 0x4c], cl
mov byte [ebp - 0x54], dl
jmp 0x100209c4
mov al, byte [ecx + 0xd]
mov cl, byte [ecx + 0xe]
mov byte [ebp - 0x44], al
mov byte [ebp - 0x4e], cl
jmp 0x100209c4
mov dl, byte [ecx + 0xa]
mov al, byte [ecx + 0xb]
mov cl, byte [ecx + 0xc]
mov byte [ebp - 0x4f], dl
mov byte [ebp - 0x50], al
mov byte [ebp - 0x47], cl
jmp 0x100209c4
mov dl, byte [ecx + 0x11]
mov al, byte [ecx + 0x12]
mov cl, byte [ecx + 0x13]
mov byte [ebp - 0x4d], dl
mov byte [ebp - 0x53], al
mov byte [ebp - 0x42], cl
jmp 0x100209c4
cmp ebx, 0x1797
ja 0x100208e8
je 0x100208d8
cmp ebx, 0x16e5
ja 0x100208b9
je 0x10020894
mov eax, ebx
sub eax, 0x1633
je 0x1002088b
sub eax, 0x59
jne 0x100209c4
mov eax, dword [ebp + 0x14]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10020870
sub eax, edx
inc eax
push eax
call fcn.10011d10
add esp, 4
mov dword [ebp - 0x68], eax
jmp 0x100209c4
mov byte [ebp - 0x40], 0
jmp 0x100209c4
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x68]
mov byte [ebp + 0x1b], 1
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x100208a0
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
mov word [ebp - 0x64], ax
jmp 0x100209c4
cmp ebx, 0x173e
jne 0x100209c4
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx + 2]
or esi, 0xffffffff
mov word [ebp - 0x62], dx
jmp 0x100209c1
mov eax, dword [edi]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x38], ecx
jmp 0x100209c4
mov eax, ebx
sub eax, 0x17f0
je 0x10020989
sub eax, 0x59
je 0x10020920
sub eax, 0x59
jne 0x100209c4
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x14]
push eax
lea ecx, [ebp - 0x6c]
push 0x6c51
push ecx
call fcn.1001e7a0
add esp, 0xc
jmp 0x100209c4
cmp esi, 0xffffffff
jne 0x10020959
mov esi, 0x206b
lea ebx, [ebx]
mov eax, esi
sub eax, 0x206b
je 0x10020943
sub eax, 0x52
jne 0x1002094b
mov byte [ebp + 0x1b], al
jmp 0x1002094b
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add esi, 0x52
cmp esi, 0x20bd
jbe 0x10020930
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push 0x3066
push eax
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x5c]
push 0
push edx
call fcn.10029d70
add esp, 0x14
cmp byte [ebp + 0x1b], 0
je 0x100209c4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100209c4
mov eax, dword [ebp - 8]
push eax
call fcn.10011d10
mov ecx, dword [ebp - 0x38]
add esp, 4
push 0
push 0
push 0x200
push 0x200
push 0xff
push 6
push 3
push ecx
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov edx, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x20], esi
add ebx, 0x59
cmp ebx, 0x18a2
jbe 0x10020720
mov eax, dword [ebp - 0xc]
push 0
push 0
push eax
push 0
push 0x7541
call fcn.10031a40
mov ebx, dword [ebp - 0x24]
add esp, 0x14
mov ecx, dword [ebp - 0x28]
add ecx, 7
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x3c]
jbe 0x10020380
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
adc eax, 0x3fbd05d3
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret