Function at 0x140170470
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 0x1401704a8
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 0x140170535
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x140170547
mov rax, qword [0x140390190]
mov rax, qword [rax]
cmp rax, 2
jae 0x1401708dc
movzx edx, byte [0x14038ec08]
cmp dl, 2
je 0x1401707c1
movzx eax, dl
cmp eax, 1
je 0x1401707c3
test eax, eax
je 0x1401708dc
lea rax, [0x14038ebf8]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1402178d0
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x1401707c3
jmp 0x1401708dc
test r9, r9
je 0x140170709
mov byte [rcx + 4], 0x10
jmp 0x14017048b
test r9, r9
je 0x140170742
xor eax, eax
lea r15, [0x1402d8860]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
and al, 0
add byte [rax], al
add byte [rbp + 0x31], al
rol bh, cl
and al, 0x2c
add byte [rax], al
add byte [rax], al
xor edi, edi
mov dword [rsp + 0x28], 0
jmp 0x1401705ac
shl ebx, 0x18
shl esi, 0x10
out 0x10, al
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x44], edx
nop dword [rax]
add r8, r12
sub r9, r12
je 0x140170769
cmp r9, 6
mov r12d, 6
cmovb r12, r9
cmp r9, 1
je 0x1401708ee
cmp r9, 2
jbe 0x14017091a
cmp r9, 3
je 0x140170946
cmp r9, 4
jbe 0x140170904
cmp r9, 5
je 0x140170930
movzx edx, word [r8]
rol dx, 8
movzx r14d, dx
dec r14d
cmp r14d, 7
ja case.0x14017061c.7
movzx ebx, byte [r8 + 2]
movzx esi, byte [r8 + 3]
movzx edx, byte [r8 + 4]
movzx r11d, byte [r8 + 5]
movsxd r14, dword [r15 + r14*4]
add r14, r15
jmp r14
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x140170632
or edx, esi
or edx, r11d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x38], edx
jmp case.0x14017061c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x140170653
or edx, esi
or edx, r11d
mov edi, 1
mov ebp, edx
cmp edx, 2
jb case.0x14017061c.7
jmp 0x1401708e5
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or byte [rcx], cl
or edx, r11d
mov eax, 1
mov r13d, edx
cmp edx, 2
jb case.0x14017061c.7
jmp 0x1401708e5
shl ebx, 0x18
shl esi, 0x10
adc byte [rcx], cl
faddp st(1)
loop 0x14017069e
or edx, esi
or edx, r11d
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x3c], edx
jmp case.0x14017061c.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
loop 0x1401706bf
or edx, esi
or edx, r11d
mov r10d, 1
mov dword [rsp + 0x40], edx
jns case.0x14017061c.7
jmp 0x1401708e5
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
lea ebx, [rdx + rsi]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x1401708e5
or esi, edx
or esi, r11d
mov dword [rsp + 0x24], 1
mov edx, esi
mov dword [rsp + 0x34], esi
jmp case.0x14017061c.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 0x140170491
mov dword [rsp + 0x28], 0
xor edi, edi
mov dword [rsp + 0x2c], 0
xor r10d, r10d
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x30], 0
xor eax, eax
mov edx, dword [rsp + 0x28]
mov dword [rcx], edx
mov edx, dword [rsp + 0x38]
mov dword [rcx + 4], edx
mov dword [rcx + 8], edi
mov dword [rcx + 0xc], ebp
mov edx, dword [rsp + 0x2c]
mov dword [rcx + 0x10], edx
mov edx, dword [rsp + 0x3c]
mov dword [rcx + 0x14], edx
mov dword [rcx + 0x18], r10d
mov edx, dword [rsp + 0x40]
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], r13d
mov byte [rcx + 0x38], 0
jmp 0x140170491
mov dl, 2
mov rax, qword [0x14038ebf8]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.14019ad30
mov rcx, rsi
test al, al
je 0x1401708dc
mov rcx, qword [0x14038ebf8]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x14017095c
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, [0x14004f3d0]
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, [0x1402d6c40]
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.14019beb0
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x14017048b
mov byte [rcx + 4], 0x11
jmp 0x14017048b
mov byte [rcx + 4], 0xe
jmp 0x14017048b
lea r8, [0x1402d7240]
mov ecx, 1
mov edx, 1
call fcn.14021b830
lea r8, [0x1402d7258]
mov ecx, 4
mov edx, 4
call fcn.14021b830
lea r8, [0x1402d7258]
mov ecx, 2
mov edx, 2
call fcn.14021b830
lea r8, [0x1402d7258]
mov ecx, 5
mov edx, 5
call fcn.14021b830
lea r8, [0x1402d7258]
mov ecx, 3
mov edx, 3
call fcn.14021b830
lea rcx, [0x1402d6b90]
lea r8, [0x1402d70a0]
mov edx, 0x22
call fcn.14021b6a0
int3