Function at 0x14016c290
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
test edx, edx
je 0x14016c2c8
mov byte [rcx + 4], 0x12
mov dword [rcx], 2
mov rax, rcx
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
bt rdx, 0x20
jb 0x14016c355
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14016c367
mov rax, qword [0x14038f190]
mov rax, qword [rax]
cmp rax, 2
jae 0x14016c6fc
movzx edx, byte [0x14038db28]
cmp dl, 2
je 0x14016c5e1
movzx eax, dl
cmp eax, 1
je 0x14016c5e3
test eax, eax
je 0x14016c6fc
lea rax, [0x14038db18]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140217150
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x14016c5e3
jmp 0x14016c6fc
test r9, r9
je 0x14016c529
mov byte [rcx + 4], 0x10
jmp 0x14016c2ab
test r9, r9
je 0x14016c562
xor eax, eax
lea r15, [0x1402c6b88]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
and al, 0
add byte [rax], al
add byte [rbp + 0x31], al
rol bh, cl
and al, 0x2c
add byte [rax], al
add byte [rax], al
xor edi, edi
mov dword [rsp + 0x28], 0
jmp 0x14016c3cc
shl ebx, 0x18
shl esi, 0x10
out 0x10, al
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x44], edx
nop dword [rax]
add r8, r12
sub r9, r12
je 0x14016c589
cmp r9, 6
mov r12d, 6
cmovb r12, r9
cmp r9, 1
je 0x14016c70e
cmp r9, 2
jbe 0x14016c73a
cmp r9, 3
je 0x14016c766
cmp r9, 4
jbe 0x14016c724
cmp r9, 5
je 0x14016c750
movzx edx, word [r8]
rol dx, 8
movzx r14d, dx
dec r14d
cmp r14d, 7
ja case.0x14016c43c.7
movzx ebx, byte [r8 + 2]
movzx esi, byte [r8 + 3]
movzx edx, byte [r8 + 4]
movzx r11d, byte [r8 + 5]
movsxd r14, dword [r15 + r14*4]
add r14, r15
jmp r14
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x14016c452
or edx, esi
or edx, r11d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x38], edx
jmp case.0x14016c43c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14016c473
or edx, esi
or edx, r11d
mov edi, 1
mov ebp, edx
cmp edx, 2
jb case.0x14016c43c.7
jmp 0x14016c705
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or byte [rcx], cl
or edx, r11d
mov eax, 1
mov r13d, edx
cmp edx, 2
jb case.0x14016c43c.7
jmp 0x14016c705
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x14016c4be
or edx, esi
or edx, r11d
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x3c], edx
jmp case.0x14016c43c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14016c4df
or edx, esi
or edx, r11d
mov r10d, 1
mov dword [rsp + 0x40], edx
jns case.0x14016c43c.7
jmp 0x14016c705
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
lea ebx, [rdx + rsi]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x14016c705
or esi, edx
or esi, r11d
mov dword [rsp + 0x24], 1
mov edx, esi
mov dword [rsp + 0x34], esi
jmp case.0x14016c43c.7
mov dword [rcx], 0
mov dword [rcx + 8], 0
mov dword [rcx + 0x10], 0
mov dword [rcx + 0x18], 0
mov dword [rcx + 0x20], 0
mov dword [rcx + 0x28], 0
mov dword [rcx + 0x30], 0
mov byte [rcx + 0x38], 1
jmp 0x14016c2b1
mov dword [rsp + 0x28], 0
xor edi, edi
mov dword [rsp + 0x2c], 0
xor r10d, r10d
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x30], 0
xor eax, eax
mov edx, dword [rsp + 0x28]
mov dword [rcx], edx
mov edx, dword [rsp + 0x38]
mov dword [rcx + 4], edx
mov dword [rcx + 8], edi
mov dword [rcx + 0xc], ebp
mov edx, dword [rsp + 0x2c]
mov dword [rcx + 0x10], edx
mov edx, dword [rsp + 0x3c]
mov dword [rcx + 0x14], edx
mov dword [rcx + 0x18], r10d
mov edx, dword [rsp + 0x40]
mov dword [rcx + 0x1c], edx
mov edx, dword [rsp + 0x24]
mov dword [rcx + 0x20], edx
mov edx, dword [rsp + 0x34]
mov dword [rcx + 0x24], edx
mov edx, dword [rsp + 0x30]
mov dword [rcx + 0x28], edx
mov edx, dword [rsp + 0x44]
mov dword [rcx + 0x2c], edx
mov dword [rcx + 0x30], eax
mov dword [rcx + 0x34], r13d
mov byte [rcx + 0x38], 0
jmp 0x14016c2b1
mov dl, 2
mov rax, qword [0x14038db18]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.14019a480
mov rcx, rsi
test al, al
je 0x14016c6fc
mov rcx, qword [0x14038db18]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14016c77c
lea r8, [rcx + 0x30]
mov r9, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], rax
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x50], rax
lea rax, [0x14004fb60]
mov qword [rsp + 0x58], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
mov qword [rsp + 0xd8], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 1
lea rax, [rsp + 0x90]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x68], rax
lea rax, [0x1402c4f68]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
mov qword [rsp + 0x88], r8
lea rdx, [rsp + 0x78]
call fcn.14019b600
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14016c2ab
mov byte [rcx + 4], 0x11
jmp 0x14016c2ab
mov byte [rcx + 4], 0xe
jmp 0x14016c2ab
lea r8, [0x1402c5568]
mov ecx, 1
mov edx, 1
call fcn.14021aeb0
lea r8, [0x1402c5580]
mov ecx, 4
mov edx, 4
call fcn.14021aeb0
lea r8, [0x1402c5580]
mov ecx, 2
mov edx, 2
call fcn.14021aeb0
lea r8, [0x1402c5580]
mov ecx, 5
mov edx, 5
call fcn.14021aeb0
lea r8, [0x1402c5580]
mov ecx, 3
mov edx, 3
call fcn.14021aeb0
lea rcx, [0x1402c4eb8]
lea r8, [0x1402c53c8]
mov edx, 0x22
call fcn.14021ad20
int3