Function at 0x1402167e0
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 0x140216818
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 0x14021698c
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x14021699e
mov rax, qword [0x14046c1e0]
mov rax, qword [rax]
cmp rax, 2
jae 0x140216c35
movzx edx, byte [0x14046aca8]
movzx eax, dl
lea r8d, [rax - 1]
cmp r8d, 2
jae 0x140216c31
mov rax, qword [str.__v6_]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.140241c50
mov rcx, rsi
test al, al
je 0x140216c35
mov rcx, qword [str.__v6_]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140216cdc
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, [0x140056100]
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, [0x14035f5b0]
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.140242c90
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x1402167fb
test r9, r9
je 0x140216b7a
mov byte [rcx + 4], 0x10
jmp 0x1402167fb
test r9, r9
je 0x140216bb3
xor eax, eax
lea r14, [0x1403610f0]
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 0x140216a0c
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 0x140216bd9
cmp r9, 6
mov r15d, 6
cmovb r15, r9
cmp r9, 1
je 0x140216c6e
cmp r9, 2
jbe 0x140216c9a
cmp r9, 3
je 0x140216cc6
cmp r9, 4
jbe 0x140216c84
cmp r9, 5
je 0x140216cb0
movzx edx, word [r8]
rol dx, 8
movzx r11d, dx
dec r11d
cmp r11d, 7
ja case.0x140216a7c.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.0x140216a7c.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.0x140216a7c.7
jmp 0x140216c3e
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.0x140216a7c.7
jmp 0x140216c3e
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.0x140216a7c.7
shl esi, 0x18
js 0x140216c3e
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.0x140216a7c.7
shl esi, 0x18
shl r10d, 0x10
or r10d, esi
shl ebp, 8
lea r11d, [r10 + rbp]
add r11d, 0xffffc000
cmp r11d, 0xffc000
jae 0x140216c3e
or r10d, ebp
or r10d, edx
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x34], r10d
jmp case.0x140216a7c.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 0x140216801
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 0x140216801
test eax, eax
jne 0x140216c47
mov byte [rcx + 4], 0x11
jmp 0x1402167fb
mov byte [rcx + 4], 0xe
jmp 0x1402167fb
lea rax, str.__v6_
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1402e2030
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x140216873
jmp 0x140216c35
lea r8, [0x14035fab8]
mov ecx, 1
mov edx, 1
call fcn.1402e7e40
lea r8, [0x14035fad0]
mov ecx, 4
mov edx, 4
call fcn.1402e7e40
lea r8, [0x14035fad0]
mov ecx, 2
mov edx, 2
call fcn.1402e7e40
lea r8, [0x14035fad0]
mov ecx, 5
mov edx, 5
call fcn.1402e7e40
lea r8, [0x14035fad0]
mov ecx, 3
mov edx, 3
call fcn.1402e7e40
lea rcx, [0x14035f500]
lea r8, [0x14035f918]
mov edx, 0x22
call fcn.1402e7c50
int3