Function at 0x140141e90
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, 0x118
mov rsi, rcx
test edx, edx
je 0x140141ecb
mov byte [rsi + 4], 0x12
mov dword [rsi], 2
mov rax, rsi
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, r9
bt rdx, 0x20
jb 0x140142050
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x140142062
mov rax, qword [0x140320ab0]
mov rax, qword [rax]
cmp rax, 5
je 0x1401422da
cmp rax, 1
ja 0x1401422da
movzx edx, byte [0x14031f7f8]
test dl, dl
je 0x1401422da
movzx eax, dl
cmp eax, 1
je 0x140141f3d
cmp eax, 2
jne 0x1401422c4
mov dl, 2
mov rcx, qword [0x14031f7e8]
call fcn.140180500
test al, al
je 0x1401422da
mov rcx, qword [0x14031f7e8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401424fd
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], rax
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x90], rax
lea rax, [0x1400360f0]
mov qword [rsp + 0x98], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xf0], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x80], rax
lea rax, fcn.140007640
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], rdx
lea rcx, [rsp + 0x60]
call fcn.140143530
mov byte [rsi + 4], 0x11
jmp 0x140141eae
test rdi, rdi
je 0x14014221d
mov byte [rsi + 4], 0x10
jmp 0x140141eae
test rdi, rdi
je 0x14014224f
mov dword [rsp + 0x34], 0
lea rbx, [0x140251c6c]
mov dword [rsp + 0x2c], 0
xor ecx, ecx
mov dword [rsp + 0x30], 0
xor r10d, r10d
xor r11d, r11d
jmp 0x1401420cc
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
or r12d, ebp
or r12d, eax
mov dword [rsp + 0x34], 1
mov eax, r12d
mov dword [rsp + 0x44], r12d
nop dword [rax + rax]
add r8, r15
sub rdi, r15
je 0x14014226f
cmp rdi, 6
mov r15d, 6
cmovb r15, rdi
cmp r15, 1
je 0x140142485
cmp r15, 2
jbe 0x14014249d
cmp r15, 3
je 0x1401424b5
cmp r15, 4
jbe 0x1401424cd
cmp r15, 5
je 0x1401424e5
movzx eax, byte [r8]
movzx edx, byte [r8 + 1]
shl eax, 8
add edx, eax
dec edx
cmp edx, 5
ja case.default.0x14014213c
movzx r9d, byte [r8 + 2]
movzx ebp, byte [r8 + 3]
movzx r12d, byte [r8 + 4]
movzx eax, byte [r8 + 5]
movsxd rdx, dword [rbx + rdx*4]
add rdx, rbx
jmp rdx
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
or r12d, ebp
or r12d, eax
mov r11d, 1
mov eax, r12d
mov dword [rsp + 0x3c], r12d
jmp case.default.0x14014213c
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
or r12d, ebp
or r12d, eax
mov r10d, 1
mov r13d, r12d
cmp r12d, 2
jb case.default.0x14014213c
jmp 0x1401422bb
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
or r12d, ebp
or r12d, eax
mov dword [rsp + 0x30], 1
mov eax, r12d
mov dword [rsp + 0x40], r12d
jmp case.default.0x14014213c
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
or r12d, ebp
or r12d, eax
mov ecx, 1
mov r14d, r12d
jns case.default.0x14014213c
jmp 0x1401422bb
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
lea edx, [r12 + rbp]
add edx, 0xff000000
cmp edx, 0xff004000
jb 0x1401422bb
or ebp, r12d
or ebp, eax
mov dword [rsp + 0x2c], 1
mov eax, ebp
mov dword [rsp + 0x38], ebp
jmp case.default.0x14014213c
mov dword [rsi], 0
mov dword [rsi + 8], 0
mov dword [rsi + 0x10], 0
mov dword [rsi + 0x18], 0
mov dword [rsi + 0x20], 0
mov dword [rsi + 0x28], 0
mov byte [rsi + 0x30], 1
jmp 0x140141eb4
xor r11d, r11d
xor r10d, r10d
mov dword [rsp + 0x30], 0
xor ecx, ecx
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x34], 0
mov dword [rsi], r11d
mov eax, dword [rsp + 0x3c]
mov dword [rsi + 4], eax
mov dword [rsi + 8], r10d
mov dword [rsi + 0xc], r13d
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x14], eax
mov dword [rsi + 0x18], ecx
mov dword [rsi + 0x1c], r14d
mov eax, dword [rsp + 0x2c]
mov dword [rsi + 0x20], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x24], eax
mov eax, dword [rsp + 0x34]
mov dword [rsi + 0x28], eax
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x2c], eax
mov byte [rsi + 0x30], 0
jmp 0x140141eb4
mov byte [rsi + 4], 0xe
jmp 0x140141eae
lea rcx, [0x14031f7e8]
call fcn.1402051f0
mov edx, eax
test al, al
jne 0x140141f3d
mov rax, qword [0x140320ad0]
movzx eax, byte [rax]
test al, al
je 0x1401422f1
mov byte [rsi + 4], 0x11
jmp 0x140141eae
mov rax, qword [0x140320b38]
mov rax, qword [rax]
xor ecx, ecx
cmp rax, 4
setne cl
mov eax, 0xff
cmovbe eax, ecx
cmp al, 0xff
je 0x140142317
movzx eax, al
test eax, eax
jne 0x1401422e8
mov rbx, qword [0x14031f7e8]
mov rcx, rbx
call fcn.140181c30
mov qword [rsp + 0x48], 4
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
call fcn.1401abbd0
mov r14, rax
mov r15, rdx
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [r15 + 0x18]
test al, al
je 0x1401422e8
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, qword [0x14031f7e8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401424fd
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], rax
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x100], rdi
lea rax, [rsp + 0x100]
mov qword [rsp + 0x108], rax
lea rax, [0x1400360f0]
mov qword [rsp + 0x110], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xf0], 0
lea rax, [rsp + 0x108]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x80], rax
lea rax, fcn.140007640
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140180520
jmp 0x1401422e8
lea r8, [0x140250b00]
mov ecx, 1
mov edx, 1
call fcn.140207890
ud2
lea r8, [0x140250b18]
mov ecx, 2
mov edx, 2
call fcn.140207890
ud2
lea r8, [0x140250b18]
mov ecx, 3
mov edx, 3
call fcn.140207890
ud2
lea r8, [0x140250b18]
mov ecx, 4
mov edx, 4
call fcn.140207890
ud2
lea r8, [0x140250b18]
mov ecx, 5
mov edx, 5
call fcn.140207890
ud2
lea rcx, [0x140250338]
lea r8, [0x140250970]
mov edx, 0x22
call fcn.1402076f0
ud2