Function at 0x459900
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2e75
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x4e96d0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 4], 0
mov dword [ebp - 0x58], eax
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
xor al, al
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x4c], al
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], al
mov byte [ebp - 4], 1
xor ebx, ebx
test al, al
jne 0x45a001
cmp ebx, 0x96
jge 0x459b7e
test ebx, ebx
jle 0x459a58
push ecx
mov ecx, edx
call fcn.00416c00
mov edi, eax
cmp edi, 4
je 0x45999f
add ebx, 3
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4599bb
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x70], esi
push 0
push 0x12f
mov byte [ebp - 4], 2
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x4599f0
push 0x12f
push eax
lea ecx, [ebp - 0x70]
call fcn.0041a210
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x60]
push ebx
push edi
push esi
add eax, 0x38
mov byte [ebp - 4], 3
push str._s___d_:__d__...
push eax
call fcn.0041b160
add esi, 0xfffffff0
mov byte [ebp - 4], 1
add esp, 0x14
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459a29
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x459a38
call fcn.0046f84e
mov eax, dword [ecx]
push dword [ebp - 0x58]
mov eax, dword [eax + 8]
call eax
test al, al
je 0x459fd2
push 0x400
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebp - 0x5c]
mov ecx, dword [edi]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x459a6f
push 0x80004005
call fcn.0040abe0
lea eax, [ebp - 0x88]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
mov dword [ebp - 0x8c], esi
cmp esi, 0xffffffff
jne 0x459bf7
call fcn.0040add0
mov edi, eax
test edi, edi
jns 0x459bee
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3c34], 0
jne 0x459b05
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x459afa
push 0x4f3c34
sub esp, 8
xorps xmm0, xmm0
mov ecx, eax
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x235
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x20
call fcn.0046bf00
jmp 0x459afc
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f3fe4], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3fe4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, edi
lea ecx, [ebp - 0x58]
call fcn.00410e50
mov byte [ebp - 4], 5
mov ecx, dword [0x4f3fe4]
push dword [eax]
push str.Failed_to_read_the_size_of_remote_file
mov edx, dword [ecx]
push ecx
call dword [edx + 0x48]
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x58]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459b62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f3fe4]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3fe4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3bb8], 0
jne 0x459d36
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x459d2b
push 0x4f3bb8
sub esp, 8
xorps xmm0, xmm0
mov ecx, eax
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x24a
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x20
call fcn.0046bf00
jmp 0x459d2d
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x88]
test esi, esi
jne 0x459c09
test eax, eax
je 0x459d1c
test eax, eax
jne 0x459c15
cmp esi, 0x800
jbe 0x459c1a
mov esi, 0x800
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x4c], 0
push eax
lea eax, [esi + 2]
mov dword [ebp - 0x80], 0
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
call fcn.0045dd00
push 0
sub esp, 8
mov byte [ebp - 4], 6
mov ecx, edi
call fcn.0040e220
mov edi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x5c]
push esi
push edi
call fcn.00451df0
test eax, eax
jns 0x459c7e
mov byte [ebp - 4], 1
test edi, edi
je 0x459b7e
push edi
call fcn.004712df
add esp, 4
jmp 0x459b7e
push esi
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.0041a9b0
cmp dword [ebp - 0x1c], 0x10
jb 0x459cab
push dword [ebp - 0x30]
call fcn.004712df
add esp, 4
lea eax, [ebp - 0x48]
mov dword [ebp - 0x1c], 0xf
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
call fcn.00431450
cmp dword [ebp - 0x34], 0x10
jb 0x459cda
push dword [ebp - 0x48]
call fcn.004712df
add esp, 4
sub esp, 8
mov byte [ebp - 0x4c], 0x24
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
push eax
call fcn.0045dbe0
cmp eax, 0xffffffff
mov byte [ebp - 4], 1
setne al
mov byte [ebp - 0x4c], al
test edi, edi
je 0x459d1f
push edi
call fcn.004712df
add esp, 4
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov al, byte [ebp - 0x4c]
mov edi, dword [ebp - 0x5c]
inc ebx
mov edx, dword [ebp - 0x50]
jmp 0x459971
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f4114], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f4114]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov edx, edi
lea ecx, [ebp - 0x50]
call fcn.00410ed0
mov edx, eax
mov byte [ebp - 4], 9
mov eax, dword [0x4f4114]
push dword [edx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov byte [ebp - 4], 1
add esp, 8
mov edx, dword [ebp - 0x50]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459d8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x4f4114]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f4114]
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 0x459dc7
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5c], esi
push 0
push 0x81
mov byte [ebp - 4], 0xa
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x459dfc
push 0x81
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041a210
mov esi, dword [ebp - 0x5c]
push str.wait_conformation_result_failed
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xb
push eax
push 0x4d2268
lea eax, [ebp - 0x50]
push eax
call fcn.0045f090
mov edi, dword [ebp - 0x60]
mov byte [ebp - 4], 0xc
add edi, 0x34
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0xb
or ecx, 0xffffffff
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459e4f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x50], ecx
lea edx, [ecx + 1]
test edx, edx
jns 0x459e68
push 0x80070057
call fcn.0040abe0
mov ebx, 1
mov ecx, ebx
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edx
or eax, ecx
jge 0x459e83
push edx
mov ecx, edi
call fcn.0041a8d0
mov eax, dword [edi]
mov edx, 0xd
mov ecx, dword [ebp - 0x50]
mov word [eax + ecx*2], dx
lea edx, [ecx + 1]
mov eax, dword [edi]
cmp edx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], edx
xor ecx, ecx
mov eax, dword [edi]
mov word [eax + edx*2], cx
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x58], ecx
inc ecx
mov dword [ebp - 0x50], ecx
jns 0x459ebe
push 0x80070057
call fcn.0040abe0
sub ebx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, ecx
or eax, ebx
jge 0x459ed5
push ecx
mov ecx, edi
call fcn.0041a8d0
mov ecx, dword [ebp - 0x50]
mov eax, dword [edi]
mov ebx, 0xa
mov edx, dword [ebp - 0x58]
mov word [eax + edx*2], bx
mov eax, dword [edi]
cmp ecx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], ecx
add esi, 0xfffffff0
mov eax, dword [edi]
xor edx, edx
or ebx, 0xffffffff
mov byte [ebp - 4], 1
mov word [eax + ecx*2], dx
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459f19
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x60]
mov dword [edi + 0x30], 3
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x459f3f
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x5c], esi
push 0
push 0x81
mov byte [ebp - 4], 0xd
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x459f74
push 0x81
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041a210
mov esi, dword [ebp - 0x5c]
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045ef60
mov byte [ebp - 4], 0xf
lea ecx, [edi + 0x38]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x50]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x459fb7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x459fd2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x1c], 0x10
jb 0x459fe3
push dword [ebp - 0x30]
call fcn.004712df
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004712e4
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x45a093
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x50]
cmovae eax, dword [ebp - 0x30]
push eax
call fcn.00418ad0
mov byte [ebp - 4], 7
mov edx, dword [eax]
mov esi, dword [esi]
sub esi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x45a072
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x45a066
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x45a066
call fcn.0041aef0
mov ebx, eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x45a05c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x54]
lea eax, [ebx + 0x10]
mov dword [ecx], eax
jmp 0x45a072
push dword [edx - 0xc]
mov ecx, dword [ebp - 0x54]
push edx
call fcn.0041b050
mov byte [ebp - 4], 1
or ecx, 0xffffffff
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a093
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3c38], 0
jne 0x45a10b
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x10
xorps xmm0, xmm0
movsd qword [ebp - 0x6c], xmm0
test eax, eax
je 0x45a0fe
push 0x4f3c38
sub esp, 8
mov ecx, eax
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x251
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x50
call fcn.0046bf00
mov byte [ebp - 4], 1
mov dword [0x4f40c0], eax
jmp 0x45a113
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f40c0], eax
jmp 0x45a113
xorps xmm0, xmm0
movsd qword [ebp - 0x6c], xmm0
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f40c0]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
cmp dword [ebp - 0x1c], 0x10
lea edx, [ebp - 0x30]
mov eax, dword [0x4f40c0]
cmovae edx, dword [ebp - 0x30]
push edx
push str.Result_file_ready___s_
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov ecx, dword [0x4f40c0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f40c0]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
sub esp, 8
mov byte [ebp - 0x4c], 0x24
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
push eax
call fcn.0045dbe0
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x45a447
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3bf1], 0
jne 0x45a1ee
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x45a1e3
movsd xmm0, qword [ebp - 0x6c]
mov ecx, eax
push 0x4f3bf1
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x256
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x20
call fcn.0046bf00
jmp 0x45a1e5
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f3fa0], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f3fa0]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
cmp dword [ebp - 0x1c], 0x10
lea edx, [ebp - 0x30]
mov eax, dword [0x4f3fa0]
cmovae edx, dword [ebp - 0x30]
push edx
push str.Logic_error__unexpected_behaviour_with___s_
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov ecx, dword [0x4f3fa0]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f3fa0]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x30]
cmovae eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45a26b
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x54], esi
push 0
push 0x81
mov byte [ebp - 4], 0x12
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x45a2a0
push 0x81
push eax
lea ecx, [ebp - 0x54]
call fcn.0041a210
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x54]
push eax
push 0x4d2268
lea eax, [ebp - 0x58]
push eax
call fcn.004373c0
mov edi, dword [ebp - 0x60]
mov byte [ebp - 4], 0x14
add edi, 0x34
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x13
or ecx, 0xffffffff
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a2f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x50], ecx
lea edx, [ecx + 1]
test edx, edx
jns 0x45a30b
push 0x80070057
call fcn.0040abe0
mov ebx, 1
mov ecx, ebx
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edx
or eax, ecx
jge 0x45a326
push edx
mov ecx, edi
call fcn.0041a8d0
mov eax, dword [edi]
mov edx, 0xd
mov ecx, dword [ebp - 0x50]
mov word [eax + ecx*2], dx
lea edx, [ecx + 1]
mov eax, dword [edi]
cmp edx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], edx
xor ecx, ecx
mov eax, dword [edi]
mov word [eax + edx*2], cx
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x58], ecx
inc ecx
mov dword [ebp - 0x50], ecx
jns 0x45a365
push 0x80070057
call fcn.0040abe0
sub ebx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, ecx
or eax, ebx
jge 0x45a37c
push ecx
mov ecx, edi
call fcn.0041a8d0
mov ecx, dword [ebp - 0x50]
mov eax, dword [edi]
mov ebx, 0xa
mov edx, dword [ebp - 0x58]
mov word [eax + edx*2], bx
mov eax, dword [edi]
cmp ecx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], ecx
add esi, 0xfffffff0
mov eax, dword [edi]
xor edx, edx
or ebx, 0xffffffff
mov byte [ebp - 4], 1
mov word [eax + ecx*2], dx
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a3c0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x60]
mov dword [edi + 0x30], 3
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45a3e6
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x54], esi
push 0
push 0x81
mov byte [ebp - 4], 0x15
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x45a41b
push 0x81
push eax
lea ecx, [ebp - 0x54]
call fcn.0041a210
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045ef60
mov byte [ebp - 4], 0x17
lea ecx, [edi + 0x38]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x16
jmp 0x459f9b
mov eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x45a462
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x30]
mov dword [ebp - 0x20], ecx
cmovae eax, dword [ebp - 0x30]
mov byte [eax + ecx], 0
jmp 0x45a46f
sub ecx, eax
push 0
push ecx
lea ecx, [ebp - 0x30]
call fcn.004377f0
sub esp, 8
mov byte [ebp - 0x4c], 0x3a
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
push eax
call fcn.0045dc60
cmp eax, 0xffffffff
je 0x45a4dd
push 0xffffffffffffffff
inc eax
lea ecx, [ebp - 0x30]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0042f400
mov esi, eax
lea eax, [ebp - 0x30]
cmp eax, esi
je 0x45a4cc
cmp dword [ebp - 0x1c], 0x10
jb 0x45a4b1
push dword [ebp - 0x30]
call fcn.004712df
add esp, 4
push esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
call fcn.00431450
cmp dword [ebp - 0x34], 0x10
jb 0x45a4dd
push dword [ebp - 0x48]
call fcn.004712df
add esp, 4
cmp dword [ebp - 0x1c], 0x10
lea ecx, [ebp - 0x74]
push 0xa
lea eax, [ebp - 0x30]
mov dword [ebp - 0x74], 0
cmovae eax, dword [ebp - 0x30]
push ecx
push eax
call fcn.00479713
mov ebx, dword [ebp - 0x20]
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x50], esi
test ebx, ebx
je 0x45a69f
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x45a69f
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x30]
cmp edi, 0x10
cmovae eax, edx
add eax, ebx
cmp ecx, eax
jne 0x45a69f
cmp esi, 0xbc2
je 0x45a68a
cmp esi, 0x669
je 0x45a68a
test esi, esi
je 0x45a68a
call fcn.0046c0e0
mov edi, eax
mov ecx, edi
call fcn.0046e8e0
cmp byte [0x4f3bb7], 0
jne 0x45a5bc
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x45a5b1
movsd xmm0, qword [ebp - 0x6c]
mov ecx, eax
push 0x4f3bb7
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x277
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x20
call fcn.0046bf00
jmp 0x45a5b3
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f40ac], eax
mov ecx, edi
call fcn.0046e8f0
mov ecx, dword [0x4f40ac]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
mov eax, dword [0x4f40ac]
push esi
push str.Invalid_answer_code_from_remote___ld_
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [0x4f40ac]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f40ac]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
push 0x81
lea ecx, [ebp - 0x58]
call fcn.0041d2b0
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x50]
push ecx
push eax
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x20
call fcn.0045e760
mov byte [ebp - 4], 1
or ebx, 0xffffffff
mov edx, dword [ebp - 0x58]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a648
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x81
lea ecx, [ebp - 0x50]
mov dword [esi + 0x30], 3
call fcn.0041d2b0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.0045e460
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x50]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x459fd2
mov ecx, dword [edx]
push edx
jmp 0x459fcd
cmp edi, 0x10
jb 0x45a698
push edx
call fcn.004712df
add esp, 4
mov al, 1
jmp 0x459fe5
call fcn.0046c0e0
mov esi, eax
mov ecx, esi
call fcn.0046e8e0
cmp byte [0x4f3b97], 0
jne 0x45a709
push 0xf0
call fcn.0046e4f0
add esp, 4
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x45a6fe
movsd xmm0, qword [ebp - 0x6c]
mov ecx, eax
push 0x4f3b97
sub esp, 8
movsd qword [esp], xmm0
push 0x4cea7a
push 0
push 0
push 0x267
push str.C:BuildAgentwork6ef1b807bd9726a1RemoteInstallerInstallerUI_agent_install_action.cpp
push 0x20
call fcn.0046bf00
jmp 0x45a700
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x4f40b4], eax
mov ecx, esi
call fcn.0046e8f0
mov ecx, dword [0x4f40b4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8e0
cmp dword [ebp - 0x1c], 0x10
lea edx, [ebp - 0x30]
mov eax, dword [0x4f40b4]
cmovae edx, dword [ebp - 0x30]
push edx
push str.Invalid_extracted_answer_from_remote___s_
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov ecx, dword [0x4f40b4]
add esp, 0xc
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [0x4f40b4]
lea ecx, [ecx + 0xd0]
call fcn.0046e8f0
cmp dword [ebp - 0x1c], 0x10
lea eax, [ebp - 0x30]
cmovae eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45a786
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x54], esi
push 0
push 0x81
mov byte [ebp - 4], 0x19
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x45a7bb
push 0x81
push eax
lea ecx, [ebp - 0x54]
call fcn.0041a210
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x54]
push eax
push str._s:_Invalid_extracted_answer:__s
lea eax, [ebp - 0x58]
push eax
call fcn.004373c0
mov edi, dword [ebp - 0x60]
mov byte [ebp - 4], 0x1b
add edi, 0x34
mov eax, dword [eax]
mov ecx, edi
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x1a
or ecx, 0xffffffff
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a80d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x50], ecx
lea edx, [ecx + 1]
test edx, edx
jns 0x45a826
push 0x80070057
call fcn.0040abe0
mov ebx, 1
mov ecx, ebx
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edx
or eax, ecx
jge 0x45a841
push edx
mov ecx, edi
call fcn.0041a8d0
mov eax, dword [edi]
mov edx, 0xd
mov ecx, dword [ebp - 0x50]
mov word [eax + ecx*2], dx
lea edx, [ecx + 1]
mov eax, dword [edi]
cmp edx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], edx
xor ecx, ecx
mov eax, dword [edi]
mov word [eax + edx*2], cx
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x58], ecx
inc ecx
mov dword [ebp - 0x50], ecx
jns 0x45a880
push 0x80070057
call fcn.0040abe0
sub ebx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, ecx
or eax, ebx
jge 0x45a897
push ecx
mov ecx, edi
call fcn.0041a8d0
mov ecx, dword [ebp - 0x50]
mov eax, dword [edi]
mov ebx, 0xa
mov edx, dword [ebp - 0x58]
mov word [eax + edx*2], bx
mov eax, dword [edi]
cmp ecx, dword [eax - 8]
jg 0x459e5e
mov dword [eax - 0xc], ecx
add esi, 0xfffffff0
mov eax, dword [edi]
xor edx, edx
or ebx, 0xffffffff
mov byte [ebp - 4], 1
mov word [eax + ecx*2], dx
lea eax, [esi + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45a8db
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x60]
mov dword [edi + 0x30], 3
call fcn.0040d990
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x45a901
push 0x80004005
call fcn.0040abe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x54], esi
push 0
push 0x81
mov byte [ebp - 4], 0x1c
call fcn.0040ad60
add esp, 8
test eax, eax
je 0x45a936
push 0x81
push eax
lea ecx, [ebp - 0x54]
call fcn.0041a210
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0045ef60
mov byte [ebp - 4], 0x1e
lea ecx, [edi + 0x38]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0041a350
mov byte [ebp - 4], 0x1d
jmp 0x459f9b