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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6063b2
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x6c2d9c]
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.004ae670
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 0x54dcd3
push eax
push 0x62d970
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0044e500
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.00541750
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.004ae670
mov esi, dword [ebp - 0x30]
add esp, 0x18
test esi, esi
je 0x54dc65
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 0x54d65a
cmp esi, 0x7fffffff
ja 0x54dd5f
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x54d616
mov esi, SysReAllocString
jmp 0x54d620
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.004398e0
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 0x62ca44
lea ecx, [ebp - 0xe8]
call fcn.00450ff0
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.00450ff0
push 1
push 0x62ca44
lea ecx, [ebp - 0xe8]
call fcn.00450ff0
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 0x54d712
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54d6f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54dd64
push edx
push ecx
call fcn.0055d3b2
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.00438a90
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 2
call fcn.00438a90
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.004614e0
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 0x54d770
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__appID
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d7b5
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d800
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__appVersion
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d854
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
mov eax, dword [ebp - 0xc8]
push dword [eax + 4]
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d8a0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__appProfileScope
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d8f4
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
mov eax, dword [ebp - 0xc8]
push dword [eax + 8]
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d940
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__appPath
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d994
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
mov eax, dword [ebp - 0xc8]
push dword [eax + 0xc]
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54d9e0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__updaterVersion
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54da34
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
push 0x62d920
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54da76
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
add esp, 4
lea ecx, [ebp - 0x28]
push 1
push 0x62ffac
call fcn.00452c10
push str.__callerId
call fcn.004614e0
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 0x54dad0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
mov eax, dword [ebp - 0xc8]
push dword [eax + 0x10]
call fcn.004614e0
add esp, 8
lea ecx, [ebp - 0x28]
mov esi, eax
push 1
push 0x62d290
call fcn.00452c10
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54db16
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.00452c10
push 1
push 0x62d290
lea ecx, [ebp - 0x28]
call fcn.00452c10
push esi
call fcn.00587396
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.00541b70
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.004614e0
mov esi, eax
add esp, 4
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x54db85
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x58]
call fcn.0044e500
push esi
call fcn.00587396
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 0x54dc43
lea ecx, [ebp - 0x70]
mov esi, 0x109
call fcn.00438a90
jmp 0x54dc83
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.00438a90
jmp 0x54dc83
push str.GC_client_not_found__
push 0
push 2
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004ae670
add esp, 0x14
mov esi, 0x103
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x54dcb7
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x54dcad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54dd69
push edx
push ecx
call fcn.0055d3b2
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.004389a0
jmp 0x54dcf1
push str.Invalid_params
push 0
push 5
push str.AdobeGCUpdaterNGLIC
push dword [edi + 4]
call fcn.004ae670
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.004ae670
mov edx, dword [ebp - 0x44]
add esp, 0x14
cmp edx, 8
jb 0x54dd40
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x54dd36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x54dd6e
push edx
push ecx
call fcn.0055d3b2
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.0055d371
mov esp, ebp
pop ebp
ret 8
call fcn.0044b380
call fcn.0057bc5b
call fcn.0057bc5b
call fcn.0057bc5b
int3