Function at 0x140147080
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 0x1401470bb
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 0x140147230
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x140147242
mov rax, qword [str.xJ0_]
mov rax, qword [rax]
cmp rax, 1
ja 0x1401474ba
movzx edx, byte [0x140303a08]
test dl, dl
je 0x1401474ba
movzx eax, dl
cmp eax, 1
je 0x140147123
cmp eax, 2
jne 0x1401474a4
mov dl, 2
mov rcx, qword [0x1403039f8]
call fcn.140180dc0
test al, al
je 0x1401474ba
mov rcx, qword [0x1403039f8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401476ca
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 + 0x78], rdi
lea rax, [rsp + 0x78]
mov qword [rsp + 0x90], rax
lea rax, [0x140017bf0]
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 + 0x60], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x68], rax
lea rax, [0x140241ea0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rdx
lea rcx, [rsp + 0x48]
call fcn.140148e30
mov byte [rsi + 4], 0x11
jmp 0x14014709e
test rdi, rdi
je 0x1401473fd
mov byte [rsi + 4], 0x10
jmp 0x14014709e
test rdi, rdi
je 0x14014742f
mov dword [rsp + 0x34], 0
lea rbx, [0x140243458]
mov dword [rsp + 0x2c], 0
xor ecx, ecx
mov dword [rsp + 0x30], 0
xor r10d, r10d
xor r11d, r11d
jmp 0x1401472ac
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 0x14014744f
cmp rdi, 6
mov r15d, 6
cmovb r15, rdi
cmp r15, 1
je 0x14014765c
cmp r15, 2
jbe 0x140147672
cmp r15, 3
je 0x140147688
cmp r15, 4
jbe 0x14014769e
cmp r15, 5
je 0x1401476b4
movzx eax, byte [r8]
movzx edx, byte [r8 + 1]
shl eax, 8
add edx, eax
dec edx
cmp edx, 5
ja case.default.0x14014731c
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.0x14014731c
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.0x14014731c
jmp 0x14014749b
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.0x14014731c
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.0x14014731c
jmp 0x14014749b
shl r9d, 0x18
shl ebp, 0x10
or ebp, r9d
shl r12d, 8
lea edx, [r12 + rbp]
add edx, 0xff000000
cmp edx, 0xff004000
jb 0x14014749b
or ebp, r12d
or ebp, eax
mov dword [rsp + 0x2c], 1
mov eax, ebp
mov dword [rsp + 0x38], ebp
jmp case.default.0x14014731c
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 0x1401470a4
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 0x1401470a4
mov byte [rsi + 4], 0xe
jmp 0x14014709e
lea rcx, [0x1403039f8]
call fcn.1401ed700
mov edx, eax
test al, al
jne 0x140147123
mov rax, qword [0x140304aa0]
movzx eax, byte [rax]
test al, al
je 0x1401474d1
mov byte [rsi + 4], 0x11
jmp 0x14014709e
mov rax, qword [0x140304b50]
mov rax, qword [rax]
xor ecx, ecx
cmp rax, 4
setne cl
mov eax, 0xff
cmovbe eax, ecx
cmp al, 0xff
je 0x1401474f7
movzx eax, al
test eax, eax
jne 0x1401474c8
mov rbx, qword [0x1403039f8]
movups xmm0, xmmword [rbx + 0x20]
mov qword [rsp + 0x78], 4
movups xmmword [rsp + 0x80], xmm0
call fcn.1401a8d10
mov r14, rax
mov r15, rdx
lea rdx, [rsp + 0x78]
mov rcx, rax
call qword [r15 + 0x18]
test al, al
je 0x1401474c8
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, qword [0x1403039f8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401476ca
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, [0x140017bf0]
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 + 0x60], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x68], rax
lea rax, [0x140241ea0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rdx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140180de0
jmp 0x1401474c8
lea r8, [0x140242178]
mov ecx, 1
mov edx, 1
call fcn.1401efb40
lea r8, [0x140242190]
mov ecx, 2
mov edx, 2
call fcn.1401efb40
lea r8, [0x140242190]
mov ecx, 3
mov edx, 3
call fcn.1401efb40
lea r8, [0x140242190]
mov ecx, 4
mov edx, 4
call fcn.1401efb40
lea r8, [0x140242190]
mov ecx, 5
mov edx, 5
call fcn.1401efb40
lea rcx, [0x140241e38]
lea r8, [0x140241fe8]
mov edx, 0x22
call fcn.1401ef960
int3