Function at 0x140116050
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 0x140116088
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 0x1401161fc
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14011620e
mov rax, qword [0x1402720d0]
mov rax, qword [rax]
cmp rax, 2
jae 0x1401164a5
movzx edx, byte [0x140271520]
movzx eax, dl
lea r8d, [rax - 1]
cmp r8d, 2
jae 0x1401164a1
mov rax, qword [0x140271510]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140134b60
mov rcx, rsi
test al, al
je 0x1401164a5
mov rcx, qword [0x140271510]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14011654c
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, [0x140008a10]
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, [0x1401d51b8]
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.140135590
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14011606b
test r9, r9
je 0x1401163ea
mov byte [rcx + 4], 0x10
jmp 0x14011606b
test r9, r9
je 0x140116423
xor eax, eax
lea r14, [0x1401d6c38]
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 0x14011627c
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 0x140116449
cmp r9, 6
mov r15d, 6
cmovb r15, r9
cmp r9, 1
je 0x1401164de
cmp r9, 2
jbe 0x14011650a
cmp r9, 3
je 0x140116536
cmp r9, 4
jbe 0x1401164f4
cmp r9, 5
je 0x140116520
movzx edx, word [r8]
rol dx, 8
movzx r11d, dx
dec r11d
cmp r11d, 7
ja case.0x1401162ec.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.0x1401162ec.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.0x1401162ec.7
jmp 0x1401164ae
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.0x1401162ec.7
jmp 0x1401164ae
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.0x1401162ec.7
shl esi, 0x18
js 0x1401164ae
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.0x1401162ec.7
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
lea r11d, [r10 + rbp]
add r11d, 0xffffc000
cmp r11d, 0xffc000
jae 0x1401164ae
or r10d, ebp
or r10d, edx
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x34], r10d
jmp case.0x1401162ec.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 0x140116071
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 0x140116071
test eax, eax
jne 0x1401164b7
mov byte [rcx + 4], 0x11
jmp 0x14011606b
mov byte [rcx + 4], 0xe
jmp 0x14011606b
lea rax, [0x140271510]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1401a4290
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x1401160e3
jmp 0x1401164a5
lea r8, [0x1401d56b0]
mov ecx, 1
mov edx, 1
call fcn.1401a7370
lea r8, [0x1401d56c8]
mov ecx, 4
mov edx, 4
call fcn.1401a7370
lea r8, [0x1401d56c8]
mov ecx, 2
mov edx, 2
call fcn.1401a7370
lea r8, [0x1401d56c8]
mov ecx, 5
mov edx, 5
call fcn.1401a7370
lea r8, [0x1401d56c8]
mov ecx, 3
mov edx, 3
call fcn.1401a7370
lea rcx, [0x1401d5108]
lea r8, [0x1401d5510]
mov edx, 0x22
call fcn.1401a71e0
int3