Function at 0x57aaa0
Capabilities:
Create a process with modified i/o handles and window
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63ac52
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x6f8b74]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
push str.Invoking_GC_client_started
push 0
push 4
mov dword [ebp - 0xcc], 0
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
mov dword [ebp - 0xc8], esi
call fcn.004515c0
xor eax, eax
mov dword [ebp - 0x48], 0
add esp, 0x14
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov dword [ebp - 4], eax
test esi, esi
je 0x57b293
push eax
push 0x664d64
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00446390
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.0056e9e0
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push str.path_found_is___s
push 0
push 4
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004515c0
mov esi, dword [ebp - 0x30]
add esp, 0x18
test esi, esi
je 0x57b225
inc esi
mov byte [ebp - 4], 3
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
mov dword [ebp - 0xcc], 1
cmp esi, 0xf
jbe 0x57ac1a
cmp esi, 0x7fffffff
ja 0x57b31f
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x57abd6
mov esi, SysReAllocString
jmp 0x57abe0
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
xor ecx, ecx
mov eax, esi
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.004368e0
mov ecx, eax
mov dword [ebp - 0xd4], esi
mov al, byte [ebp - 0xe8]
mov byte [ecx], al
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xd8], 0
push 1
push 0x664490
lea ecx, [ebp - 0xe8]
call fcn.00448040
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
push eax
call fcn.00448040
push 1
push 0x664490
lea ecx, [ebp - 0xe8]
call fcn.00448040
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x2c]
movq qword [ebp - 0xd0], xmm1
movq qword [ebp - 0xf0], xmm1
movups xmmword [ebp - 0x110], xmm0
movups xmmword [ebp - 0x100], xmm0
cmp edx, 0x10
jb 0x57acd2
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57acb9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57b324
push edx
push ecx
call fcn.005b5296
movups xmm0, xmmword [ebp - 0x110]
add esp, 8
movq xmm1, qword [ebp - 0xd0]
lea ecx, [ebp - 0x100]
movq qword [ebp - 0x30], xmm1
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
call fcn.00435a90
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 2
call fcn.00435a90
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57ad30
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__appID
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57ad75
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57adc0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__appVersion
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57ae14
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57ae60
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__appProfileScope
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57aeb4
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
mov eax, dword [ebp - 0xc8]
push dword [eax + 8]
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57af00
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__appPath
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57af54
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
mov eax, dword [ebp - 0xc8]
push dword [eax + 0xc]
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57afa0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__updaterVersion
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57aff4
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
push 0x663e9c
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57b036
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x69d104
call fcn.00457e60
push str.__callerId
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57b090
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
mov eax, dword [ebp - 0xc8]
push dword [eax + 0x10]
call fcn.004523a0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x66375c
call fcn.00457e60
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57b0d6
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00457e60
push 1
push 0x66375c
lea ecx, [ebp - 0x28]
call fcn.00457e60
push esi
call fcn.005c11be
add esp, 4
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
push 0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 4
push eax
mov ecx, edi
call fcn.0056ee00
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.004523a0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57b145
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x58]
call fcn.00446390
push esi
call fcn.005c11be
add esp, 4
mov dword [ebp - 0xb4], 0x44
cmp dword [ebp - 0x44], 8
lea edx, [ebp - 0xc4]
lea eax, [ebp - 0x58]
xorps xmm0, xmm0
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
push edx
cmovae ecx, dword [ebp - 0x28]
lea edx, [ebp - 0xb4]
push edx
push eax
push 0
push 0x8000000
push 0
push 0
push 0
push ecx
push 0
movlpd qword [ebp - 0xb0], xmm0
movlpd qword [ebp - 0xa8], xmm0
movlpd qword [ebp - 0xa0], xmm0
movlpd qword [ebp - 0x98], xmm0
movlpd qword [ebp - 0x90], xmm0
movlpd qword [ebp - 0x88], xmm0
movlpd qword [ebp - 0x80], xmm0
movlpd qword [ebp - 0x78], xmm0
movups xmmword [ebp - 0xc4], xmm0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x57b203
lea ecx, [ebp - 0x70]
mov esi, 0x109
call fcn.00435a90
jmp 0x57b243
push dword [ebp - 0xc4]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0xc0]
call esi
lea ecx, [ebp - 0x70]
xor esi, esi
call fcn.00435a90
jmp 0x57b243
push str.GC_client_not_found__
push 0
push 2
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004515c0
add esp, 0x14
mov esi, 0x103
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x57b277
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57b26d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57b329
push edx
push ecx
call fcn.005b5296
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.004359a0
jmp 0x57b2b1
push str.Invalid_params
push 0
push 5
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004515c0
add esp, 0x14
mov esi, 0x101
push str.Invoking_GC_client_completed
push 0
push 4
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004515c0
mov edx, dword [ebp - 0x44]
add esp, 0x14
cmp edx, 8
jb 0x57b300
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x57b2f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57b32e
push edx
push ecx
call fcn.005b5296
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b56fe
mov esp, ebp
pop ebp
ret 8
call fcn.00446270
call fcn.005c116d
call fcn.005c116d
call fcn.005c116d
int3