Function at 0x140023b50
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rsi, qword [rcx + 8]
xor ebx, ebx
and dword [rsp + 0x98], ebx
xor r14d, r14d
and dword [rsp + 0x34], ebx
xor r12d, r12d
xor r15d, r15d
mov dword [rsp + 0x80], r14d
xor r13d, r13d
mov rdi, r8
mov rbp, rcx
test rsi, rsi
je 0x140023c14
mov rcx, qword [rsi]
mov r14, qword [rsi + 8]
call fcn.140024c90
test eax, eax
je 0x140023bf6
mov rcx, qword [rsi]
mov ebx, 0x80004005
inc r12d
call fcn.1400250d0
test rax, rax
je 0x140023bcb
mov rcx, qword [rsi]
call fcn.1400250d0
mov r9, rax
jmp 0x140023bd2
lea r9, [0x140042350]
mov rax, qword [rsi]
lea r8, [0x140042350]
lea rdx, str.___A_download_will_be_required_for_component__S_from_URL__S._r_n
mov ecx, 4
cmp qword [rax + 0x30], r13
cmovne r8, qword [rax + 0x30]
call fcn.140016868
mov rax, qword [rsi]
xor ecx, ecx
mov rsi, r14
cmp dword [rax + 0x10], ecx
setne cl
add dword [rbp + 0x18], ecx
test r14, r14
jne 0x140023b99
mov r14d, dword [rsp + 0x80]
test rdi, rdi
je 0x140023c8a
mov rdx, qword [rdi]
test rdx, rdx
je 0x140023c26
mov rax, rdx
jmp 0x140023c2e
mov rcx, rdi
call fcn.140029fd0
test rax, rax
je 0x140023c8a
test rdx, rdx
jne 0x140023c43
mov rcx, rdi
call fcn.140029fd0
mov rdx, rax
mov rcx, rdx
call fcn.140026d8c
test eax, eax
je 0x140023c8a
mov rdx, qword [rdi]
xor r14d, r14d
test r12d, r12d
sete r14b
mov dword [rsp + 0x80], r14d
test rdx, rdx
jne 0x140023c74
mov rcx, rdi
call fcn.140029fd0
mov rdx, rax
xor ecx, ecx
cmp qword [rdx + 0x48], rcx
setne cl
cmp qword [rdx + 0x50], r13
lea eax, [rcx + 1]
cmove eax, ecx
add r12d, eax
test r12d, r12d
je 0x140023f0d
test r14d, r14d
jne 0x140023e03
mov rsi, qword [rbp + 8]
mov ecx, r12d
call fcn.140015c04
lea ecx, [r14 + 4]
call fcn.140015934
mov dword [rsp + 0x88], r13d
cmp dword [rbp + 0x27c], r13d
jne 0x140023de2
test rsi, rsi
je 0x140023dd2
mov rcx, qword [rsi]
mov r13, qword [rsi + 8]
call fcn.140024c90
test eax, eax
je 0x140023db1
lea r14, [rbp + 0x2a0]
cmp qword [r14], 0
jne 0x140023d04
xor edx, edx
mov rcx, r14
call fcn.140035b24
mov ebx, eax
test eax, eax
js 0x140023dc2
mov rcx, qword [rsi]
call fcn.14002513c
mov r8, rax
lea rdx, str.__Beginning_download_of_component__S._r_n
mov ecx, 4
call fcn.14001695c
mov eax, dword [rsp + 0x88]
inc eax
mov ecx, eax
mov dword [rsp + 0x88], eax
call fcn.140015cc0
mov rcx, qword [rsi]
call fcn.14002513c
mov rcx, rax
call fcn.140015d68
mov rax, qword [rsi]
mov rcx, qword [rax + 0x90]
test rcx, rcx
jne 0x140023d5d
mov ebx, 0x80004005
jmp 0x140023d64
call fcn.14001eef0
mov ebx, eax
mov rcx, qword [r14]
lea rdx, [rsp + 0x30]
and dword [rsp + 0x30], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x14003f118]
test eax, eax
js 0x140023d8f
mov eax, dword [rsp + 0x30]
and eax, 1
mov dword [rbp + 0x270], eax
test ebx, ebx
jns 0x140023dae
mov rcx, qword [rsi]
cmp dword [rcx + 0x60], 9
jge 0x140023dcb
mov dword [rsp + 0x34], ebx
xor edx, edx
mov ebx, 1
call fcn.140024cf4
jmp 0x140023db1
inc r15d
cmp dword [rbp + 0x27c], 0
mov rsi, r13
jne 0x140023dd2
jmp 0x140023cc6
mov dword [rsp + 0x98], eax
jmp 0x140023dd2
mov dword [rsp + 0x98], ebx
mov r14d, dword [rsp + 0x80]
mov r13d, dword [rsp + 0x88]
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x140023dfb
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14003f118]
and qword [rbp + 0x2a0], 0
test rdi, rdi
je 0x140023f60
mov rdx, qword [rdi]
test rdx, rdx
je 0x140023e19
mov rax, rdx
jmp 0x140023e21
mov rcx, rdi
call fcn.140029fd0
test rax, rax
je 0x140023f60
test rdx, rdx
jne 0x140023e3a
mov rcx, rdi
call fcn.140029fd0
mov rdx, rax
mov rcx, rdx
call fcn.140026d8c
test eax, eax
je 0x140023f60
mov rax, qword [rdi]
test rax, rax
jne 0x140023e5a
mov rcx, rdi
call fcn.140029fd0
xor edx, edx
lea rbp, [0x14003f4a0]
cmp qword [rax + 0x48], rdx
setne dl
cmp qword [rax + 0x50], 0
lea esi, [rdx + 1]
cmove esi, edx
test esi, esi
je 0x140023ecc
test r14d, r14d
je 0x140023e90
mov ecx, r12d
call fcn.140015c04
mov ecx, 4
call fcn.140015934
inc r13d
mov ecx, r13d
call fcn.140015cc0
mov rax, qword [rdi]
test rax, rax
jne 0x140023eab
mov rcx, rdi
call fcn.140029fd0
cmp qword [rax + 0x18], 0
mov rcx, rbp
cmovne rcx, qword [rax + 0x18]
call fcn.140015d68
mov rcx, rdi
call fcn.14002bc34
test eax, eax
jne 0x140023ecc
inc r15d
cmp esi, 1
jbe 0x140023f60
lea ecx, [r13 + 1]
call fcn.140015cc0
mov rax, qword [rdi]
test rax, rax
jne 0x140023eee
mov rcx, rdi
call fcn.140029fd0
cmp qword [rax + 0x18], 0
cmovne rbp, qword [rax + 0x18]
mov rcx, rbp
call fcn.140015d68
mov rcx, rdi
call fcn.14002bf04
inc r15d
jmp 0x140023f60
mov rcx, qword [0x140050310]
cmp rcx, 0xffffffffffffffff
jne 0x140023f2f
lea edx, [rcx + 5]
call fcn.140016148
mov rcx, qword [0x140050310]
cmp rcx, 0xffffffffffffffff
je 0x140023f60
cmp dword [0x1400516e0], 4
jl 0x140023f60
and dword [rsp + 0x88], r13d
lea r9, [rsp + 0x88]
and qword [rsp + 0x20], r13
lea rdx, str.__No_downloads_required._r_n
mov r8d, 0x1a
call qword [sym.imp.KERNEL32.dll_WriteFile]
test ebx, ebx
cmovns ebx, dword [rsp + 0x98]
test ebx, ebx
js 0x140023f80
cmp r15d, r12d
jae 0x140023f80
test r15d, r15d
mov ebx, 1
cmove ebx, dword [rsp + 0x34]
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret