Function at 0x409248
Capabilities:
Create process on windows

Disassembly:
push 0x238
mov eax, 0x439ac1
call fcn.0041ef30
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x228]
push str.ProcessRequestFromArmService...
call fcn.004020ed
xor ebx, ebx
lea eax, [ebp - 0x228]
push ebx
push eax
push 2
mov dword [ebp - 4], ebx
call fcn.00403241
mov ecx, dword [ebp - 0x228]
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00401a64
lea ecx, [ebp - 0x244]
call main
xor edi, edi
lea ecx, [ebp - 0x240]
inc edi
push esi
mov dword [ebp - 4], edi
call main
lea ecx, [ebp - 0x21c]
call fcn.00401369
mov byte [ebp - 4], 2
call fcn.00410229
push eax
lea ecx, [ebp - 0x22c]
call main
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 3
push eax
call fcn.00405ed4
pop ecx
test eax, eax
jne 0x409327
push str.Helper_finished__get_adobearm.exe_path_failed
lea ecx, [ebp - 0x228]
call fcn.004020ed
push 6
pop ebx
push ebx
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 4
push eax
push edi
call fcn.00403241
mov ecx, dword [ebp - 0x228]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00401a64
push ebx
call main
pop ecx
jmp 0x409726
call fcn.00410229
push eax
lea ecx, [ebp - 0x238]
call main
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x244]
call fcn.0040c7a3
push str.SYSTEM
push dword [ebp - 0x238]
call main
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 0x409397
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.00406d6f
add esp, 0xc
mov eax, dword [esi]
sub eax, 0x10
push eax
call main
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.0040811b
test eax, eax
jne 0x40947c
lea ecx, [ebp - 0x244]
call fcn.00408183
neg eax
sbb eax, eax
and eax, 0xfffeb3f8
add eax, 0x15f90
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0040ba87
pop ecx
pop ecx
test eax, eax
je 0x40945a
push str.Helper_finished__wait_for_adobearm.exe_to_exit_failed
lea ecx, [ebp - 0x220]
call fcn.004020ed
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.00403241
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ecx - 0x10]
call fcn.00401a64
push edi
call main
pop ecx
lea eax, [ebp - 0x221]
mov byte [ebp - 0x221], 0
push eax
push edi
push str.Launcher_Error
lea ecx, [ebp - 0x21c]
call main
mov ebx, edi
jmp 0x409710
lea ecx, [ebp - 0x244]
call fcn.004081d1
test eax, eax
je 0x40947c
lea eax, [ebp - 0x228]
push eax
call fcn.0040afe1
mov esi, dword [ebp - 0x228]
pop ecx
call fcn.00410229
push eax
lea ecx, [ebp - 0x23c]
call main
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x244]
call fcn.0040c6a0
lea eax, [ebp - 0x23c]
push 0x45185c
push eax
call main
mov ebx, str._BackFromArmUpdate
pop ecx
pop ecx
test al, al
jne 0x4096cd
push ebx
push esi
call main
pop ecx
pop ecx
test eax, eax
je 0x4096cd
test edi, edi
je 0x409600
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 0x409538
push str.ShellExecute_succeeded
call fcn.004020ed
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xa
push eax
push 2
call fcn.00403241
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
jmp 0x40968f
push str.ShellExecute_failed
call fcn.004020ed
push 2
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xb
push eax
xor eax, eax
inc eax
push eax
call fcn.00403241
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
push 2
pop ebx
push 0x43bfd8
lea ecx, [ebp - 0x230]
call fcn.004020ed
push str.Helper_failed
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0xe
call fcn.004020ed
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.00402aff
mov ecx, dword [ebp - 0x220]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x230]
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
lea eax, [ebp - 0x221]
mov byte [ebp - 0x221], 0
push eax
push ebx
push str.Launcher_Error
lea ecx, [ebp - 0x21c]
call main
mov eax, ebx
push eax
call main
pop ecx
jmp 0x409702
cmp dword [ebp - 0x234], 0
jne 0x409668
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.0040739a
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x40962c
cmp dword [ebp - 0x234], eax
jne 0x409668
push str.Unable_to_get_valid_token
lea ecx, [ebp - 0x220]
call fcn.004020ed
push ebx
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xc
push eax
xor eax, eax
inc eax
push eax
call fcn.00403241
mov ecx, dword [ebp - 0x220]
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ecx - 0x10]
call fcn.00401a64
jmp 0x409687
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00408b69
add esp, 0xc
mov ebx, eax
test ebx, ebx
jne 0x409570
push str.Helper_succeeded
lea ecx, [ebp - 0x220]
call fcn.004020ed
push 0
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xd
push eax
xor eax, eax
inc eax
push eax
call fcn.00403241
mov ecx, dword [ebp - 0x220]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.00401a64
xor eax, eax
jmp 0x4095f4
push ebx
lea ecx, [ebp - 0x230]
call fcn.004020ed
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.00408a13
pop ecx
pop ecx
mov ecx, dword [ebp - 0x230]
mov ebx, eax
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx - 0x10]
call fcn.00401a64
lea ecx, [esi - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x238]
lea ecx, [ecx - 0x10]
call fcn.00401a64
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.00401a64
lea ecx, [ebp - 0x21c]
call fcn.004014c0
lea ecx, [ebp - 0x244]
call fcn.0040c3a8
mov eax, ebx
call fcn.0041eeda
ret