Function at 0x1000a305
Capabilities:
Create pipe

Disassembly:
mov eax, 0x1006f924
call fcn.1006f298
sub esp, 0xf0
mov dword [ebp - 0x20], 0x8885
xor edx, edx
mov dword [ebp - 0x14], 0x815cbcef
mov dword [ebp - 0x2c], 0x822cb3a3
push ebx
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x28], 0x8de6
push esi
mov dword [ebp - 0x24], 0x378470ed
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
push edi
push 0
pop ebx
setle dl
cmp edx, dword [ebp - 0x2c]
push 1
pop edx
jle 0x1000a37c
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x20]
test edx, edx
je 0x1000a379
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1000a37e
xor edx, edx
inc edx
mov ecx, ebx
xor eax, eax
cmp ecx, 0xced4
setne al
cmp eax, dword [ebp - 0x20]
jl 0x1000a393
cmp dword [ebp - 0x20], ebx
je 0x1000a39a
mov eax, edx
cmp dword [ebp - 0x28], ebx
jne 0x1000a39c
mov eax, ebx
cmp eax, dword [ebp - 0x24]
jne 0x1000a3b2
cmp dword [ebp - 0x24], ebx
je 0x1000a3b2
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xc4365de
jmp 0x1000a3ec
mov dword [ebp - 0x28], 0x6a37bd55
mov dword [ebp - 0x1c], 0xffffffe3
jmp 0x1000a3ca
cmp dword [ebp - 0x28], ebx
jne 0x1000a3d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x17
jl 0x1000a3c2
mov byte [ebp - 0x16], bl
cmp byte [ebp - 0x16], 0
je 0x1000a3ec
push 0xe0b
push 0x1550
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor edx, edx
inc edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x14], 9
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
mov byte [ebp - 0x16], bl
je 0x1000a430
cmp byte [ebp - 0x16], 0
je 0x1000a447
push ebx
push 0x1c91
call dword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x1000a447
cmp byte [ebp - 0x16], 0
je 0x1000a447
push ebx
push 0x1a4a
push 0x2a9
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov dword [ebp - 0x28], 0x1d90
cmp dword [ebp - 0x28], 0x87e
jge 0x1000a5bf
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
push 0x10008180
call fcn.10055adb
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x2d]
add esp, 0xc
mov byte [ebp - 0x2d], bl
cmp dword [ebp - 0x38], eax
setg byte [ebp - 0x16]
push ecx
push eax
lea ecx, [ebp - 0xc4]
call fcn.1000f327
mov dword [ebp - 4], ebx
jmp 0x1000a589
dec eax
cmp byte [ebp - 0x16], 0
mov dword [ebp - 0x38], eax
jne 0x1000a598
lea eax, [ebp - 0x74]
push eax
push 0x1000817c
call fcn.10055adb
pop ecx
pop ecx
lea eax, [ebp - 0x2e]
mov byte [ebp - 0x2e], bl
push eax
push dword [ebp - 0x34]
lea ecx, [ebp - 0xb4]
call fcn.1000f327
mov eax, dword [ebp - 0x34]
lea edi, [eax - 1]
test edi, edi
js 0x1000a517
test edi, edi
jle 0x1000a4f0
mov edx, dword [ebp - 0xc4]
xor eax, eax
mov esi, edi
mov ecx, edi
shr esi, 5
and ecx, 0x1f
inc eax
shl eax, cl
test dword [edx + esi*4], eax
je 0x1000a511
mov eax, dword [ebp - 0x74]
add eax, edi
cdq
idiv dword [ebp - 0x34]
xor eax, eax
mov ecx, edx
inc eax
mov edx, dword [ebp - 0xb4]
mov esi, ecx
shr esi, 5
and ecx, 0x1f
shl eax, cl
or dword [edx + esi*4], eax
dec edi
jns 0x1000a4d2
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ebx
test eax, eax
jle 0x1000a573
mov eax, dword [ebp - 0xc4]
mov esi, ebx
mov edx, dword [ebp - 0xb4]
mov ecx, ebx
shr esi, 5
and ecx, 0x1f
mov dword [ebp - 0x94], ecx
lea edi, [eax + esi*4]
xor eax, eax
inc eax
mov dword [ebp - 0x98], edi
shl eax, cl
test dword [edi], eax
setne byte [ebp - 0x15]
xor eax, eax
inc eax
shl eax, cl
lea ecx, [ebp - 0x98]
test dword [edx + esi*4], eax
setne al
or al, byte [ebp - 0x15]
movzx eax, al
push eax
call fcn.1000f3c7
inc ebx
cmp ebx, dword [ebp - 0x34]
jl 0x1000a51e
xor ebx, ebx
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xb4]
test byte [eax], 1
jne 0x1000a5d3
call fcn.1000f388
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x1000a495
dec eax
mov dword [ebp - 0x38], eax
cmp byte [ebp - 0x16], 0
mov ecx, 0x1000818c
mov eax, 0x10008188
cmove eax, ecx
push eax
call fcn.10055ec6
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0xc4]
call fcn.1000f388
mov dword [ebp - 0x14], 0x72226312
push 3
pop edi
cmp dword [ebp - 0x14], ebx
je 0x1000a62b
mov dword [ebp - 0x14], ebx
jmp 0x1000a620
mov byte [ebp - 0x16], 1
call fcn.1000f388
jmp 0x1000a598
mov dword [ebp - 0x1c], 0x576c5165
mov dword [ebp - 0x28], 1
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000a605
push 0x527
push 0xc1d
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebp - 0x1c], 0xb
jmp 0x1000a617
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe4
jle 0x1000a60e
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffeb
jge 0x1000a5de
jmp 0x1000a6fd
mov dword [ebp - 0x1c], 0xb4ef66b1
mov dword [ebp - 0x14], ebx
jmp 0x1000a6c9
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x1000a64c
dec dword [ebp - 0x1c]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1000a646
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x90], ecx
test ecx, ecx
jne 0x1000a672
cmp dword [ebp - 0x24], ebx
jne 0x1000a672
mov esi, ebx
jmp 0x1000a675
xor esi, esi
inc esi
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp esi, ecx
setl al
xor ecx, ecx
imul eax, dword [ebp - 0x24]
cmp eax, 1
mov eax, dword [ebp - 0x14]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1000a63a
mov dword [ebp - 0x1c], ebx
jmp 0x1000a6f8
mov dword [ebp - 0x2c], 1
dec dword [ebp - 0x2c]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000a6f5
push 0xe3
call dword [sym.imp.USER32.dll_PostQuitMessage]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1000a6d7
mov byte [ebp - 0x16], bl
mov dword [ebp - 0x1c], 0xaa32b1ce
mov dword [ebp - 0x14], ebx
jmp 0x1000a71a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1000a70c
mov dword [ebp - 0x14], ebx
jmp 0x1000a733
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000a725
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000a74e
push ebx
push 0x19dc
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x1000aa07
mov dword [ebp - 0x14], 0x9f7fd1e8
lea ecx, [ebp - 0x64]
push edi
call fcn.1000f401
xor edx, edx
inc edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x2c], 0xd3624b67
mov dword [ebp - 0x14], ebx
jmp 0x1000a78c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0x635290ce
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000a77c
mov dword [ebp - 0x14], ebx
jmp 0x1000a7a4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0x540fff06
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000a796
mov dword [ebp - 0x28], 0x1b59
cmp dword [ebp - 0x28], 0xb9b
jge 0x1000a7cf
push 0x19
mov ecx, 0x10661e78
call fcn.1000f0f4
push eax
call fcn.10011f68
xor edx, edx
pop ecx
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x1000a7e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0x2bc8f961
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000a7d4
mov dword [ebp - 0x28], 0x17da
cmp dword [ebp - 0x28], 0xacc
jge 0x1000a88e
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x70], ebx
push eax
lea eax, [ebp - 0x70]
mov dword [ebp - 0x6c], ebx
push eax
push 0x10008190
call fcn.10055adb
mov edx, dword [ebp - 0x6c]
add esp, 0xc
mov ecx, dword [ebp - 0x70]
mov esi, ebx
test edx, edx
jg 0x1000a834
cmp ecx, edx
jle 0x1000a834
xor eax, eax
inc eax
sub eax, edx
cmp ecx, eax
jg 0x1000a834
imul esi, edx, 0xfffffffc
jmp 0x1000a881
test ecx, ecx
jle 0x1000a84e
xor eax, eax
inc eax
sub eax, ecx
cmp edx, eax
jle 0x1000a84e
cmp edx, ecx
jg 0x1000a84e
lea esi, [ecx*4 - 3]
jmp 0x1000a881
test edx, edx
jle 0x1000a867
mov eax, edx
neg eax
cmp ecx, eax
jl 0x1000a867
cmp ecx, edx
jge 0x1000a867
lea esi, [edx*4 - 2]
jmp 0x1000a881
test ecx, ecx
jns 0x1000a881
cmp edx, ecx
jl 0x1000a881
mov eax, ecx
neg eax
cmp edx, eax
jge 0x1000a881
mov eax, ecx
or esi, 0xffffffff
shl eax, 2
sub esi, eax
push esi
push 0x10008198
call fcn.10055d0f
pop ecx
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1000a97b
push dword [ebp - 0x4c]
movdqa xmm0, xmmword [0x10008a70]
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0x48], ebx
push eax
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], ebx
movdqu xmmword [ebp - 0xec], xmm0
mov dword [ebp - 0x40], ebx
call fcn.10012921
mov dword [ebp - 0x20], ebx
jmp 0x1000a8dc
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], 0xfffffffa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x1000a8ce
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
add eax, ecx
xor ecx, ecx
cmp eax, 0xfffe
mov eax, dword [ebp - 0x1c]
setne cl
add eax, ecx
je 0x1000a90f
mov eax, dword [ebp - 0x64]
cmp dword [eax], ebx
je 0x1000a90f
xor ecx, ecx
inc ecx
jmp 0x1000a911
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
add eax, ecx
jne 0x1000a91b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
cmp eax, 1
setg cl
xor eax, eax
cmp edx, ecx
setl al
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], ecx
xor eax, eax
cmp ecx, 1
setne al
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.10055e77
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
inc dword [ebp - 0x14]
pop ecx
cmp dword [ebp - 0x14], ebx
jle 0x1000a896
inc dword [ebp - 0x7c]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jg 0x1000a9e2
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x3c], 0x69d0
je 0x1000a9cc
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp edx, eax
setle cl
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jne 0x1000a9cc
cmp dword [ebp - 0x7c], ebx
jne 0x1000a9cc
mov ecx, ebx
jmp 0x1000a9cf
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, dword [esi + 8]
setg al
mov dword [ebp - 0x68], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1000a992
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x64], 0
je 0x1000a9fe
push dword [ebp - 0x64]
call fcn.10055e77
pop ecx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
dec dword [ebp - 0x1c]
jns 0x1000a75a
cmp byte [ebp - 0x16], 0
je 0x1000abe1
push dword [ebp - 0x4c]
lea eax, [ebp - 0xec]
mov dword [ebp - 0x2c], 0xf5540d7f
push eax
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x58], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x54], ebx
push ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x50], ebx
movdqu xmmword [ebp - 0xfc], xmm0
call fcn.10012921
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x2c], 0x10
jmp 0x1000abb0
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x1000aa76
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xd0], 0x44d4e2b7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1000aa65
mov dword [ebp - 0x1c], ebx
jmp 0x1000aba3
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1000aa9d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xc8], 0x8a0c0902
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x1000aa8c
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jg 0x1000ab66
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x24], 0xfffffff8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000aac8
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0x20], 0x2bb2
xor ecx, ecx
mov eax, dword [ebp - 0x14]
neg eax
cmp eax, dword [esi + 4]
setle cl
cmp ecx, dword [ebp - 0x14]
jg 0x1000aaea
cmp dword [ebp - 0x14], ebx
jne 0x1000aaea
mov eax, ebx
jmp 0x1000aaed
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jle 0x1000ab22
mov dword [ebp - 0x20], 0xfffe
inc dword [ebp - 0x20]
jmp 0x1000ab5a
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1000ab5a
mov dword [ebp - 0x24], ebx
jmp 0x1000ab50
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000ab4a
push 0x28b
push ebx
push ebx
push 0x1800
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1000ab2f
dec dword [ebp - 0x20]
jns 0x1000ab2a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1000aab2
mov dword [ebp - 0x14], ebx
jmp 0x1000ab9a
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000ab97
push ebx
push 0xa
push 0x289
push 0x7fd
push 0x2581
push 0x2414
push 0x1a0d
push ebx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jl 0x1000ab6b
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jg 0x1000aa84
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x1000aa59
cmp dword [ebp - 0x58], 0
je 0x1000abd1
push dword [ebp - 0x58]
call fcn.10055e77
pop ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
push 0xe0b
push 0x1550
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x28], 0x3a4a
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x28], 0x6aabecba
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x28], 0xae8c9f36
push edi
call fcn.1000f401
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x14], ebx
jmp 0x1000ac28
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x87f2fb5a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000ac15
mov dword [ebp - 0x14], ebx
jmp 0x1000ac43
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0xfffffffd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000ac32
inc dword [ebp - 0xd4]
cmp dword [ebp - 0xa4], 0
je 0x1000ac63
push dword [ebp - 0xa4]
call fcn.10055e77
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret