Function at 0x140118a10
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, 0x128
mov rsi, rcx
test edx, edx
je 0x140118a4b
mov byte [rsi + 4], 0x12
mov dword [rsi], 2
mov rax, rsi
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, r9
bt rdx, 0x20
jb 0x140118bc9
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x140118bdb
mov rax, qword [0x1402dd180]
mov rax, qword [rax]
cmp rax, 1
ja 0x140118e8d
movzx edx, byte [0x1402dbd10]
test dl, dl
je 0x140118e8d
movzx eax, dl
cmp eax, 1
je 0x140118ab3
cmp eax, 2
jne 0x140118e77
mov dl, 2
mov rcx, qword [0x1402dbd00]
call fcn.140162f50
test al, al
je 0x140118e8d
mov rcx, qword [0x1402dbd00]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401190a9
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x88], rdi
lea rax, [rsp + 0x88]
mov qword [rsp + 0xa0], rax
lea rax, section..text
mov qword [rsp + 0xa8], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x78], rax
lea rax, [0x140218618]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], rdx
lea rcx, [rsp + 0x58]
call fcn.140119f10
mov byte [rsi + 4], 0x11
jmp 0x140118a2e
test rdi, rdi
je 0x140118dbf
mov byte [rsi + 4], 0x10
jmp 0x140118a2e
test rdi, rdi
je 0x140118df8
xor eax, eax
lea r15, [0x140219838]
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x34], 0
xor edx, edx
mov dword [rsp + 0x3c], 0
xor r11d, r11d
mov dword [rsp + 0x38], 0
jmp 0x140118c4c
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x54], ecx
nop word cs:[rax + rax]
add r8, r12
sub rdi, r12
je 0x140118e1f
cmp rdi, 6
mov r12d, 6
cmovb r12, rdi
cmp r12, 1
je 0x14011903b
cmp r12, 2
jbe 0x140119051
cmp r12, 3
je 0x140119067
cmp r12, 4
jbe 0x14011907d
cmp r12, 5
je 0x140119093
movzx ecx, byte [r8]
movzx r9d, byte [r8 + 1]
shl ecx, 8
lea r14d, [rcx + r9]
dec r14d
cmp r14d, 7
ja case.0x140118cc0.7
movzx ebx, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
movzx ecx, byte [r8 + 4]
movzx r9d, byte [r8 + 5]
movsxd r14, dword [r15 + r14*4]
add r14, r15
jmp r14
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x48], ecx
jmp case.0x140118cc0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov r11d, 1
mov ebp, ecx
cmp ecx, 2
jb case.0x140118cc0.7
jmp 0x140118db6
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x4c], ecx
jmp case.0x140118cc0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov edx, 1
mov dword [rsp + 0x50], ecx
jns case.0x140118cc0.7
jmp 0x140118db6
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
lea ebx, [rcx + r10]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x140118db6
or r10d, ecx
or r10d, r9d
mov dword [rsp + 0x34], 1
mov ecx, r10d
mov dword [rsp + 0x44], r10d
jmp case.0x140118cc0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov eax, 1
mov r13d, ecx
cmp ecx, 2
jb case.0x140118cc0.7
mov byte [rsi + 4], 0xe
jmp 0x140118a2e
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 dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 1
jmp 0x140118a34
mov dword [rsp + 0x38], 0
xor r11d, r11d
mov dword [rsp + 0x3c], 0
xor edx, edx
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x40], 0
xor eax, eax
mov ecx, dword [rsp + 0x38]
mov dword [rsi], ecx
mov ecx, dword [rsp + 0x48]
mov dword [rsi + 4], ecx
mov dword [rsi + 8], r11d
mov dword [rsi + 0xc], ebp
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + 0x10], ecx
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov ecx, dword [rsp + 0x50]
mov dword [rsi + 0x1c], ecx
mov ecx, dword [rsp + 0x34]
mov dword [rsi + 0x20], ecx
mov ecx, dword [rsp + 0x44]
mov dword [rsi + 0x24], ecx
mov ecx, dword [rsp + 0x40]
mov dword [rsi + 0x28], ecx
mov ecx, dword [rsp + 0x54]
mov dword [rsi + 0x2c], ecx
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], r13d
mov byte [rsi + 0x38], 0
jmp 0x140118a34
lea rcx, [0x1402dbd00]
call fcn.1401e8c50
mov edx, eax
test al, al
jne 0x140118ab3
mov rax, qword [0x1402dd1a0]
movzx eax, byte [rax]
test al, al
je 0x140118ea4
mov byte [rsi + 4], 0x11
jmp 0x140118a2e
mov rax, qword [0x1402dd260]
mov rax, qword [rax]
xor ecx, ecx
cmp rax, 4
setne cl
mov eax, 0xff
cmovbe eax, ecx
cmp al, 0xff
je 0x140118eca
movzx eax, al
test eax, eax
jne 0x140118e9b
mov rbx, qword [0x1402dbd00]
movups xmm0, xmmword [rbx + 0x20]
mov qword [rsp + 0x88], 4
movups xmmword [rsp + 0x90], xmm0
call fcn.1401ae000
mov r14, rax
mov r15, rdx
lea rdx, [rsp + 0x88]
mov rcx, rax
call qword [r15 + 0x18]
test al, al
je 0x140118e9b
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [0x1402dbd00]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401190a9
lea rdx, [rcx + 0x30]
mov r8, qword [rcx + 0x30]
movups xmm0, xmmword [rcx + 0x40]
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x110], rdi
lea rax, [rsp + 0x110]
mov qword [rsp + 0x118], rax
lea rax, section..text
mov qword [rsp + 0x120], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x118]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x78], rax
lea rax, [0x140218618]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa0]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140162f70
jmp 0x140118e9b
lea r8, [0x140218bd8]
mov ecx, 1
mov edx, 1
call fcn.1401edaa0
lea r8, [0x140218bf0]
mov ecx, 2
mov edx, 2
call fcn.1401edaa0
lea r8, [0x140218bf0]
mov ecx, 3
mov edx, 3
call fcn.1401edaa0
lea r8, [0x140218bf0]
mov ecx, 4
mov edx, 4
call fcn.1401edaa0
lea r8, [0x140218bf0]
mov ecx, 5
mov edx, 5
call fcn.1401edaa0
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.4.4_srcproto_settings.rs
lea r8, [0x140218a30]
mov edx, 0x22
call fcn.1401ed860
int3