Function at 0x14016bbb0
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 0x14016bbe8
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 0x14016bc75
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14016bc87
mov rax, qword [0x14038e190]
mov rax, qword [rax]
cmp rax, 2
jae 0x14016c01c
movzx edx, byte [0x14038cb28]
cmp dl, 2
je 0x14016bf01
movzx eax, dl
cmp eax, 1
je 0x14016bf03
test eax, eax
je 0x14016c01c
lea rax, [0x14038cb18]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1402166b0
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x14016bf03
jmp 0x14016c01c
test r9, r9
je 0x14016be49
mov byte [rcx + 4], 0x10
jmp 0x14016bbcb
test r9, r9
je 0x14016be82
xor eax, eax
lea r15, [0x1402c5a88]
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 0x14016bcec
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 0x14016bea9
cmp r9, 6
mov r12d, 6
cmovb r12, r9
cmp r9, 1
je 0x14016c02e
cmp r9, 2
jbe 0x14016c05a
cmp r9, 3
je 0x14016c086
cmp r9, 4
jbe 0x14016c044
cmp r9, 5
je 0x14016c070
movzx edx, word [r8]
rol dx, 8
movzx r14d, dx
dec r14d
cmp r14d, 7
ja case.0x14016bd5c.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 0x14016bd72
or edx, esi
or edx, r11d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x38], edx
jmp case.0x14016bd5c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14016bd93
or edx, esi
or edx, r11d
mov edi, 1
mov ebp, edx
cmp edx, 2
jb case.0x14016bd5c.7
jmp 0x14016c025
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.0x14016bd5c.7
jmp 0x14016c025
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x14016bdde
or edx, esi
or edx, r11d
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x3c], edx
jmp case.0x14016bd5c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14016bdff
or edx, esi
or edx, r11d
mov r10d, 1
mov dword [rsp + 0x40], edx
jns case.0x14016bd5c.7
jmp 0x14016c025
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
lea ebx, [rdx + rsi]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x14016c025
or esi, edx
or esi, r11d
mov dword [rsp + 0x24], 1
mov edx, esi
mov dword [rsp + 0x34], esi
jmp case.0x14016bd5c.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 0x14016bbd1
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 0x14016bbd1
mov dl, 2
mov rax, qword [0x14038cb18]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140199da0
mov rcx, rsi
test al, al
je 0x14016c01c
mov rcx, qword [0x14038cb18]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14016c09c
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, [0x14004f620]
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, [0x1402c3e68]
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.14019af20
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14016bbcb
mov byte [rcx + 4], 0x11
jmp 0x14016bbcb
mov byte [rcx + 4], 0xe
jmp 0x14016bbcb
lea r8, [0x1402c4468]
mov ecx, 1
mov edx, 1
call fcn.14021a410
lea r8, [0x1402c4480]
mov ecx, 4
mov edx, 4
call fcn.14021a410
lea r8, [0x1402c4480]
mov ecx, 2
mov edx, 2
call fcn.14021a410
lea r8, [0x1402c4480]
mov ecx, 5
mov edx, 5
call fcn.14021a410
lea r8, [0x1402c4480]
mov ecx, 3
mov edx, 3
call fcn.14021a410
lea rcx, [0x1402c3db8]
lea r8, [0x1402c42c8]
mov edx, 0x22
call fcn.14021a280
int3