Function at 0x14012a800
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 0x14012a838
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 0x14012a9ac
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14012a9be
mov rax, qword [0x1402b4da8]
mov rax, qword [rax]
cmp rax, 2
jae 0x14012ac55
movzx edx, byte [0x1402b4408]
movzx eax, dl
lea r8d, [rax - 1]
cmp r8d, 2
jae 0x14012ac51
mov rax, qword [str.__b__]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1401481d0
mov rcx, rsi
test al, al
je 0x14012ac55
mov rcx, qword [str.__b__]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14012acfc
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, [0x14002fe00]
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, [0x14020f3d0]
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.140149370
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14012a81b
test r9, r9
je 0x14012ab9a
mov byte [rcx + 4], 0x10
jmp 0x14012a81b
test r9, r9
je 0x14012abd3
xor eax, eax
lea r14, [0x140210ce0]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
and al, 0x24
add byte [rax], al
add byte [rax], al
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0
xor edi, edi
xor ebx, ebx
jmp 0x14012aa2c
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
or ebp, r10d
or ebp, edx
or ebp, edx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x44], ebp
nop word cs:[rax + rax]
add r8, r15
sub r9, r15
je 0x14012abf9
cmp r9, 6
mov r15d, 6
cmovb r15, r9
cmp r9, 1
je 0x14012ac8e
cmp r9, 2
jbe 0x14012acba
cmp r9, 3
je 0x14012ace6
cmp r9, 4
jbe 0x14012aca4
cmp r9, 5
je 0x14012acd0
movzx edx, word [r8]
rol dx, 8
movzx r11d, dx
dec r11d
cmp r11d, 7
ja case.0x14012aa9c.7
movzx esi, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
movzx ebp, byte [r8 + 4]
movzx edx, byte [r8 + 5]
movsxd r11, dword [r14 + r11*4]
add r11, r14
jmp r11
shl esi, 0x18
shl r10d, 0x10
shl edx, 0x10
or r10d, esi
shl ebp, 8
or ebp, r10d
or ebp, edx
mov ebx, 1
mov dword [rsp + 0x3c], ebp
jmp case.0x14012aa9c.7
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
or byte [rcx + rcx - 0x2b], al
or ebp, edx
mov edi, 1
mov r13d, ebp
cmp ebp, 2
jb case.0x14012aa9c.7
jmp 0x14012ac5e
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
or byte [rcx + rcx - 0x2b], al
or ebp, edx
mov eax, 1
mov r12d, ebp
cmp ebp, 2
jb case.0x14012aa9c.7
jmp 0x14012ac5e
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
or ebp, r10d
or ebp, edx
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x40], ebp
jmp case.0x14012aa9c.7
shl esi, 0x18
js 0x14012ac5e
shl r10d, 0x10
shl ebp, 8
or byte [rcx + 9], al
rol byte [rcx + 9], cl
invalid
or r10d, esi
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x38], r10d
jmp case.0x14012aa9c.7
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
lea r11d, [r10 + rbp]
add r11d, 0xffffc000
cmp r11d, 0xffc000
jae 0x14012ac5e
or r10d, ebp
or r10d, edx
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x34], r10d
jmp case.0x14012aa9c.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 0x14012a821
xor ebx, ebx
xor edi, edi
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x30], 0
xor eax, eax
mov dword [rcx], ebx
mov edx, dword [rsp + 0x3c]
mov dword [rcx + 4], edx
mov dword [rcx + 8], edi
mov dword [rcx + 0xc], r13d
mov edx, dword [rsp + 0x2c]
mov dword [rcx + 0x10], edx
mov edx, dword [rsp + 0x40]
mov dword [rcx + 0x14], edx
mov edx, dword [rsp + 0x28]
mov dword [rcx + 0x18], edx
mov edx, dword [rsp + 0x38]
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], r12d
mov byte [rcx + 0x38], 0
jmp 0x14012a821
test eax, eax
jne 0x14012ac67
mov byte [rcx + 4], 0x11
jmp 0x14012a81b
mov byte [rcx + 4], 0xe
jmp 0x14012a81b
lea rax, str.__b__
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1401b4540
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x14012a893
jmp 0x14012ac55
lea r8, [0x14020f8c8]
mov ecx, 1
mov edx, 1
call fcn.1401b7780
lea r8, [0x14020f8e0]
mov ecx, 4
mov edx, 4
call fcn.1401b7780
lea r8, [0x14020f8e0]
mov ecx, 2
mov edx, 2
call fcn.1401b7780
lea r8, [0x14020f8e0]
mov ecx, 5
mov edx, 5
call fcn.1401b7780
lea r8, [0x14020f8e0]
mov ecx, 3
mov edx, 3
call fcn.1401b7780
lea rcx, [0x14020f320]
lea r8, [0x14020f728]
mov edx, 0x22
call fcn.1401b75f0
int3