Function at 0x408400
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x497d3b
mov eax, dword fs:[0]
push eax
sub esp, 0x310
mov eax, dword [0x4c4014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x310], eax
xor eax, eax
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 7
mov word [ebp - 0x2d0], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], 7
mov word [ebp - 0x24c], ax
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], 7
mov word [ebp - 0x2e8], ax
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], 7
mov word [ebp - 0x300], ax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x270]
push 0x20
push str._action_actionArgs_waitForFinish
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
call fcn.00402060
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x2d0]
mov ecx, edi
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.00412e60
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x25c]
cmp ecx, 8
jb 0x408552
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408548
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aca
push ecx
push edx
call fcn.00469a08
add esp, 8
cmp dword [ebp - 0x2bc], 8
lea ecx, [ebp - 0x2d0]
mov esi, dword [ebp - 0x2c0]
cmovae ecx, dword [ebp - 0x2d0]
cmp esi, 4
jne 0x40859c
mov edx, 0x4b0824
test esi, esi
je 0x408593
nop word [eax + eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x40859c
add ecx, 2
add edx, 2
sub esi, 1
jne 0x408580
mov byte [ebp - 0x318], 1
jmp 0x4085a3
mov byte [ebp - 0x318], 0
xor eax, eax
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
mov word [ebp - 0x288], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x234]
push 0x1e
push str._action_actionArgs_processName
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
call fcn.00402060
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x288]
mov ecx, edi
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.00412e60
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x40865c
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408652
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409acf
push ecx
push edx
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
mov eax, dword [0x4c8c88]
mov dword [ebp - 0x220], 7
test eax, eax
jne 0x4086b8
push 0x84
call fcn.004699d8
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x84
push 0
push esi
mov byte [ebp - 4], 7
call fcn.0046bbb0
add esp, 0x10
mov ecx, esi
call fcn.00405c80
mov byte [ebp - 4], 5
mov dword [0x4c8c88], eax
cmp dword [ebp - 0x274], 8
lea edx, [eax + 4]
mov eax, dword [edx]
lea ecx, [ebp - 0x288]
cmovae ecx, dword [ebp - 0x288]
push ecx
push str.Inside_handleCreateProcessAction__Process_Name_passed_to_service::__s
mov esi, dword [eax + 0x14]
mov ecx, esi
push edx
call dword [0x49e2d4]
call esi
xor eax, eax
mov dword [ebp - 0x2a0], 0
add esp, 0xc
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 7
mov word [ebp - 0x2a0], ax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x234]
push 0x1c
push str._action_actionArgs_sessionID
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
call fcn.00402060
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x2a0]
mov ecx, edi
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.00412e60
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x4087a1
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408797
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409ad4
push ecx
push edx
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], ax
mov eax, dword [0x4c8c88]
mov dword [ebp - 0x220], 7
test eax, eax
jne 0x4087fd
push 0x84
call fcn.004699d8
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x84
push 0
push esi
mov byte [ebp - 4], 0xa
call fcn.0046bbb0
add esp, 0x10
mov ecx, esi
call fcn.00405c80
mov byte [ebp - 4], 8
mov dword [0x4c8c88], eax
cmp dword [ebp - 0x28c], 8
lea edx, [eax + 4]
mov eax, dword [edx]
lea ecx, [ebp - 0x2a0]
cmovae ecx, dword [ebp - 0x2a0]
push ecx
push str.Inside_handleCreateProcessAction__SessionID_passed_to_service::__s
mov esi, dword [eax + 0x14]
mov ecx, esi
push edx
call dword [0x49e2d4]
call esi
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
movq qword [ebp - 0x258], xmm0
add esp, 0xc
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x234]
push 0x1a
push str._action_actionArgs_cmdArgs
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
call fcn.00402060
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x234]
mov ecx, edi
push eax
call fcn.00412c20
test eax, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x220]
setne al
mov byte [ebp - 0x301], al
cmp ecx, 8
jb 0x40890c
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4088fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409ad9
push ecx
push edx
call fcn.00469a08
mov al, byte [ebp - 0x301]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], cx
test al, al
je 0x408cd1
xorps xmm0, xmm0
mov dword [ebp - 0x308], ecx
movq qword [ebp - 0x2ac], xmm0
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], ecx
mov byte [ebp - 4], 0xd
push 0x21
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x270]
push str._action_actionArgs_cmdArgs_cmdArg
call fcn.00402060
lea eax, [ebp - 0x314]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x308]
mov ecx, edi
push eax
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.00412ca0
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0040a570
mov ecx, dword [ebp - 0x228]
test ecx, ecx
je 0x408a17
mov eax, dword [ebp - 0x220]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x4089ef
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409ade
push edx
push ecx
call fcn.00469a08
add esp, 8
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x25c]
cmp ecx, 8
jb 0x408a5b
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408a51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409ade
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x2ac]
xor edi, edi
cmp dword [ebp - 0x308], edi
jle 0x408c86
mov eax, dword [ebp - 0x2a8]
sub eax, ecx
mov dword [ebp - 0x314], ecx
sar eax, 2
mov dword [ebp - 0x30c], eax
nop word [eax + eax]
xor esi, esi
mov dword [ebp - 0x234], 0
mov edx, 7
mov dword [ebp - 0x224], esi
xor eax, eax
mov dword [ebp - 0x220], edx
mov word [ebp - 0x234], ax
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x30c], edi
jbe 0x408b18
test edi, edi
mov eax, ecx
cmovg eax, dword [ebp - 0x314]
mov eax, dword [eax]
test eax, eax
je 0x408b18
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x21c], eax
call fcn.0042a0d0
mov edx, eax
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408af0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x234]
call fcn.00402e00
mov edx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x224]
cmp edx, 8
lea ecx, [ebp - 0x234]
push 0xb
cmovae ecx, dword [ebp - 0x234]
mov edx, esi
push str.outGuidPath
push 0
setae byte [ebp - 0x301]
call fcn.0040a6c0
add esp, 0xc
test eax, eax
jle 0x408bf4
lea edx, [eax + 0xc]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
cmp esi, edx
jb 0x409ae3
sub esi, edx
lea eax, [ebp - 0x234]
or ecx, 0xffffffff
cmp esi, 0xffffffff
cmovb ecx, esi
cmp byte [ebp - 0x301], 0
push ecx
cmovne eax, dword [ebp - 0x234]
lea ecx, [ebp - 0x270]
lea eax, [eax + edx*2]
push eax
call fcn.00402060
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402cf0
mov ecx, dword [ebp - 0x25c]
cmp ecx, 8
jb 0x408bf4
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408bea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aca
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x254]
lea eax, [ebp - 0x234]
push eax
cmp ecx, dword [ebp - 0x250]
je 0x408c17
call fcn.00403570
add dword [ebp - 0x254], 0x18
jmp 0x408c28
push dword [ebp - 0x254]
lea ecx, [ebp - 0x258]
call fcn.00403380
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x408c6c
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408c62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aca
push ecx
push edx
call fcn.00469a08
add esp, 8
add dword [ebp - 0x314], 4
inc edi
mov ecx, dword [ebp - 0x2ac]
cmp edi, dword [ebp - 0x308]
jl 0x408a90
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x408d2c
mov eax, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2ac]
sub eax, ecx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x408cc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
jmp 0x408d29
mov eax, dword [0x4c8c88]
test eax, eax
jne 0x408d10
push 0x84
call fcn.004699d8
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x84
push 0
push esi
mov byte [ebp - 4], 0x10
call fcn.0046bbb0
add esp, 0x10
mov ecx, esi
call fcn.00405c80
mov byte [ebp - 4], 0xb
mov dword [0x4c8c88], eax
mov ecx, dword [eax + 4]
add eax, 4
push str.No_cmdArgs_nodes_in_xml_
push eax
mov esi, dword [ecx + 0x14]
mov ecx, esi
call dword [0x49e2d4]
call esi
add esp, 8
mov edi, dword [ebp - 0x274]
lea ecx, [ebp - 0x288]
mov esi, dword [ebp - 0x288]
cmp edi, 8
mov edx, dword [ebp - 0x278]
push 3
cmovae ecx, esi
setae byte [ebp - 0x301]
push 0x4b06ec
call fcn.00403c20
add esp, 8
test eax, eax
jne 0x409254
lea eax, [ebp - 0x24c]
push eax
call fcn.004060c0
test al, al
jne 0x408fa8
mov eax, dword [0x4c8c88]
test eax, eax
jne 0x408dbb
push 0x84
call fcn.004699d8
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x84
push 0
push esi
mov byte [ebp - 4], 0x11
call fcn.0046bbb0
add esp, 0x10
mov ecx, esi
call fcn.00405c80
mov byte [ebp - 4], 0xb
mov dword [0x4c8c88], eax
mov ecx, dword [eax + 4]
add eax, 4
push str.Could_not_copy_LBS_to_temp
push 0x4aea60
push eax
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x49e2d4]
call esi
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x21c], esp
push 0xd
push str.createProcess
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00402060
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
push 0x26
push str._output__result_Fail__result___output_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00402060
mov esi, dword [ebp - 0x310]
push esi
mov byte [ebp - 4], 0xb
call fcn.0040a1a0
lea ecx, [ebp - 0x258]
call fcn.00402d80
mov ecx, dword [ebp - 0x28c]
cmp ecx, 8
jb 0x408e88
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408e7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x274]
xor eax, eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 7
mov word [ebp - 0x2a0], ax
cmp ecx, 8
jb 0x408ee5
mov edx, dword [ebp - 0x288]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408edb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
mov word [ebp - 0x288], ax
cmp ecx, 8
jb 0x408f42
mov edx, dword [ebp - 0x24c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408f38
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x238], 7
cmp eax, 8
jb 0x409870
mov edx, dword [ebp - 0x2d0]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408f99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
jmp 0x409870
xor eax, eax
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
push 1
push 0x4af2a8
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x13
call fcn.00402f10
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
push dword [ebp - 0x23c]
cmovae eax, dword [ebp - 0x24c]
lea ecx, [ebp - 0x234]
push eax
call fcn.00402f10
push 1
push 0x4af2a8
lea ecx, [ebp - 0x234]
call fcn.00402f10
push 0xd
push str.__selfDelete
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
call fcn.00402060
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x270]
push dword [ebp - 0x224]
cmovae eax, dword [ebp - 0x234]
push eax
call fcn.00402f10
mov eax, dword [ebp - 0x254]
lea ecx, [ebp - 0x270]
push ecx
cmp eax, dword [ebp - 0x250]
je 0x40909c
mov ecx, eax
call fcn.00403570
add dword [ebp - 0x254], 0x18
jmp 0x4090a8
push eax
lea ecx, [ebp - 0x258]
call fcn.00403380
push 0
push 0x4aea60
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0
call fcn.00402060
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x409185
mov eax, dword [ebp - 0x2a8]
test eax, eax
je 0x409185
lea edi, [ecx + 0xb]
mov edx, 2
add edi, eax
xor ecx, ecx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00479701
mov esi, eax
add esp, 4
test esi, esi
je 0x409185
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push edi
push esi
call fcn.0047969d
add esp, 0xc
lea eax, [ebp - 0x2b8]
cmp dword [ebp - 0x2a4], 8
cmovae eax, dword [ebp - 0x2b8]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409160
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24c]
call fcn.00402e00
push esi
call fcn.00479682
add esp, 4
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x2a4]
cmp ecx, 8
jb 0x4091c9
mov edx, dword [ebp - 0x2b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4091bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409ae8
push ecx
push edx
call fcn.00469a08
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x25c]
cmp ecx, 8
jb 0x40920d
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409203
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x409527
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40951d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
jmp 0x40951d
cmp byte [ebp - 0x301], 0
lea ecx, [ebp - 0x288]
mov edx, dword [ebp - 0x278]
push 0xe
cmovne ecx, esi
push str.AdobeInstaller
call fcn.00403c20
add esp, 8
test eax, eax
jne 0x40988f
push eax
push 0x4aea60
lea ecx, [ebp - 0x24c]
call fcn.00402e00
lea edx, [ebp - 0x21c]
lea ecx, [ebp - 0x30c]
call fcn.00438590
cmp dword [ebp - 0x21c], 2
jne 0x4092c4
lea ecx, [ebp - 0x24c]
call fcn.00426d10
test al, al
je 0x409318
push 0x15
push str.Adobe_Desktop_Common
jmp 0x40930d
push 0
push 0x2b
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x409318
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4092e4
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24c]
call fcn.00402e00
push 0x1b
push str.AdobeAdobe_Desktop_Common
lea ecx, [ebp - 0x24c]
call fcn.00402f10
push 0x10
push str.ElevationManager
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
call fcn.00402060
mov byte [ebp - 4], 0x16
mov esi, 2
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x4093fa
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x4093fa
lea edi, [ecx + 0xb]
xor ecx, ecx
add edi, eax
mov eax, edi
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00479701
mov esi, eax
add esp, 4
test esi, esi
je 0x4093f5
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push edi
push esi
call fcn.0047969d
add esp, 0xc
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 8
cmovae eax, dword [ebp - 0x234]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4093d0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24c]
call fcn.00402e00
push esi
call fcn.00479682
add esp, 4
mov esi, 2
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x220]
cmp ecx, 8
jb 0x40943e
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409434
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409af2
push ecx
push edx
call fcn.00469a08
add esp, 8
push 0x13
push str.Adobe_Installer.exe
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
call fcn.00402060
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x40920d
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x40920d
lea edi, [ecx + 0xb]
xor ecx, ecx
add edi, eax
mov eax, edi
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00479701
mov esi, eax
add esp, 4
test esi, esi
je 0x40920d
cmp dword [ebp - 0x238], 8
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push edi
push esi
call fcn.0047969d
add esp, 0xc
lea eax, [ebp - 0x234]
cmp dword [ebp - 0x220], 8
cmovae eax, dword [ebp - 0x234]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4094f3
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24c]
call fcn.00402e00
push esi
call fcn.00479682
add esp, 4
jmp 0x40920d
push ecx
push edx
call fcn.00469a08
add esp, 8
push 0x30
call fcn.004699d8
push 0x30
mov edi, eax
push 0
push edi
mov dword [ebp - 0x21c], edi
call fcn.0046bbb0
add esp, 0x10
mov dword [edi], vtable.ProcessLauncher.0
mov dword [edi + 4], 0
xor eax, eax
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
push dword [ebp - 0x318]
mov dword [edi + 0x10], 0
sub esp, 0x18
mov word [edi + 0x10], ax
mov dword [edi + 0x20], 0
mov ecx, esp
mov dword [edi + 0x24], 7
mov byte [edi + 0x28], al
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x21c], esp
push eax
call fcn.00403570
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x258]
mov ecx, esp
push eax
call fcn.0040a600
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00406000
xor eax, eax
cmp dword [ebp - 0x290], eax
je 0x4095ce
lea ecx, [ebp - 0x2a0]
call fcn.004167e0
sub esp, 0x18
mov dword [edi + 0x2c], eax
mov ecx, esp
mov dword [ebp - 0x21c], esp
push 0xd
push str.createProcess
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00402060
mov byte [ebp - 4], 0x1b
sub esp, 0x18
mov eax, dword [edi]
push esp
mov esi, dword [eax]
mov ecx, esi
call dword [0x49e2d4]
mov ecx, edi
call esi
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0xb
push eax
call fcn.0040a1a0
push eax
lea ecx, [ebp - 0x2e8]
call fcn.00402cf0
mov ecx, dword [ebp - 0x25c]
cmp ecx, 8
jb 0x409670
mov edx, dword [ebp - 0x270]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov dword [edi], vtable.ProcessLauncher.0
mov ecx, dword [edi + 0x24]
cmp ecx, 8
jb 0x4096b0
mov eax, dword [edi + 0x10]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x4096a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
mov eax, edx
push ecx
push eax
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [edi + 0x20], 0
lea ecx, [edi + 4]
mov dword [edi + 0x24], 7
mov word [edi + 0x10], ax
call fcn.00402d80
push 0x30
push edi
call fcn.00469a08
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x258]
movups xmm0, xmmword [ebp - 0x2e8]
add esp, 8
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x2d8]
movq qword [eax + 0x10], xmm0
call fcn.00402d80
mov ecx, dword [ebp - 0x28c]
cmp ecx, 8
jb 0x409753
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409749
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x274]
xor eax, eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 7
mov word [ebp - 0x2a0], ax
cmp ecx, 8
jb 0x4097b0
mov edx, dword [ebp - 0x288]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4097a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
mov word [ebp - 0x288], ax
cmp ecx, 8
jb 0x40980d
mov edx, dword [ebp - 0x24c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409803
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x238], 7
cmp eax, 8
jb 0x40986a
mov edx, dword [ebp - 0x2d0]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409860
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov esi, dword [ebp - 0x310]
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.004699ca
mov esp, ebp
pop ebp
ret 8
mov eax, dword [0x4c8c88]
test eax, eax
jne 0x4098da
push 0x84
call fcn.004699d8
mov esi, eax
mov dword [ebp - 0x21c], esi
push 0x84
push 0
push esi
mov byte [ebp - 4], 0x18
call fcn.0046bbb0
add esp, 0x10
mov ecx, esi
call fcn.00405c80
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x274]
mov esi, dword [ebp - 0x288]
mov dword [0x4c8c88], eax
lea ecx, [eax + 4]
cmp edi, 8
lea eax, [ebp - 0x288]
cmovae eax, esi
mov esi, dword [ecx]
push eax
push str.Inside_handleCreateProcessAction__Invalid_Process_Name_passed_to_service::__s
push 0x4aea60
mov esi, dword [esi + 0x24]
push ecx
mov ecx, esi
call dword [0x49e2d4]
call esi
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x21c], esp
push 0xd
push str.createProcess
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00402060
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
push 0x26
push str._output__result_Fail__result___output_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00402060
mov esi, dword [ebp - 0x310]
push esi
mov byte [ebp - 4], 0xb
call fcn.0040a1a0
lea ecx, [ebp - 0x258]
call fcn.00402d80
mov ecx, dword [ebp - 0x28c]
cmp ecx, 8
jb 0x4099b3
mov edx, dword [ebp - 0x2a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4099a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x274]
xor eax, eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 7
mov word [ebp - 0x2a0], ax
cmp ecx, 8
jb 0x409a10
mov edx, dword [ebp - 0x288]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409a06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
mov ecx, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
mov word [ebp - 0x288], ax
cmp ecx, 8
jb 0x409a6d
mov edx, dword [ebp - 0x24c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x409a63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409aed
push ecx
push edx
call fcn.00469a08
add esp, 8
xor eax, eax
mov dword [ebp - 0x23c], 0
mov word [ebp - 0x24c], ax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x238], 7
cmp eax, 8
jb 0x409870
mov edx, dword [ebp - 0x2d0]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408f99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408f99
jmp 0x409aed
call fcn.00479631
call fcn.00479631
call fcn.00479631
call fcn.00479631
call fcn.00479631
call fcn.0040a6b0
call fcn.00479631
call fcn.00479631
call fcn.00479631
int3