Function at 0x1400215c0
Capabilities:
Write file on windows

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x20
mov r14, r9
mov r15, r8
movsxd rbp, edx
test rcx, rcx
je 0x140021603
cmp dword [rcx], 0
jne 0x140021603
lea rdx, str.params
add rcx, 0x10
call fcn.14000dcf0
mov rcx, rax
test rax, rax
je 0x140021603
cmp dword [rax], 1
jne 0x140021603
mov rdx, qword [rax + 0x18]
cmp edx, 2
jge 0x14002161d
lea rdx, str.srv:_wrong_control_gpu:params_format_n
mov ecx, 2
add rsp, 0x20
pop r15
pop r14
pop rbp
jmp fcn.1400054d0
mov qword [rsp + 0x50], rdi
xor edi, edi
test rdx, rdx
je 0x140021641
mov rax, qword [rax + 0x20]
mov r8, qword [rax]
test r8, r8
je 0x140021641
cmp dword [r8], 2
jne 0x140021641
mov r9, qword [r8 + 0x10]
jmp 0x140021644
mov r9, rdi
mov qword [rsp + 0x40], rbx
cmp rdx, 1
jb 0x140021669
jbe 0x140021669
mov rax, qword [rcx + 0x20]
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x140021669
cmp dword [rbx], 2
jne 0x140021669
mov rbx, qword [rbx + 0x10]
jmp 0x14002166c
mov rbx, rdi
test r9, r9
je 0x140021890
test rbx, rbx
je 0x140021890
mov rcx, r9
mov qword [rsp + 0x48], rsi
call fcn.14002b75c
mov rcx, rbx
movsxd rsi, eax
call fcn.14002b75c
test eax, eax
js 0x1400216a6
mov ecx, 1
cmp eax, ecx
cmovg eax, ecx
mov edi, eax
test esi, esi
js 0x1400216c6
cmp esi, dword [0x14005f644]
jge 0x1400216ed
lea rdx, [0x140061690]
mov byte [rsi + rdx], dil
lea rdx, str.GPU_state_was_set_remotely_n
jmp 0x1400216e6
mov eax, dword [0x14005f644]
test eax, eax
jle 0x1400216df
mov ecx, eax
movzx eax, dil
lea rdi, [0x140061690]
rep stosb byte [rdi], al
lea rdx, str.GPU_state_was_set_remotely__all_GPUs__n
xor ecx, ecx
call fcn.1400054d0
call fcn.14000fa30
mov rcx, rbp
mov rbx, rax
call fcn.14000ff10
lea rdx, [0x140053974]
mov r8, rax
mov rcx, rbx
call fcn.14000fb20
lea rcx, str.error
mov edx, 5
call fcn.14000f980
test eax, eax
je 0x14002177b
lea rdi, [0x14005d038]
test rbx, rbx
je 0x14002175d
cmp dword [rbx], 0
jne 0x14002175d
cmp rbx, rdi
je 0x14002175d
mov r8, qword [rbx + 0x38]
lea rcx, [rbx + 0x10]
lea rdx, str.error
lea rax, [r8 + 1]
mov r9, rdi
mov qword [rbx + 0x38], rax
call fcn.14000db70
test eax, eax
je 0x1400217a0
mov rax, qword [0x14005d040]
cmp rax, 0xffffffffffffffff
je 0x1400217a0
dec rax
mov qword [0x14005d040], rax
jne 0x1400217a0
mov rcx, rdi
jmp 0x14002179b
mov rax, qword [0x14005d040]
cmp rax, 0xffffffffffffffff
je 0x1400217a0
dec rax
mov qword [0x14005d040], rax
jne 0x1400217a0
lea rcx, [0x14005d038]
call fcn.14000ffb0
lea rcx, str.result
mov edx, 6
call fcn.14000f980
test eax, eax
je 0x14002180c
lea rdi, [0x14005d048]
test rbx, rbx
je 0x1400217ee
cmp dword [rbx], 0
jne 0x1400217ee
cmp rbx, rdi
je 0x1400217ee
mov r8, qword [rbx + 0x38]
lea rcx, [rbx + 0x10]
lea rdx, str.result
lea rax, [r8 + 1]
mov r9, rdi
mov qword [rbx + 0x38], rax
call fcn.14000db70
test eax, eax
je 0x140021831
mov rax, qword [0x14005d050]
cmp rax, 0xffffffffffffffff
je 0x140021831
dec rax
mov qword [0x14005d050], rax
jne 0x140021831
mov rcx, rdi
jmp 0x14002182c
mov rax, qword [0x14005d050]
cmp rax, 0xffffffffffffffff
je 0x140021831
dec rax
mov qword [0x14005d050], rax
jne 0x140021831
lea rcx, [0x14005d048]
call fcn.14000ffb0
mov rcx, rbx
call fcn.14000d550
or rsi, 0xffffffffffffffff
mov rbp, rax
inc rsi
cmp byte [rsi + rax], 0
jne 0x140021840
movsxd rdi, dword [r14]
movsxd r8, esi
mov rdx, rax
lea rcx, [r15 + rdi]
call fcn.14002afa0
lea eax, [rdi + rsi]
mov rsi, qword [rsp + 0x48]
mov dword [r14], eax
test rbx, rbx
je 0x140021886
mov rax, qword [rbx + 8]
cmp rax, 0xffffffffffffffff
je 0x140021886
dec rax
mov qword [rbx + 8], rax
jne 0x140021886
mov rcx, rbx
call fcn.14000ffb0
mov rcx, rbp
call fcn.14002b484
jmp 0x1400218a1
lea rdx, str.srv:_wrong_control_gpu:params_format_n
mov ecx, 2
call fcn.1400054d0
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret