Function at 0x140110820
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 0x140110858
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 0x1401109cc
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x1401109de
mov rax, qword [0x1402a60f8]
mov rax, qword [rax]
cmp rax, 2
jae 0x140110c75
movzx edx, byte [0x1402a4ce8]
movzx eax, dl
lea r8d, [rax - 1]
cmp r8d, 2
jae 0x140110c71
mov rax, qword [0x1402a4cd8]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.14013b5e0
mov rcx, rsi
test al, al
je 0x140110c75
mov rcx, qword [0x1402a4cd8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140110d1c
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, [0x14001f9b0]
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, [0x14020e5f8]
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.14013bfa0
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14011083b
test r9, r9
je 0x140110bba
mov byte [rcx + 4], 0x10
jmp 0x14011083b
test r9, r9
je 0x140110bf3
xor eax, eax
lea r14, [0x140210078]
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 0x140110a4c
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 0x140110c19
cmp r9, 6
mov r15d, 6
cmovb r15, r9
cmp r9, 1
je 0x140110cae
cmp r9, 2
jbe 0x140110cda
cmp r9, 3
je 0x140110d06
cmp r9, 4
jbe 0x140110cc4
cmp r9, 5
je 0x140110cf0
movzx edx, word [r8]
rol dx, 8
movzx r11d, dx
dec r11d
cmp r11d, 7
ja case.0x140110abc.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.0x140110abc.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.0x140110abc.7
jmp 0x140110c7e
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.0x140110abc.7
jmp 0x140110c7e
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.0x140110abc.7
shl esi, 0x18
js 0x140110c7e
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.0x140110abc.7
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
lea r11d, [r10 + rbp]
add r11d, 0xffffc000
cmp r11d, 0xffc000
jae 0x140110c7e
or r10d, ebp
or r10d, edx
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x34], r10d
jmp case.0x140110abc.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 0x140110841
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 0x140110841
test eax, eax
jne 0x140110c87
mov byte [rcx + 4], 0x11
jmp 0x14011083b
mov byte [rcx + 4], 0xe
jmp 0x14011083b
lea rax, [0x1402a4cd8]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1401b1360
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x1401108b3
jmp 0x140110c75
lea r8, [0x14020eaf0]
mov ecx, 1
mov edx, 1
call fcn.1401b7908
lea r8, [0x14020eb08]
mov ecx, 4
mov edx, 4
call fcn.1401b7908
lea r8, [0x14020eb08]
mov ecx, 2
mov edx, 2
call fcn.1401b7908
lea r8, [0x14020eb08]
mov ecx, 5
mov edx, 5
call fcn.1401b7908
lea r8, [0x14020eb08]
mov ecx, 3
mov edx, 3
call fcn.1401b7908
lea rcx, [0x14020e548]
lea r8, [0x14020e950]
mov edx, 0x22
call fcn.1401b7720
int3