Function at 0x407c52
Capabilities:
Create process on windows

Disassembly:
push 0x238
mov eax, 0x435003
call fcn.0041aa70
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x228]
push str.ProcessRequestFromArmService...
call fcn.004020dd
xor ebx, ebx
lea eax, [ebp - 0x228]
push ebx
push eax
push 2
mov dword [ebp - 4], ebx
call fcn.00403231
mov ecx, dword [ebp - 0x228]
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00401a54
lea ecx, [ebp - 0x244]
call fcn.00409b40
xor edi, edi
lea ecx, [ebp - 0x240]
inc edi
push esi
mov dword [ebp - 4], edi
call fcn.004021f9
lea ecx, [ebp - 0x21c]
call fcn.00401359
mov byte [ebp - 4], 2
call fcn.0040bd69
push eax
lea ecx, [ebp - 0x22c]
call fcn.00401320
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 3
push eax
call fcn.00405683
pop ecx
test eax, eax
jne 0x407d31
push str.Helper_finished__get_adobearm.exe_path_failed
lea ecx, [ebp - 0x228]
call fcn.004020dd
push 6
pop ebx
push ebx
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 4
push eax
push edi
call fcn.00403231
mov ecx, dword [ebp - 0x228]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00401a54
push ebx
call fcn.004081f6
pop ecx
jmp 0x408130
call fcn.0040bd69
push eax
lea ecx, [ebp - 0x238]
call fcn.00401320
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x244]
call fcn.00409f63
push str.SYSTEM
push dword [ebp - 0x238]
call fcn.0041fbee
pop ecx
pop ecx
test eax, eax
mov dword [ebp - 0x234], ebx
push 1
mov edi, ebx
pop eax
cmove edi, eax
test edi, edi
jne 0x407da1
lea eax, [ebp - 0x230]
mov dword [ebp - 0x230], ebx
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.00405dff
add esp, 0xc
mov eax, dword [esi]
sub eax, 0x10
push eax
call fcn.00402448
pop ecx
lea esi, [eax + 0x10]
mov dword [ebp - 0x228], esi
push 6
pop ebx
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], bl
call fcn.0040701b
test eax, eax
jne 0x407e86
lea ecx, [ebp - 0x244]
call fcn.0040704f
neg eax
sbb eax, eax
and eax, 0xfffeb3f8
add eax, 0x15f90
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00409269
pop ecx
pop ecx
test eax, eax
je 0x407e64
push str.Helper_finished__wait_for_adobearm.exe_to_exit_failed
lea ecx, [ebp - 0x220]
call fcn.004020dd
push 3
pop edi
push edi
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 7
push eax
xor eax, eax
inc eax
push eax
call fcn.00403231
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ecx - 0x10]
call fcn.00401a54
push edi
call fcn.004081f6
pop ecx
lea eax, [ebp - 0x221]
mov byte [ebp - 0x221], 0
push eax
push edi
push str.Launcher_Error
lea ecx, [ebp - 0x21c]
call fcn.00401bcc
mov ebx, edi
jmp 0x40811a
lea ecx, [ebp - 0x244]
call fcn.00407083
test eax, eax
je 0x407e86
lea eax, [ebp - 0x228]
push eax
call fcn.004087a8
mov esi, dword [ebp - 0x228]
pop ecx
call fcn.0040bd69
push eax
lea ecx, [ebp - 0x23c]
call fcn.00401320
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x244]
call fcn.00409e60
lea eax, [ebp - 0x23c]
push 0x449824
push eax
call fcn.00404031
mov ebx, str._BackFromArmUpdate
pop ecx
pop ecx
test al, al
jne 0x4080d7
push ebx
push esi
call fcn.0041fbee
pop ecx
pop ecx
test eax, eax
je 0x4080d7
test edi, edi
je 0x40800a
push 5
xor ebx, ebx
push ebx
push esi
push dword [ebp - 0x22c]
push ebx
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x220]
cmp eax, 0x21
jb 0x407f42
push str.ShellExecute_succeeded
call fcn.004020dd
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xa
push eax
push 2
call fcn.00403231
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a54
jmp 0x408099
push str.ShellExecute_failed
call fcn.004020dd
push 2
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xb
push eax
xor eax, eax
inc eax
push eax
call fcn.00403231
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a54
push 2
pop ebx
push 0x436f68
lea ecx, [ebp - 0x230]
call fcn.004020dd
push str.Helper_failed
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0xe
call fcn.004020dd
push ebx
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x220]
push eax
xor eax, eax
inc eax
push eax
call fcn.00402aef
mov ecx, dword [ebp - 0x220]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.00401a54
mov ecx, dword [ebp - 0x230]
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a54
lea eax, [ebp - 0x221]
mov byte [ebp - 0x221], 0
push eax
push ebx
push str.Launcher_Error
lea ecx, [ebp - 0x21c]
call fcn.00401bcc
mov eax, ebx
push eax
call fcn.004081f6
pop ecx
jmp 0x40810c
cmp dword [ebp - 0x234], 0
jne 0x408072
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.00406431
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x408036
cmp dword [ebp - 0x234], eax
jne 0x408072
push str.Unable_to_get_valid_token
lea ecx, [ebp - 0x220]
call fcn.004020dd
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xc
push eax
xor eax, eax
inc eax
push eax
call fcn.00403231
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a54
jmp 0x408091
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00407903
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x407f7a
push str.Helper_succeeded
lea ecx, [ebp - 0x220]
call fcn.004020dd
push 0
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xd
push eax
xor eax, eax
inc eax
push eax
call fcn.00403231
mov ecx, dword [ebp - 0x220]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00401a54
xor eax, eax
jmp 0x407ffe
push ebx
lea ecx, [ebp - 0x230]
call fcn.004020dd
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.004077ad
pop ecx
pop ecx
mov ecx, dword [ebp - 0x230]
mov ebx, eax
lea ecx, [ecx - 0x10]
call fcn.00401a54
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.00401a54
lea ecx, [esi - 0x10]
call fcn.00401a54
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.00401a54
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.00401a54
lea ecx, [ebp - 0x21c]
call fcn.004014b0
lea ecx, [ebp - 0x244]
call fcn.00409b63
mov eax, ebx
call fcn.0041aa1a
ret