Function at 0x140042690
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x210
mov qword [rax - 0x180], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x140e22df8]
xor rax, rsp
mov qword [rsp + 0x208], rax
mov r12, rdx
mov qword [rsp + 0x68], rdx
mov r15, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x80], rdx
xor edi, edi
mov r14d, edi
mov dword [rsp + 0x30], edi
mov rbx, qword [rdx + 8]
sub rbx, qword [rdx]
sar rbx, 5
mov qword [rsp + 0x58], rbx
mov r8, rbx
mov qword [rsp + 0x70], rbx
test rbx, rbx
je 0x1400434be
mov edx, edi
mov dword [rsp + 0x50], edx
mov esi, edx
cmp rbx, 1
je 0x140042722
cmp rsi, rbx
jmp 0x14004273b
call fcn.1400893f0
mov rcx, rax
call fcn.1400889b0
cmp rsi, rax
mov edx, dword [rsp + 0x50]
mov r8, qword [rsp + 0x70]
mov ecx, edi
setb cl
test ecx, ecx
je 0x1400434be
mov ebx, edi
cmp r8, 1
cmovne ebx, edx
call fcn.1400ea4b0
mov rdx, qword [r12]
mov rcx, qword [r12 + 8]
sub rcx, rdx
sar rcx, 5
cmp rcx, rbx
jbe 0x1400434eb
mov r8, rbx
shl r8, 5
add r8, rdx
lea rdx, [rsp + 0x98]
mov rcx, rax
call fcn.1400ea490
nop
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsp + 0xa0]
lea rcx, [rsp + 0xe8]
cmp rax, 0x40
jae 0x140042a0a
mov rsi, qword [r15 + 0x188]
mov rax, qword [rsi]
mov r15, qword [rax + 0x40]
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], 0xf
mov byte [rsp + 0xe8], 0
mov r8d, 5
lea rdx, str.white
call fcn.140038020
nop
lea r9, [rsp + 0x11d]
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov ebx, edx
test edx, edx
jne 0x140042800
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], dl
lea rax, [rsp + 0x11d]
cmp r9, rax
je 0x140042869
lea r8, [rsp + 0x11d]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0xc8]
call fcn.140038020
or r14d, 3
mov r9d, 0x2b
lea r8, str.Power_limit_array_contains_no_data_at_pos_
xor edx, edx
lea rcx, [rsp + 0xc8]
call fcn.140039080
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x128], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x138], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 4
mov dword [rsp + 0x30], r14d
mov r9b, 1
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0x128]
mov rcx, rsi
call r15
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 0x10
jb 0x140042925
inc rdx
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042920
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400434f1
call fcn.140143924
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], 0xf
mov byte [rsp + 0x128], 0
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0x10
jb 0x140042984
inc rdx
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004297f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400434f7
call fcn.140143924
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x1400429e3
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400429de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400434fd
call fcn.140143924
mov r15, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
lea rcx, [rsp + 0xa0]
call fcn.140041780
mov edx, dword [rsp + 0x50]
inc edx
mov r8, qword [rsp + 0x70]
jmp 0x140042711
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], 0xf
mov byte [rsp + 0xe8], 0
mov r8d, 0xa
lea rdx, str.powerLimit
call fcn.140038020
nop
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x98]
call fcn.1400e7da0
movzx ebx, al
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x140042a99
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042a94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043503
call fcn.140143924
test bl, bl
je 0x1400429e8
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], 0xf
mov byte [rsp + 0xe8], 0
mov r8d, 0xa
lea rdx, str.powerLimit
lea rcx, [rsp + 0xe8]
call fcn.140038020
nop
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x98]
call fcn.14003d0f0
mov esi, eax
mov dword [rsp + 0x4c], eax
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x140042b36
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042b31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043509
call fcn.140143924
cmp esi, 0x32
jle 0x140042e33
mov esi, 0x32
mov dword [rsp + 0x4c], esi
mov r15, qword [r15 + 0x188]
mov rax, qword [r15]
mov r12, qword [rax + 0x40]
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], 0xf
mov byte [rsp + 0xe8], 0
lea r8d, [rsi - 0x2d]
lea rdx, str.white
lea rcx, [rsp + 0xe8]
call fcn.140038020
nop
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x128]
call fcn.140050bb0
nop
lea r9d, [rsi - 0x1a]
lea r8, str.Power_limit_for_device_
xor edx, edx
mov rcx, rax
call fcn.140039080
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x118], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 8
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov rax, rdx
sub rax, rcx
cmp rax, 0x12
jb 0x140042c4e
lea rax, [rcx + 0x12]
mov qword [rsp + 0x118], rax
lea rbx, [rsp + 0x108]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x108]
add rbx, rcx
lea r8d, [rsi - 0x20]
lea rdx, str._was_chaged_to_50.
mov rcx, rbx
call fcn.140161720
mov byte [rbx + 0x12], 0
lea rax, [rsp + 0x108]
jmp 0x140042c72
mov qword [rsp + 0x20], 0x12
lea r9, str._was_chaged_to_50.
xor r8d, r8d
lea edx, [r8 + 0x12]
lea rcx, [rsp + 0x108]
call fcn.1400307a0
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xd8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 0x10
mov dword [rsp + 0x30], r14d
mov r9b, 1
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0xc8]
mov rcx, r15
call r12
nop
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0x10
jb 0x140042d0e
inc rdx
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042d09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004350f
call fcn.140143924
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x140042d6d
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042d68
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043515
call fcn.140143924
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], 0xf
mov byte [rsp + 0x108], 0
mov rdx, qword [rsp + 0x140]
cmp rdx, 0x10
jb 0x140042dcc
inc rdx
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042dc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004351b
call fcn.140143924
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], 0xf
mov byte [rsp + 0x128], 0
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x140043128
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043123
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043521
jmp 0x140043123
cmp esi, 0xffffffce
jge 0x14004312d
mov esi, 0xffffffce
mov dword [rsp + 0x4c], esi
mov r15, qword [r15 + 0x188]
mov rax, qword [r15]
mov r12, qword [rax + 0x40]
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], 0xf
mov byte [rsp + 0xe8], 0
lea r8d, [rsi + 0x37]
lea rdx, str.white
lea rcx, [rsp + 0xe8]
call fcn.140038020
nop
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x128]
call fcn.140050bb0
nop
lea r9d, [rsi + 0x4a]
lea r8, str.Power_limit_for_device_
xor edx, edx
mov rcx, rax
call fcn.140039080
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x118], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 0x20
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
mov rax, rdx
sub rax, rcx
cmp rax, 0x13
jb 0x140042f4b
lea rax, [rcx + 0x13]
mov qword [rsp + 0x118], rax
lea rbx, [rsp + 0x108]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x108]
add rbx, rcx
lea r8d, [rsi + 0x45]
lea rdx, str._was_chaged_to__50.
mov rcx, rbx
call fcn.140161720
mov byte [rbx + 0x13], 0
lea rax, [rsp + 0x108]
jmp 0x140042f6f
mov qword [rsp + 0x20], 0x13
lea r9, str._was_chaged_to__50.
xor r8d, r8d
lea edx, [r8 + 0x13]
lea rcx, [rsp + 0x108]
call fcn.1400307a0
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xd8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 0x40
mov dword [rsp + 0x30], r14d
mov r9b, 1
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0xc8]
mov rcx, r15
call r12
nop
mov rdx, qword [rsp + 0xe0]
cmp rdx, 0x10
jb 0x14004300b
inc rdx
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043006
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043527
call fcn.140143924
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov rdx, qword [rsp + 0x120]
cmp rdx, 0x10
jb 0x14004306a
inc rdx
mov rcx, qword [rsp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043065
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004352d
call fcn.140143924
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], 0xf
mov byte [rsp + 0x108], 0
mov rdx, qword [rsp + 0x140]
cmp rdx, 0x10
jb 0x1400430c9
inc rdx
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400430c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043533
call fcn.140143924
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], 0xf
mov byte [rsp + 0x128], 0
mov rdx, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x140043128
inc rdx
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043123
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043539
call fcn.140143924
mov r15, qword [rsp + 0x40]
call fcn.1400893f0
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.140088cc0
mov r12d, eax
lea r13d, [rsi + 0x64]
mov ecx, r13d
imul ecx, r12d
mov eax, 0x51eb851f
mul ecx
mov ebx, edx
shr ebx, 5
call fcn.1400893f0
mov r8d, ebx
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.14008a270
mov r8, qword [rsp + 0x38]
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0x39]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3a]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3b]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3c]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3d]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3e]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0x3f]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [r15 + 0x178]
and rcx, rdx
shl rcx, 4
mov r10, qword [r15 + 0x160]
mov r9, qword [r10 + rcx]
mov rax, r9
lea r11, [rcx + 8]
mov rdx, qword [r15 + 0x150]
nop dword [rax]
cmp r9, rdx
jne 0x14004321a
mov rcx, rdx
jmp 0x140043221
mov rcx, qword [r11 + r10]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140043250
cmp qword [rax + 0x10], r8
je 0x140043231
mov rax, qword [rax]
jmp 0x140043210
cmp rax, rdx
je 0x140043250
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x90], 0
mov rbx, qword [rsp + 0x40]
jmp 0x1400432ef
lea rax, [rsp + 0x38]
mov qword [rsp + 0x78], rax
mov rbx, qword [rdx]
mov rsi, qword [rbx + 8]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x140214b18]
mov r8, rsi
mov rdx, rbx
lea rcx, [r15 + 0x150]
call fcn.14003a240
mov rdx, rax
mov rax, qword [r15 + 0x158]
movabs rcx, 0x7fffffffffffffe
sub rcx, rax
cmp rcx, 1
jb 0x14004353f
inc rax
mov qword [r15 + 0x158], rax
mov qword [rbx + 8], rdx
mov qword [rsi], rdx
mov r9, qword [r15 + 0x150]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rsp + 0x88]
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 0x148]
call fcn.14003b730
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x18], r12d
mov rbx, qword [rbx + 0x188]
mov rax, qword [rbx]
mov r15, qword [rax + 0x38]
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], 0xf
mov byte [rsp + 0x128], 0
mov r8d, 4
lea rdx, str.gray
lea rcx, [rsp + 0x128]
call fcn.140038020
nop
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x148]
call fcn.140050bb0
mov rsi, rax
mov edx, r13d
lea rcx, [rsp + 0x168]
call fcn.1400509e0
nop
mov r9d, 0x1f
lea r8, str.Success_setting_power_limit_to
xor edx, edx
mov rcx, rax
call fcn.140039080
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xd8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r14d, 7
mov dword [rsp + 0x30], r14d
mov r8d, 0xe
lea rdx, str.__for_device_
lea rcx, [rsp + 0xc8]
call fcn.140037ce0
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xe8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xf8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts r14d, 8
mov dword [rsp + 0x30], r14d
mov r8, rsi
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x188]
call fcn.14002df10
nop
mov r9b, 1
lea r8, [rsp + 0x128]
mov rdx, rax
mov rcx, rbx
call r15
nop
lea rcx, [rsp + 0x188]
call fcn.1400334c0
nop
lea rcx, [rsp + 0xe8]
call fcn.1400334c0
nop
lea rcx, [rsp + 0xc8]
call fcn.1400334c0
nop
lea rcx, [rsp + 0x168]
call fcn.1400334c0
nop
lea rcx, [rsp + 0x148]
call fcn.1400334c0
nop
lea rcx, [rsp + 0x128]
call fcn.1400334c0
nop
mov r12, qword [rsp + 0x68]
jmp 0x1400429e3
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.140143d80
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140041ab0
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
int3
call fcn.140165594
int3
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
lea rcx, str.list_T__too_long
call fcn.14012329c
int3