Function at 0x1004bf5f
Capabilities:
Connect pipe

Disassembly:
mov eax, 0x1008cb4a
call fcn.1008b0b0
sub esp, 0x94
cmp byte [ebp + 0xc], 0
push esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], ecx
je 0x1004bfdd
mov dword [ebp + 0xc], 0
jmp 0x1004bf93
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x20], 0x5b9b55bb
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 1
jl 0x1004bf85
push 3
mov dword [ebp - 0x20], 0
pop esi
jmp 0x1004bfcb
mov byte [ebp + 0xf], 0
cmp byte [ebp + 0xf], 0
je 0x1004bfc8
push 0x173a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jge 0x1004bfa5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax], 0
jmp 0x1004c4cf
push ebx
push 3
pop esi
push esi
lea ecx, [ebp - 0x58]
call fcn.10015795
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], 0xce96f8f9
mov dword [ebp + 0xc], ebx
jmp 0x1004c00e
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0x399841b3
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1004bffe
push edi
mov edi, dword [ebp - 0x58]
mov dword [edi + 4], 0xfffffff8
mov dword [ebp - 0x14], 6
lea ecx, [ebp - 0x7c]
mov dword [ebp + 0xc], 0xffffffff
push esi
call fcn.10015795
mov byte [ebp - 4], 1
mov dword [ebp + 0xc], ebx
jmp 0x1004c04e
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1004c03e
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x18], 0xcadd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ebx, ebx
cmp edx, dword [edi + 4]
setge bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
setl cl
imul ecx, dword [edi + 4]
add edx, ecx
neg edx
sbb edx, edx
neg edx
sub edx, eax
sub edx, dword [ebp - 0x14]
mov eax, dword [edi + 4]
neg edx
sbb edx, edx
inc edx
sub eax, edx
cmp eax, 0xa3de81d5
jb 0x1004c15d
mov dword [ebp - 0x18], 0x4688d239
lea ecx, [ebp - 0x70]
push 4
call fcn.10015795
xor ebx, ebx
mov dword [ebp + 0xc], ebx
jmp 0x1004c0e4
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 1
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 4
jl 0x1004c0d4
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], bl
je 0x1004c103
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp dword [ebp - 0x14], ebx
jne 0x1004c118
mov dword [ebp + 0xc], 1
cmp dword [ebp + 0xc], ebx
jne 0x1004c118
mov ecx, ebx
jmp 0x1004c11b
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
sub ecx, eax
imul ecx, dword [ebp - 0x10]
xor eax, eax
cmp ecx, 0x87b332e0
setne al
add eax, dword [ebp - 0x10]
jne 0x1004c141
mov eax, dword [ebp - 0x58]
cmp dword [eax + 8], ebx
je 0x1004c141
xor edx, edx
inc edx
jmp 0x1004c143
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x70]
setne cl
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x70]
call fcn.10015a17
jmp 0x1004c190
xor ebx, ebx
mov dword [ebp - 0x18], ebx
jmp 0x1004c18a
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], bl
je 0x1004c187
push ebx
push 0x1ede
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1004c164
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call fcn.10015a17
inc dword [edi + 4]
cmp dword [edi + 4], 0xc
jle 0x1004c01e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.10015a17
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x14], 0xd921b0ae
mov dword [ebp - 0x10], 0x510afbd1
mov dword [ebp + 0xc], 0x3fd52a42
mov dword [ebp - 0x18], 1
push 4
call fcn.10015795
mov dword [ebp - 0x24], 0xc44f031b
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x10], ebx
jmp 0x1004c200
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1004c1f4
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp + 0xc]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp + 0xc], ecx
inc edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
add eax, 0x4ee21d57
add eax, ecx
xor ecx, ecx
test eax, eax
setns cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x64]
mov dword [edi + 0xc], ebx
cmp dword [ebp - 0x18], ebx
je 0x1004c299
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], 0
je 0x1004c3aa
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
jmp 0x1004c3aa
mov dword [ebp - 0x40], 0x18a84d23
mov dword [ebp + 0xc], 0xdae11cd4
mov dword [ebp + 0xc], 0x9d6b80f4
mov dword [ebp + 0xc], 0xfffffffa
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp + 0xc], ebx
jmp 0x1004c2d8
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x88], 0xa94
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1004c2c7
mov dword [ebp + 0xc], ebx
jmp 0x1004c2ec
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x34], edx
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], edx
jl 0x1004c2e2
mov dword [ebp + 0xc], ebx
jmp 0x1004c307
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0xa0], 0x8616691c
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1004c2f6
mov dword [ebp + 0xc], ebx
jmp 0x1004c322
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x94], 0x30c1abdd
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jl 0x1004c311
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0xfffffffb
setle cl
xor edx, edx
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp + 0xc]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp dword [edi + 0xc], ebx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x84]
setne cl
xor ebx, ebx
cmp eax, ecx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp + 0xc]
setge bl
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, ebx
setl al
xor edx, edx
cmp eax, dword [edi + 0xc]
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
sete cl
xor ebx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp + 0xc], 0xa61b3e23
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x64]
imul edx, dword [edi + 0xc]
imul ecx, dword [eax]
imul ecx, edx
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x64]
call fcn.10015a17
push 4
lea ecx, [ebp - 0x4c]
call fcn.10015795
mov dword [ebp + 0xc], 0x3d7f1912
mov dword [ebp + 0xc], ebx
pop edi
jmp 0x1004c3ff
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0x6c05baf4
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 4
jl 0x1004c3ef
mov dword [ebp + 0xc], ebx
jmp 0x1004c418
mov eax, dword [ebp + 0xc]
mov dword [ebp + eax*4 - 0x2c], 0x8da8e97e
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 2
jl 0x1004c40a
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], ebx
jl 0x1004c478
mov dword [ebp + 0xc], 0xa3dfad5b
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x28]
cmp eax, 0x20b963ab
jge 0x1004c43d
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
mov eax, dword [ebp - 0x4c]
cmp dword [eax + ecx*4], ebx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
setne bl
cmp dword [eax + ecx*4], 0xe6f7fbf2
sbb edx, edx
xor ecx, ecx
neg edx
cmp ebx, 0x1188
setne cl
xor eax, eax
cmp edx, ecx
setne al
mov dword [ebp + 0xc], eax
dec dword [ebp - 0x28]
jns 0x1004c426
xor ebx, ebx
mov dword [ebp + 0xc], esi
cmp dword [ebp + 0xc], ebx
pop ebx
jl 0x1004c4bd
mov dword [ebp - 0x1c], 0x39ee
mov dword [ebp - 0x1c], 0xb42be197
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0xfa4c8210
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0x66ef3b06
mov dword [ebp - 0x24], 0x1dd2
dec dword [ebp - 0x24]
dec dword [ebp + 0xc]
jns 0x1004c481
lea ecx, [ebp - 0x4c]
call fcn.10015a17
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret