Function at 0x423990
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47ef88
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x4ba070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be53d], 0
jne 0x423a38
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x6c], xmm0
test eax, eax
je 0x423a28
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be53d
sub esp, 0xc
push 0x22a
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x50
call fcn.004522f0
mov dword [ebp - 4], 0xffffffff
mov dword [0x4bf0e4], eax
jmp 0x423a40
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x4bf0e4], eax
jmp 0x423a40
xorps xmm0, xmm0
movsd qword [ebp - 0x6c], xmm0
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf0e4]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov ecx, dword [0x4bf0e4]
push str.OnInstallMsi:_Entry
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x4bf0e4]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf0e4]
lea ecx, [ecx + 0xd0]
call fcn.00452230
cmp dword [edi + 0x54], 1
mov eax, str.Agent.msi
je 0x423a96
mov eax, dword [edi + 0x58]
push eax
lea ecx, [ebp - 0x60]
call fcn.0041b250
lea ecx, [ebp - 0x74]
mov dword [ebp - 4], 1
call fcn.00419ae0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
push ecx
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.00427120
add esp, 4
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 5
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423ae4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
call fcn.00419ae0
push str.agent_install.log
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x58]
call fcn.0041b170
add esp, 4
mov edx, dword [ebp - 0x78]
add edx, 0xfffffff0
mov byte [ebp - 4], 9
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423b24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 8
call fcn.00419ae0
push str.fixer.log
mov edx, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x54]
call fcn.0041b170
add esp, 4
mov edx, dword [ebp - 0x7c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423b64
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
call fcn.00417540
mov ecx, eax
test ecx, ecx
je 0x42494a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
push eax
mov ecx, edi
call fcn.004236a0
test eax, eax
sete byte [ebp - 0x40]
test eax, eax
jne 0x423c86
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be55e], 0
jne 0x423c00
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x423bf5
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be55e
sub esp, 0xc
push 0x23a
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x48
call fcn.004522f0
jmp 0x423bf7
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4bf194], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf194]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov eax, dword [0x4bf194]
lea ecx, [ebp - 0x48]
push dword [ebp - 0x4c]
mov eax, dword [eax]
mov esi, dword [eax + 0x48]
call fcn.0041ae90
mov byte [ebp - 4], 0x11
push dword [eax]
push str.Installed_product_found__s
push dword [0x4bf194]
call esi
mov edx, dword [ebp - 0x48]
add esp, 0xc
add edx, 0xfffffff0
mov byte [ebp - 4], 0x12
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423c61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov ecx, dword [0x4bf194]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf194]
lea ecx, [ecx + 0xd0]
call fcn.00452230
jmp 0x423e9c
cmp dword [edi + 0x54], 1
jne 0x423e9c
cmp byte [edi + 0x5c], 0
jne 0x423e9c
lea ecx, [ebp - 0x48]
call fcn.0041b2f0
mov byte [ebp - 4], 0x13
call fcn.00419ad0
xor edx, edx
lea ecx, [ebp - 0x54]
test al, al
lea eax, [ebp - 0x48]
cmove ecx, edx
push ecx
push eax
call fcn.00422cb0
mov esi, dword [ebp - 0x48]
cmp dword [esi - 0xc], 0
lea edx, [esi - 0x10]
je 0x423e84
call fcn.00452480
mov edi, eax
mov ecx, edi
call fcn.00452220
cmp byte [0x4be54a], 0
jne 0x423d30
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x423d25
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be54a
sub esp, 0xc
push 0x246
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x20
call fcn.004522f0
jmp 0x423d27
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [0x4bf190], eax
mov ecx, edi
call fcn.00452230
mov ecx, dword [0x4bf190]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov eax, dword [0x4bf190]
lea ecx, [ebp - 0x40]
push esi
mov eax, dword [eax]
mov edi, dword [eax + 0x48]
call fcn.0041ae90
mov byte [ebp - 4], 0x15
push dword [eax]
push str.Run_fixer.cmd_error:__s
push dword [0x4bf190]
call edi
mov edx, dword [ebp - 0x40]
add esp, 0xc
add edx, 0xfffffff0
mov byte [ebp - 4], 0x16
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423d8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov ecx, dword [0x4bf190]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf190]
lea ecx, [ecx + 0xd0]
call fcn.00452230
mov byte [ebp - 4], 0x17
lea edx, [esi - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423dca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x18
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423de8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x19
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423e06
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1a
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423e24
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1b
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423e42
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x1c
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x423e61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x643
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0045561a
mov esp, ebp
pop ebp
ret 4
mov byte [ebp - 4], 0x1d
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423e9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
call fcn.00417540
mov ecx, eax
test ecx, ecx
je 0x424954
mov eax, dword [ecx]
call dword [eax + 0xc]
lea ecx, [eax + 0x10]
mov dword [ebp - 0x44], ecx
mov byte [ebp - 4], 0x1f
mov edx, 1
sub edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, 0x104
or eax, edx
jge 0x423ee2
push 0x104
lea ecx, [ebp - 0x44]
call fcn.0041bb10
mov ecx, dword [ebp - 0x44]
push 0x104
push ecx
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
neg eax
sbb esi, esi
neg esi
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x44]
push dword [ecx - 8]
push ecx
call fcn.00460740
mov edx, eax
add esp, 8
test edx, edx
js 0x424940
mov ecx, dword [ebp - 0x44]
cmp edx, dword [ecx - 8]
jg 0x424940
mov dword [ecx - 0xc], edx
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 0x1f
mov word [eax + edx*2], cx
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x423f42
movzx eax, ax
or eax, 0x80070000
test esi, esi
je 0x42495e
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov word [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x22
lea edx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x44]
call fcn.0042d3d0
add esp, 4
test al, al
jne 0x424113
cmp byte [ebp - 0x23], al
jne 0x424113
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
jne 0x424113
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be4e1], 0
jne 0x424004
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x23
test eax, eax
je 0x423ff9
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be4e1
sub esp, 0xc
push 0x258
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x20
call fcn.004522f0
jmp 0x423ffb
xor eax, eax
mov byte [ebp - 4], 0x22
mov dword [0x4bf244], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf244]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov ecx, dword [0x4bf244]
push str.Cannt_check_MSI_signature_or_file_is_broken
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x4bf244]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf244]
lea ecx, [ecx + 0xd0]
call fcn.00452230
lea ecx, [ebp - 0x20]
call fcn.00427490
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x24
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424072
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x25
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424090
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x26
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4240ae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x27
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4240cc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x28
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4240ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x29
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x424109
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0xd
jmp 0x423e66
lea ecx, [ebp - 0x20]
call fcn.00427490
mov dword [ebp - 4], 0x32
call fcn.00417540
mov ecx, eax
test ecx, ecx
je 0x424964
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x33
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x58]
mov ecx, edi
push dword [ebp + 8]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004237d0
test al, al
jne 0x424227
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x34
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42417f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x35
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42419d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x36
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4241bb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x37
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4241d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x38
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4241f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x39
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424215
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x3a
jmp 0x4240f7
cmp dword [edi + 0x54], 1
jne 0x4243f4
cmp byte [edi + 0x5c], 0
jne 0x4243f4
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], vtable.std::_Func_impl_no_alloc_class__lambda_5e599d9188817d71e7449ac88588eadf___void__char_const__.0
mov dword [ebp - 0x18], eax
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.00448070
test al, al
sete al
mov byte [ebp - 0x4d], al
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x424279
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x3c]
cmp ecx, eax
setne al
push eax
call edx
mov al, byte [ebp - 0x4d]
mov byte [ebp - 4], 0x33
test al, al
je 0x4243f4
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be53e], 0
jne 0x4242e6
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x4242db
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be53e
sub esp, 0xc
push 0x26f
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x20
call fcn.004522f0
jmp 0x4242dd
xor eax, eax
mov byte [ebp - 4], 0x33
mov dword [0x4bf14c], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf14c]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov ecx, dword [0x4bf14c]
push str.Failed_to_remove_delayed_installation
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x4bf14c]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf14c]
lea ecx, [ecx + 0xd0]
call fcn.00452230
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3e
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42434c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3f
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42436a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x40
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424388
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x41
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4243a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x42
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4243c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x43
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4243e2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x44
jmp 0x423e4f
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be551], 0
jne 0x424455
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x45
test eax, eax
je 0x42444a
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be551
sub esp, 0xc
push 0x274
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x48
call fcn.004522f0
jmp 0x42444c
xor eax, eax
mov byte [ebp - 4], 0x33
mov dword [0x4bf258], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf258]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov eax, dword [0x4bf258]
lea ecx, [ebp - 0x40]
mov esi, dword [ebp - 0x48]
push esi
mov eax, dword [eax]
mov edi, dword [eax + 0x48]
call fcn.0041ae90
mov byte [ebp - 4], 0x46
push dword [eax]
push str.Starting_msiexec__command_line___s_...
push dword [0x4bf258]
call edi
mov edx, dword [ebp - 0x40]
add esp, 0xc
add edx, 0xfffffff0
mov byte [ebp - 4], 0x47
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4244b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x33
mov ecx, dword [0x4bf258]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf258]
lea ecx, [ecx + 0xd0]
call fcn.00452230
push str.msiexec.exe
lea ecx, [ebp - 0x70]
call fcn.0041b250
push str.CAuxiliaryService::OnInstallMsi
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x2c]
push 0x3a980
push eax
push ecx
lea eax, [esi - 0x10]
mov dword [ebp - 0x2c], 0
mov edi, esp
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], edi
mov ecx, eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x80], esp
mov dword [ebp - 0x40], eax
call fcn.0041bab0
add eax, 0x10
mov dword [edi], eax
push ecx
mov byte [ebp - 4], 0x49
mov esi, esp
mov dword [ebp - 0x64], esi
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx - 0x10]
call fcn.0041bab0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x48
call fcn.004262e0
mov edi, eax
mov ecx, edi
call fcn.00448490
test al, al
je 0x424613
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be563], 0
jne 0x4245d0
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x4a
test eax, eax
je 0x4245c5
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be563
sub esp, 0xc
push 0x27c
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x50
call fcn.004522f0
jmp 0x4245c7
xor eax, eax
mov byte [ebp - 4], 0x48
mov dword [0x4bf134], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf134]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov ecx, dword [0x4bf134]
push edi
push str.OnInstallMsi:_msiexec_succeeded_with_code__lu
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x4bf134]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf134]
jmp 0x4246b2
call fcn.00452480
mov esi, eax
mov ecx, esi
call fcn.00452220
cmp byte [0x4be558], 0
jne 0x424674
mov ecx, 0xf0
call fcn.00452af0
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 0x4b
test eax, eax
je 0x424669
movsd xmm0, qword [ebp - 0x6c]
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4be558
sub esp, 0xc
push 0x280
push str.C:BuildAgentwork4d643bb3f4c71f96RemoteInstallerAuxiliaryServiceAuxiliaryService.cpp
push 0x20
call fcn.004522f0
jmp 0x42466b
xor eax, eax
mov byte [ebp - 4], 0x48
mov dword [0x4bf130], eax
mov ecx, esi
call fcn.00452230
mov ecx, dword [0x4bf130]
lea ecx, [ecx + 0xd0]
call fcn.00452220
mov ecx, dword [0x4bf130]
push edi
push str.OnInstallMsi:_msiexec_failed_with_code__lu
push ecx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov ecx, dword [0x4bf130]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4bf130]
lea ecx, [ecx + 0xd0]
call fcn.00452230
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4c
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4246db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4d
mov eax, ebx
mov edx, dword [ebp - 0x40]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4246f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4e
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424714
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x4f
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424732
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x50
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x424750
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x51
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42476e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x52
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42478c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov dword [ebp - 4], 0x53
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x4247ab
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
jmp 0x423e66
push 0x80070057
call fcn.00417140
push 0x80004005
call fcn.00417140
push 0x80004005
call fcn.00417140
push eax
call fcn.00417140
push 0x80004005
call fcn.00417140
int3