Function at 0x14015ab80
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 0x14015abb8
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 0x14015ac45
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14015ac57
mov rax, qword [str.HQJ_]
mov rax, qword [rax]
cmp rax, 2
jae 0x14015afec
movzx edx, byte [0x1404a3d88]
cmp dl, 2
je 0x14015aed1
movzx eax, dl
cmp eax, 1
je 0x14015aed3
test eax, eax
je 0x14015afec
lea rax, [0x1404a3d78]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140353910
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x14015aed3
jmp 0x14015afec
test r9, r9
je 0x14015ae19
mov byte [rcx + 4], 0x10
jmp 0x14015ab9b
test r9, r9
je 0x14015ae52
xor eax, eax
lea r15, [0x14039f7d8]
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 0x14015acbc
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 0x14015ae79
cmp r9, 6
mov r12d, 6
cmovb r12, r9
cmp r9, 1
je 0x14015affe
cmp r9, 2
jbe 0x14015b02a
cmp r9, 3
je 0x14015b056
cmp r9, 4
jbe 0x14015b014
cmp r9, 5
je 0x14015b040
movzx edx, word [r8]
rol dx, 8
movzx r14d, dx
dec r14d
cmp r14d, 7
ja case.0x14015ad2c.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 0x14015ad42
or edx, esi
or edx, r11d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x38], edx
jmp case.0x14015ad2c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14015ad63
or edx, esi
or edx, r11d
mov edi, 1
mov ebp, edx
cmp edx, 2
jb case.0x14015ad2c.7
jmp 0x14015aff5
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.0x14015ad2c.7
jmp 0x14015aff5
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x14015adae
or edx, esi
or edx, r11d
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x3c], edx
jmp case.0x14015ad2c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x14015adcf
or edx, esi
or edx, r11d
mov r10d, 1
mov dword [rsp + 0x40], edx
jns case.0x14015ad2c.7
jmp 0x14015aff5
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
lea ebx, [rdx + rsi]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x14015aff5
or esi, edx
or esi, r11d
mov dword [rsp + 0x24], 1
mov edx, esi
mov dword [rsp + 0x34], esi
jmp case.0x14015ad2c.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 0x14015aba1
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 0x14015aba1
mov dl, 2
mov rax, qword [0x1404a3d78]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140184cb0
mov rcx, rsi
test al, al
je 0x14015afec
mov rcx, qword [0x1404a3d78]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14015b06c
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, [0x140038410]
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, [0x14039dd78]
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.140185af0
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14015ab9b
mov byte [rcx + 4], 0x11
jmp 0x14015ab9b
mov byte [rcx + 4], 0xe
jmp 0x14015ab9b
lea r8, [0x14039e378]
mov ecx, 1
mov edx, 1
call fcn.14035a010
lea r8, [0x14039e390]
mov ecx, 4
mov edx, 4
call fcn.14035a010
lea r8, [0x14039e390]
mov ecx, 2
mov edx, 2
call fcn.14035a010
lea r8, [0x14039e390]
mov ecx, 5
mov edx, 5
call fcn.14035a010
lea r8, [0x14039e390]
mov ecx, 3
mov edx, 3
call fcn.14035a010
lea rcx, [0x14039dcc8]
lea r8, [0x14039e1d8]
mov edx, 0x22
call fcn.140359e20
int3