Function at 0x45fca0
Capabilities:
Check http status code
Delete file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b37ca
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4e96d0]
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, ecx
mov dword [ebp - 0x58], eax
push eax
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x34], 0
call fcn.00451be0
push 0x4ce6c0
lea eax, [ebp - 0x94]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00419430
add esp, 0xc
push 0x4f3948
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.00419370
add esp, 4
mov byte [ebp - 4], 3
or edi, 0xffffffff
mov edx, dword [ebp - 0x80]
mov eax, edi
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x45fd3d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45fd59
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x7c], eax
add eax, 0x10
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 4
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3c4a], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x70], xmm0
jne 0x45fde1
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x45fdd6
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c4a
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x4f
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x45fdd8
xor eax, eax
mov byte [ebp - 4], 4
mov dword [0x4f414c], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f414c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x44], eax
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45fe1e
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x45fe62
test eax, 0xffff0000
jne 0x45fe62
movzx eax, ax
push 0
push eax
mov dword [ebp - 0x44], eax
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x45fe6e
push dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
push eax
call fcn.0041adc0
jmp 0x45fe6b
push eax
lea ecx, [ebp - 0x30]
call fcn.00418c30
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 7
mov eax, dword [0x4f414c]
push esi
push str.Connect_to_SCM_on_the__s...
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
add esi, 0xfffffff0
mov byte [ebp - 4], 4
add esp, 0xc
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45fea3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f414c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f414c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
xor edi, edi
mov dword [ebp - 0x54], edi
mov byte [ebp - 4], 8
xor esi, esi
lea ebx, [ebx]
test edi, edi
jne 0x4601c4
push 0xf003f
push edi
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
mov dword [ebp - 0x54], edi
test edi, edi
jne 0x45fefb
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jl 0x45fed0
test edi, edi
jne 0x4601c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4c], eax
call fcn.0046c0e0
mov edi, eax
mov ecx, edi
call fcn.0046e8e0
cmp byte [0x4f3c5a], 0
jne 0x45ff79
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x45ff6e
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c5a
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x5f
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x20
call fcn.0046bf00
jmp 0x45ff70
xor eax, eax
mov byte [ebp - 4], 8
mov dword [0x4f417c], eax
mov ecx, edi
call fcn.0046e8f0
mov ecx, dword [0x4f417c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x34]
call fcn.00410ed0
mov byte [ebp - 4], 0xa
mov ecx, dword [0x4f417c]
push dword [eax]
push esi
mov edx, dword [ecx]
push str.Cant_OpenSCManager_after__d_iterations_._Error___s_
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 8
or edi, 0xffffffff
mov edx, dword [ebp - 0x34]
add esp, 0x10
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ffda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f417c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f417c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
call fcn.00410c50
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0xb
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460024
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x38], esi
push 0
push 0xa2
mov byte [ebp - 4], 0xc
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x46005b
push 0xa2
push eax
lea ecx, [ebp - 0x38]
call fcn.0041a210
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x38]
push dword [ebp - 0x34]
push eax
push 0x4d2268
lea eax, [ebp - 0x34]
push eax
call fcn.004373c0
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0xe
add ecx, 0x34
mov eax, dword [eax]
mov dword [ebp - 0x30], ecx
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0xd
mov ecx, edi
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4600ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x34], eax
inc eax
mov dword [ebp - 0x48], eax
jns 0x4600c7
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x48]
or eax, ecx
jge 0x4600e8
push dword [ebp - 0x48]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edx, 0xd
mov ecx, dword [ebp - 0x34]
mov word [eax + ecx*2], dx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edx]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
mov eax, dword [edx]
xor edx, edx
mov word [eax + ecx*2], dx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x44], eax
inc eax
mov dword [ebp - 0x48], eax
jns 0x460129
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x48]
or eax, ecx
jge 0x46014a
push dword [ebp - 0x48]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edx, 0xa
mov ecx, dword [ebp - 0x44]
mov word [eax + ecx*2], dx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edx]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
add esi, 0xfffffff0
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0xb
mov word [eax + ecx*2], dx
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460191
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov ecx, edi
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4601b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x3d], 0
mov dword [eax + 0x30], 3
jmp 0x461912
xor esi, esi
mov dword [ebp - 0x78], esi
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x38], esi
test esi, esi
jne 0x4609c5
push 0xf01ff
push dword [0x4f3a00]
push edi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
mov dword [ebp - 0x78], esi
test esi, esi
jne 0x460204
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x424
je 0x46028d
inc dword [ebp - 0x38]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x38], 0xa
jl 0x4601d0
test esi, esi
jne 0x4609c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x44], eax
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3c60], 0
jne 0x4604d9
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4604ce
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c60
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x76
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x20
call fcn.0046bf00
jmp 0x4604d0
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3c52], 0
jne 0x4602f4
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4602e9
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c52
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x6c
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x4602eb
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f4170], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f4170]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov eax, dword [0x4f4170]
push 0x4d37a8
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [0x4f4170]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4170]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460357
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x48], esi
push 0
push 0x9a
mov byte [ebp - 4], 0x11
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x46038e
push 0x9a
push eax
lea ecx, [ebp - 0x48]
call fcn.0041a210
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x12
push eax
push 0x4d1158
lea eax, [ebp - 0x34]
push eax
call fcn.00437110
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x13
add ecx, 0x34
mov eax, dword [eax]
mov dword [ebp - 0x30], ecx
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x12
or ecx, 0xffffffff
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4603dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x34], eax
inc eax
mov dword [ebp - 0x38], eax
jns 0x4603f8
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x38]
or eax, ecx
jge 0x460419
push dword [ebp - 0x38]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xd
mov ecx, dword [ebp - 0x34]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [edx]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x44], eax
inc eax
mov dword [ebp - 0x38], eax
jns 0x460458
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x38]
or eax, ecx
jge 0x460479
push dword [ebp - 0x38]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xa
mov ecx, dword [ebp - 0x44]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
add esi, 0xfffffff0
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0xf
mov word [eax + ecx*2], dx
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4609bc
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x3d], 0
jmp 0x461904
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f4188], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f4188]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x48]
call fcn.00410ed0
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [0x4f3a00]
mov dword [ebp - 0x34], ecx
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460528
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x46056c
test eax, 0xffff0000
jne 0x46056c
movzx eax, ax
push 0
push eax
mov dword [ebp - 0x34], eax
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x460578
push dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
push eax
call fcn.0041adc0
jmp 0x460575
push eax
lea ecx, [ebp - 0x30]
call fcn.00418c30
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x4f4188]
push dword [edx]
mov ecx, dword [eax]
push dword [ebp - 0x38]
push esi
push str.Cant_OpenService__s_after__d_iterations_._Error___s_
push eax
call dword [ecx + 0x48]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x15
or esi, 0xffffffff
lea eax, [edx + 0xc]
add esp, 0x14
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4605b8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov ecx, esi
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4605d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4188]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4188]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460610
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c], eax
push 0
push 0x9b
mov byte [ebp - 4], 0x18
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x460644
push 0x9b
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041a210
mov byte [ebp - 4], 0x19
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460664
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x48], esi
push 0
push 0x81
mov byte [ebp - 4], 0x1a
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x46069b
push 0x81
push eax
lea ecx, [ebp - 0x48]
call fcn.0041a210
mov esi, dword [ebp - 0x48]
push 0x4f3a00
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x48]
push eax
push str._s:__s___s_.
lea eax, [ebp - 0x34]
push eax
call fcn.00437320
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x1c
add ecx, 0x34
mov eax, dword [eax]
mov dword [ebp - 0x30], ecx
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x1b
or ecx, 0xffffffff
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4606f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x34], eax
inc eax
mov dword [ebp - 0x38], eax
jns 0x46070e
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x38]
or eax, ecx
jge 0x46072f
push dword [ebp - 0x38]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xd
mov ecx, dword [ebp - 0x34]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [edx]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x34], eax
inc eax
mov dword [ebp - 0x38], eax
jns 0x46076e
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x38]
or eax, ecx
jge 0x46078f
push dword [ebp - 0x38]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xa
mov ecx, dword [ebp - 0x34]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0x19
mov word [eax + ecx*2], dx
lea edx, [esi - 0x10]
or esi, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4607d6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov ecx, esi
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4607f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x38]
call fcn.00410c50
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x1d
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460824
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x4c], esi
push 0
push 0x81
mov byte [ebp - 4], 0x1e
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x46085b
push 0x81
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041a210
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x4c]
push dword [ebp - 0x34]
push 0x4f3a00
push eax
push str._s:___s_.
lea eax, [ebp - 0x34]
push eax
call fcn.00437320
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x1f
or ecx, 0xffffffff
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4608ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x34], eax
inc eax
mov dword [ebp - 0x48], eax
jns 0x4608c7
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x48]
or eax, ecx
jge 0x4608e8
push dword [ebp - 0x48]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xd
mov ecx, dword [ebp - 0x34]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [edx]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x44], eax
inc eax
mov dword [ebp - 0x48], eax
jns 0x460927
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x48]
or eax, ecx
jge 0x460948
push dword [ebp - 0x48]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xa
mov ecx, dword [ebp - 0x44]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x54]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0x1d
mov word [eax + ecx*2], dx
lea edx, [esi - 0x10]
or esi, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460992
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov ecx, esi
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4609b2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x30], 3
mov byte [ebp - 0x3d], 0
jmp 0x461904
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.0046e8e0
cmp byte [0x4f3c4c], 0
jne 0x460a2d
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x460a22
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c4c
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x7f
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x460a24
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f4128], eax
mov ecx, dword [ebp - 0x44]
call fcn.0046e8f0
mov ecx, dword [0x4f4128]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov eax, dword [0x4f4128]
push str.Agent_service_is_installed__get_its_version...
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [0x4f4128]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4128]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
mov ecx, dword [ebp - 0x5c]
call fcn.00464b70
test al, al
je 0x461002
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x461002
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x44], eax
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.0046e8e0
cmp byte [0x4f3c63], 0
jne 0x460b0a
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x22
test eax, eax
je 0x460aff
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c63
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x85
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x460b01
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f416c], eax
mov ecx, dword [ebp - 0x4c]
call fcn.0046e8f0
mov ecx, dword [0x4f416c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], eax
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460b45
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x460b89
test eax, 0xffff0000
jne 0x460b89
movzx eax, ax
push 0
push eax
mov dword [ebp - 0x4c], eax
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x460b92
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x38]
push eax
call fcn.0041adc0
jmp 0x460b92
push eax
lea ecx, [ebp - 0x38]
call fcn.00418c30
mov byte [ebp - 4], 0x24
mov eax, dword [0x4f416c]
push dword [ebp - 0x38]
push str.Remove___s__failed
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov byte [ebp - 4], 0xf
add esp, 0xc
mov edx, dword [ebp - 0x38]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460bcd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f416c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f416c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460c05
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x38], eax
push 0
push 0x135
mov byte [ebp - 4], 0x25
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x460c39
push 0x135
push eax
lea ecx, [ebp - 0x38]
call fcn.0041a210
mov byte [ebp - 4], 0x26
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x460c59
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
push 0
push 0x91
mov byte [ebp - 4], 0x27
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x460c8d
push 0x91
push eax
lea ecx, [ebp - 0x48]
call fcn.0041a210
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
push str._s__s:___s_.
lea eax, [ebp - 0x4c]
push eax
call fcn.00437320
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x29
add ecx, 0x34
mov eax, dword [eax]
mov dword [ebp - 0x30], ecx
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x28
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460ce4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x3c], eax
inc eax
mov dword [ebp - 0x4c], eax
jns 0x460cff
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x4c]
or eax, ecx
jge 0x460d20
push dword [ebp - 0x4c]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xd
mov ecx, dword [ebp - 0x3c]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [edx]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x3c], eax
inc eax
mov dword [ebp - 0x4c], eax
jns 0x460d5f
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x4c]
or eax, ecx
jge 0x460d80
push dword [ebp - 0x4c]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov ecx, 0xa
mov edi, dword [ebp - 0x3c]
mov word [eax + edi*2], cx
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0x26
mov word [eax + ecx*2], dx
or ecx, 0xffffffff
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460dc8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
or ecx, 0xffffffff
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460de9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c50], 0
jne 0x460e54
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x460e49
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c50
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x88
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x20
call fcn.0046bf00
jmp 0x460e4b
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f4154], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f4154]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x3c]
call fcn.00410ed0
mov byte [ebp - 4], 0x2b
mov ecx, dword [0x4f4154]
push dword [eax]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x48]
mov byte [ebp - 4], 0xf
add esp, 8
mov edx, dword [ebp - 0x3c]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460eae
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4154]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4154]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x48]
call fcn.00410c50
push eax
push 0x4d1158
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
push eax
call fcn.00437110
mov byte [ebp - 4], 0x2d
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x2c
or ecx, 0xffffffff
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x460f1b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x3c], eax
inc eax
mov dword [ebp - 0x4c], eax
jns 0x460f36
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x4c]
or eax, ecx
jge 0x460f57
push dword [ebp - 0x4c]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xd
mov ecx, dword [ebp - 0x3c]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [edx]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x3c], eax
inc eax
mov dword [ebp - 0x4c], eax
jns 0x460f96
push 0x80070057
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x4c]
or eax, ecx
jge 0x460fb7
push dword [ebp - 0x4c]
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov edi, 0xa
mov ecx, dword [ebp - 0x3c]
mov word [eax + ecx*2], di
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x54]
cmp ecx, dword [eax - 8]
jg 0x4600bd
mov dword [eax - 0xc], ecx
mov eax, dword [edx]
xor edx, edx
mov byte [ebp - 4], 0xf
mov word [eax + ecx*2], dx
or ecx, 0xffffffff
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461002
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor cl, cl
xor eax, eax
mov dword [ebp - 0x44], eax
lea esp, [esp]
cmp eax, 0xa
jge 0x4610ca
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
xorps xmm0, xmm0
push 0x9e
push esi
movdqu xmmword [ebp - 0x28], xmm0
movq qword [ebp - 0x18], xmm0
call dword [sym.imp.ADVAPI32.dll_ControlService]
test eax, eax
setne cl
mov byte [ebp - 0x3d], cl
test cl, cl
jne 0x461054
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov cl, byte [ebp - 0x3d]
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
test cl, cl
je 0x461010
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c61], 0
jne 0x46130b
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x461300
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c61
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0xdc
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x461302
test cl, cl
jne 0x46105f
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4610ea
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x41c
ja 0x46114f
je 0x461146
cmp eax, 0x57
ja 0x461136
je 0x46112d
sub eax, 5
je 0x461124
dec eax
jne case.0x461160.1054
push 0x6f
push str.The_specified_handle_was_not_obtained_using_CreateService___or_OpenService____or_the_handle_is_no_longer_valid.
jmp 0x461198
push 0x33
push str.The_handle_does_not_have_the_required_access_right.
jmp 0x461198
push 0x28
push str.The_requested_control_code_is_undefined.
jmp 0x461198
cmp eax, 0x41b
jne case.0x461160.1054
push 0x51
push str.The_service_cannot_be_stopped_because_other_running_services_are_dependent_on_it.
jmp 0x461198
push 0x4e
push str.The_requested_control_code_is_not_valid__or_it_is_unacceptable_to_the_service.
jmp 0x461198
sub eax, 0x41d
cmp eax, 0x3e
ja case.0x461160.1054
movzx eax, byte [eax + 0x46198c]
jmp dword [eax*4 + 0x461978]
push 0x9d
push str.The_requested_control_code_cannot_be_sent_to_the_service_because_the_state_of_the_service_is_SERVICE_STOPPED__SERVICE_START_PENDING__or_SERVICE_STOP_PENDING.
jmp 0x461198
push 0x21
push str.The_service_has_not_been_started.
jmp 0x461198
push 0xbf
push str.The_process_for_the_service_was_started__but_it_did_not_call_StartServiceCtrlDispatcher____or_the_thread_that_called_StartServiceCtrlDispatcher___may_be_blocked_in_a_control_handler_function.
jmp 0x461198
push 0x1c
push str.The_system_is_shutting_down.
jmp 0x461198
push 0x12
push 0x4d5550
lea ecx, [ebp - 0x30]
call fcn.0041b050
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c46], 0
jne 0x46120b
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x2f
test eax, eax
je 0x461200
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c46
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0xd7
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x461202
xor eax, eax
mov byte [ebp - 4], 0x2e
mov dword [0x4f4160], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f4160]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov eax, dword [0x4f4160]
push dword [ebp - 0x30]
push str.Agent_on_remote_host_not_responding_on_version_request_with_error___s_
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov ecx, dword [0x4f4160]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4160]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
call fcn.00418f10
mov dword [ebp - 0x3c], eax
push 0xa1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x30
call fcn.0041d2b0
mov byte [ebp - 4], 0x31
push dword [ebp - 0x3c]
push eax
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004645f0
mov byte [ebp - 4], 0x30
or ecx, 0xffffffff
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4612a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2e
or ecx, 0xffffffff
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4612c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
or ecx, 0xffffffff
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov dword [eax + 0x30], 3
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4614e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 0x3d], 0
jmp 0x4618f9
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f4184], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f4184]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x3c]
call fcn.00418b90
mov byte [ebp - 4], 0x33
mov ecx, dword [0x4f4184]
push dword [eax]
push str.Reading_version_info_file_from___s_...
mov edx, dword [ecx]
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 0xf
add esp, 0xc
mov edx, dword [ebp - 0x3c]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46136a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4184]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4184]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
xor edi, edi
mov ecx, dword [ebp - 0x5c]
call fcn.00464b70
test al, al
jne 0x4613a5
push 0xa
inc edi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xc8
jl 0x461388
mov ecx, dword [ebp - 0x5c]
call fcn.00464b70
mov edi, dword [ebp - 0x54]
test al, al
jne 0x4614ed
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c4e], 0
jne 0x461423
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x34
test eax, eax
je 0x461418
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c4e
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0xe5
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x46141a
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [0x4f413c], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f413c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x3c]
call fcn.00418b90
mov byte [ebp - 4], 0x35
mov ecx, dword [0x4f413c]
push dword [eax]
push str.Version_file___s__does_not_exist
mov edx, dword [ecx]
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 0xf
add esp, 0xc
mov edx, dword [ebp - 0x3c]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461482
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f413c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f413c]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push 0x9f
lea ecx, [ebp - 0x34]
call fcn.0041d2b0
push eax
push ecx
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x36
call fcn.00464690
mov byte [ebp - 4], 0xf
or ecx, 0xffffffff
mov edx, dword [ebp - 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4614da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x30], 3
mov byte [ebp - 0x3d], 0
jmp 0x4618f9
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
sub esp, 8
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x74], 0
push 0x80
push 3
push 1
push connect
push dword [ebp - 0x5c]
call fcn.0040e130
test eax, eax
jne 0x4615a1
mov edx, dword [ebp - 0x58]
or eax, 0xffffffff
add edx, 0x1c
mov dword [ebp - 0x44], eax
mov ecx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [edx]
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, 0x104
or eax, ecx
jge 0x46155a
push 0x104
mov ecx, edx
call fcn.0041a8d0
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
xor eax, eax
mov dword [ebp - 0x34], 1
mov ecx, dword [ebp - 0x50]
test ecx, ecx
setne al
test eax, eax
jne 0x46157b
push 0x80004005
call fcn.0040abe0
push 0
lea eax, [ebp - 0x74]
push eax
push 0x104
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x46159b
call fcn.0040add0
test eax, eax
jne 0x4615ad
mov byte [ebp - 0x3d], 1
jmp 0x4615b1
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x3d], 0
test byte [ebp - 0x34], 1
je 0x4615f7
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xffffffff
jne 0x4615d6
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
test ecx, ecx
je 0x4615e1
push dword [ecx - 8]
push ecx
call fcn.004721a5
add esp, 8
mov ecx, eax
test ecx, ecx
js 0x4600bd
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
cmp ecx, dword [edx - 8]
jg 0x4600bd
mov dword [edx - 0xc], ecx
xor edx, edx
mov eax, dword [eax]
mov word [eax + ecx*2], dx
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x46160c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x50], 0
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [ebp - 0x3d], 0
jne 0x461797
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c48], 0
jne 0x46168a
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x46167f
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c48
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0xf6
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x20
call fcn.0046bf00
jmp 0x461681
xor eax, eax
mov byte [ebp - 4], 0x37
mov dword [0x4f4124], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f4124]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.00410ed0
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x34]
push dword [ebp - 0x5c]
call fcn.00418b90
mov byte [ebp - 4], 0x3a
mov ecx, dword [0x4f4124]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3c]
push dword [ecx]
mov ecx, dword [0x4f4124]
push dword [eax]
push str.Cant_read_version_file___s_._Error___s_
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 0x39
add esp, 0x10
mov edx, dword [ebp - 0x34]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46170b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x37
or ecx, 0xffffffff
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46172c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4124]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4124]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push 0x9f
lea ecx, [ebp - 0x3c]
call fcn.0041d2b0
push eax
push ecx
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x3b
call fcn.00464690
mov byte [ebp - 4], 0x37
or ecx, 0xffffffff
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x461784
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x3d], 0
mov dword [eax + 0x30], 3
jmp 0x4618eb
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x74]
shr ecx, 1
lea eax, [eax + 0x1c]
js 0x4600bd
mov edx, dword [eax]
cmp ecx, dword [edx - 8]
jg 0x4600bd
mov dword [edx - 0xc], ecx
xor edx, edx
mov eax, dword [eax]
mov word [eax + ecx*2], dx
call fcn.0046c0e0
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.0046e8e0
cmp byte [0x4f3c47], 0
jne 0x461829
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x3c
test eax, eax
je 0x46181e
movsd xmm0, qword [ebp - 0x70]
mov ecx, eax
push 0x4f3c47
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0xfd
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_utilites.cpp
push 0x48
call fcn.0046bf00
jmp 0x461820
xor eax, eax
mov byte [ebp - 4], 0x37
mov dword [0x4f4158], eax
mov ecx, dword [ebp - 0x3c]
call fcn.0046e8f0
mov ecx, dword [0x4f4158]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov ecx, dword [ebp - 0x58]
push dword [ecx + 0x1c]
lea ecx, [ebp - 0x3c]
call fcn.00418b90
mov byte [ebp - 4], 0x3d
mov ecx, dword [0x4f4158]
push dword [eax]
push str.Version_is__s
mov edx, dword [ecx]
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 0x37
add esp, 0xc
mov edx, dword [ebp - 0x3c]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46188b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4158]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4158]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push 0x80
lea ecx, [ebp - 0x44]
call fcn.0041d2b0
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x3e
lea edx, [ecx + 0x1c]
push edx
push eax
push str._s__s.
call fcn.00436160
mov byte [ebp - 4], 0x37
or ecx, 0xffffffff
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4618eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4618f9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x461904
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test edi, edi
je 0x46190f
push edi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
or edi, 0xffffffff
mov edx, dword [ebp - 0x7c]
mov ecx, edi
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46192f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x5c]
add esi, 0xfffffff0
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x46194d
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [ebp - 0x9c]
call fcn.004251c0
mov al, byte [ebp - 0x3d]
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.004712e4
mov esp, ebp
pop ebp
ret