Function at 0x100086e7
Capabilities:
Create pipe
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100621a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edi
cmp byte [edi], 0x50
jne 0x10008eb3
cmp byte [edi + 1], 0x4b
jne 0x10008eb3
push 2
pop esi
push esi
lea ecx, [esp + 0xb8]
call fcn.10005365
mov dword [esp + 0x1c], 0x1dbeccce
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x10008766
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10008754
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0xb4]
mov dword [eax], 0x1c
call fcn.100053c7
mov al, byte [edi + 2]
lea ecx, [esp + 0xa0]
xor edi, edi
mov byte [esp + 0x13], al
inc edi
push edi
call fcn.10005365
mov dword [esp + 0x14], ebx
jmp 0x100087b8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], 0x1f7e2799
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x100087a2
mov eax, dword [esp + 0xa0]
mov dword [eax], ebx
mov byte [esp + 0x27], bl
cmp byte [esp + 0x27], bl
je 0x100087db
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
mov byte [esp + 0x27], bl
cmp byte [esp + 0x27], bl
je 0x100087f1
push ebx
push 0x144b
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [esp + 0xa0]
inc dword [eax]
cmp dword [eax], esi
jl 0x100087c7
lea ecx, [esp + 0xa0]
call fcn.100053c7
mov edx, dword [esp + 0x38]
mov al, byte [edx + 3]
mov dword [esp + 0x14], 0x2c9cc141
mov dword [esp + 0xd8], 0xffffffff
mov byte [esp + 0x27], al
movzx eax, byte [esp + 0x13]
mov dword [esp + 0xdc], 0xffffffff
add eax, 4
mov dword [esp + 0xe0], 0xffffffff
mov dword [esp + 0xe4], 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ebx
jmp 0x1000886e
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xd0], 0xfff9
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1000885b
mov dword [esp + 0x18], ebx
jmp 0x1000888a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], 0x801897a4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1000887a
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x48], edi
jg 0x1000892c
mov dword [esp + 0x1c], 0x19ac
mov dword [esp + 0x1c], 0xc08872fa
mov dword [esp + 0x14], 0x289
mov dword [esp + 0x1c], 0x8819570a
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], 0xffbefa5f
mov dword [esp + 0x2c], 0x2ba7
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x100088ec
push 0xcf0
push 0x23dd
call dword [sym.imp.USER32.dll_MonitorFromWindow]
inc dword [esp + 0x2c]
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1000891a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10008914
push 0x110e
push 0x918
call dword [sym.imp.USER32.dll_GetWindowLongW]
dec dword [esp + 0x14]
jns 0x100088fa
inc dword [esp + 0x48]
cmp dword [esp + 0x48], edi
jle 0x1000889e
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], ebx
jmp 0x10008964
mov dword [esp + 0x1c], 0x8e04
xor ecx, ecx
mov dword [esp + 0x30], 0x9892657c
mov eax, dword [esp + 0x1c]
test eax, eax
sets cl
imul eax, ecx, 0x9a16
mov dword [esp + 0x30], eax
cmp dword [esp + 0xd0], ebx
jne 0x1000896b
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff6
jle 0x10008932
mov eax, dword [esp + 0x20]
push 3
lea ecx, [eax + edx]
add eax, 0x18
mov dword [esp + 0x20], ecx
pop ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
jmp 0x100089a5
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x104], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ecx
jl 0x10008992
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x100089d0
push edi
push 0x6d7
push 0x21e8
push 0x181b
push 0x22f7
call dword [sym.imp.USER32.dll_SetScrollRange]
mov dword [esp + 0x14], ebx
jmp 0x10008a4e
mov dword [esp + 0x28], 0xc9cc1417
mov dword [esp + 0x2c], 0xc7555b7c
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], ebx
jmp 0x10008a44
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10008a24
push ebx
push 0x13aa
push 0x56e
push 0x792
push 0x212b
push 0xf66
push 0x2703
push ebx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x10008a40
push ebx
push 0x59a
push ebx
push 0x2675
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
inc dword [esp + 0x28]
cmp dword [esp + 0x28], esi
jle 0x100089f4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x100089d6
movzx eax, byte [esp + 0x27]
add dword [esp + 0x20], eax
mov dword [esp + 0x28], 0x928c176b
mov dword [esp + 0x3c], 0xeb7bfbc3
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x28], edi
jg 0x10008d10
mov esi, 0xe6b87c26
push edi
lea ecx, [esp + 0x8c]
call fcn.10005365
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x18], 0xfe04822b
mov dword [esp + 0x14], ebx
jmp 0x10008ab8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
mov dword [eax + ecx*4], 0x9ac7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x10008aa2
mov dword [esp + 0x18], ebx
jmp 0x10008ce4
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0x10070cb0]
lea eax, [esp + 0xfc]
push eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x68], ebx
push eax
push ebx
lea ecx, [esp + 0x70]
mov dword [esp + 0x74], ebx
movdqu xmmword [esp + 0xf8], xmm0
mov dword [esp + 0x78], ebx
call fcn.100080c4
mov dword [esp + 0x40], 0xfffffffc
mov dword [esp + 0x30], 0xe2e4bcb8
mov dword [esp + 0x14], ebx
jmp 0x10008b28
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x54], 0x7b4bc66
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10008b18
mov dword [esp + 0x58], ebx
cmp dword [esp + 0x58], ebx
jl 0x10008cc0
mov dword [esp + 0x14], 0x4ad37400
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], ebx
jl 0x10008c9d
mov dword [esp + 0x2c], 0x223dec99
mov dword [esp + 0x30], 0x4064544a
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
mov dword [eax], edi
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x2c], ebx
jl 0x10008c93
mov dword [esp + 0x34], 3
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x34], ebx
jmp 0x10008bb4
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0xf8], 9
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 3
jl 0x10008ba1
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x34], 3
jg 0x10008c89
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
neg eax
je 0x10008bda
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov esi, edi
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
sub ecx, 0xfffffffa
neg ecx
sbb ecx, ecx
inc dword [esp + 0x74]
cmp eax, ecx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
cmove esi, ebx
xor ecx, ecx
cmp eax, esi
mov eax, dword [esp + 0x60]
setg cl
mov dword [eax + edx*4], ecx
xor edx, edx
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp ecx, eax
setge dl
xor ecx, ecx
imul edx, dword [esp + 0x58]
mov eax, dword [esp + 0x88]
cmp dword [eax + esi*4], edx
sete cl
xor edx, edx
imul esi, ecx, 0xbab2
mov dword [esp + 0xf8], esi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x88]
cmp esi, dword [eax + ecx*4]
setg dl
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
add eax, 2
sub eax, dword [esp + 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 3
jle 0x10008bca
mov esi, 0xe6b87c26
dec dword [esp + 0x2c]
jns 0x10008b83
dec dword [esp + 0x14]
jns 0x10008b53
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008cb6
push 0x684
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
dec dword [esp + 0x58]
jns 0x10008b3d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008cd7
push ebx
push 0xb0b
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
lea ecx, [esp + 0x60]
call fcn.100053c7
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x10008ac7
or dword [esp + 0x11c], 0xffffffff
lea ecx, [esp + 0x88]
call fcn.100053c7
inc dword [esp + 0x28]
cmp dword [esp + 0x28], edi
jle 0x10008a80
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
call fcn.100086db
mov esi, eax
mov dword [esp + 0x14], 0xfffffff8
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebx
jmp 0x10008d46
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x4c], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x10008d3a
mov dword [esp + 0x14], ebx
jmp 0x10008d92
mov dword [esp + 0x30], 0x2eaa29c1
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008d75
push 0x110e
push 0x918
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x4c]
cmp eax, edi
setge cl
add ecx, 0x7fd1e814
mov dword [esp + 0x30], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x10008d52
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008db0
push 0x314
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov dword [esp + 0x30], 0xffffffff
shr esi, 2
mov dword [esp + 0x40], 0xa6801fc3
inc esi
mov dword [esp + 0x3c], 0xde2bbef7
cmp dword [esp + 0x30], ebx
je 0x10008df5
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008e05
push 0x25e6
push 0x2674
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
jmp 0x10008e05
mov dword [esp + 0x3c], 0xfff6
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
mov dword [esp + 0xc0], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xc4], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xc8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x28], 0xfffffff7
mov dword [esp + 0x1c], 9
mov dword [esp + 0x28], 5
jmp 0x10008e6d
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10008e69
push ebx
push 0xb0b
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 0xa
je 0x10008e52
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
test esi, esi
je 0x10009072
mov edi, dword [esp + 0x2c]
sub dword [esp + 0x38], edi
mov ecx, dword [edi]
mov edx, ebx
and edx, 3
mov edx, dword [esp + edx*4 + 0xc0]
call fcn.100086db
mov ecx, dword [esp + 0x38]
inc ebx
mov dword [ecx + edi], eax
lea edi, [edi + 4]
cmp ebx, esi
jb 0x10008e8c
jmp 0x10009072
xor edi, edi
mov dword [esp + 0x3c], 0x25cb
inc edi
lea ecx, [esp + 0x94]
push edi
call fcn.10005365
mov dword [esp + 0x11c], edi
xor ebx, ebx
mov dword [esp + 0x2c], 0xa96141e4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], 0xdab9737e
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x10008f0c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x94]
mov dword [eax + ecx*4], 0xb7161ab6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10008ef6
mov dword [esp + 0x18], ebx
jmp 0x10008f24
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10008f18
mov edx, dword [esp + 0x50]
mov ecx, 0x3b01d91e
imul edx, dword [esp + 0x30]
neg edx
sbb edx, edx
neg edx
dec dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
sub ecx, eax
add ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x94]
cmp ecx, 0xffffffff
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
xor eax, eax
cmp ecx, edx
sete al
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], ebx
je 0x10009036
mov dword [esp + 0x38], 0xfffffffd
lea ecx, [esp + 0x7c]
mov dword [esp + 0x1c], ebx
push 2
call fcn.10005365
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jmp 0x10008fa5
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0xe522
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x10008f92
mov eax, dword [esp + 0x50]
xor ecx, ecx
cmp eax, 0x7963f6d1
setne cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x2c]
cmp eax, dword [esi + 4]
mov eax, dword [esp + 0x3c]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
shl ecx, 2
test ecx, ecx
jne 0x10008ffd
cmp dword [esi + 4], ebx
je 0x10009007
mov eax, dword [esp + 0x7c]
cmp dword [eax], ebx
je 0x10009007
mov ebx, edi
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x94]
imul ecx, ebx
add ecx, 0xb89
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x38]
cmp eax, edi
setg cl
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x7c]
call fcn.100053c7
jmp 0x1000905d
mov dword [esp + 0x20], ebx
jmp 0x1000904f
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xac], 0x9ba1
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jl 0x1000903c
dec dword [esp + 0xac]
lea ecx, [esp + 0x94]
call fcn.100053c7
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esp + 0x114]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret