Function at 0x140158c20
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
test edx, edx
je 0x140158c58
mov byte [rcx + 4], 0x12
mov dword [rcx], 2
mov rax, rcx
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
bt rdx, 0x20
jb 0x140158de5
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, r9
ror rax, 1
movabs rdx, 0x2aaaaaaaaaaaaaab
cmp rax, rdx
jb 0x140158df7
mov rax, qword [0x1405085d0]
mov rax, qword [rax]
cmp rax, 1
ja 0x1401590a3
movzx edx, byte [0x140507210]
test dl, dl
je 0x1401590a3
movzx eax, dl
cmp eax, 1
je 0x140158cbd
cmp eax, 2
jne 0x14015907e
mov dl, 2
mov rax, qword [0x140507200]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.1401a3520
mov r9, rdi
mov rcx, rsi
test al, al
je 0x1401590a3
mov rcx, qword [0x140507200]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401592b8
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], r9
lea rax, [rsp + 0x88]
mov qword [rsp + 0xa0], rax
lea rax, [0x14001cf30]
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, [0x1403ca120]
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.14015a0f0
mov rcx, rsi
mov byte [rsi + 4], 0x11
jmp 0x140158c3b
test r9, r9
je 0x140158fbd
mov byte [rcx + 4], 0x10
jmp 0x140158c3b
test r9, r9
je 0x140158ff6
xor eax, eax
lea r15, [0x1403cb99c]
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x34], 0
xor r10d, r10d
mov dword [rsp + 0x3c], 0
xor edi, edi
mov dword [rsp + 0x38], 0
jmp 0x140158e5c
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x54], edx
nop dword [rax]
add r8, r12
sub r9, r12
je 0x14015901d
cmp r9, 6
mov r12d, 6
cmovb r12, r9
cmp r9, 1
je 0x14015924a
cmp r9, 2
jbe 0x140159260
cmp r9, 3
je 0x140159276
cmp r9, 4
jbe 0x14015928c
cmp r9, 5
je 0x1401592a2
movzx edx, byte [r8]
movzx r11d, byte [r8 + 1]
shl edx, 8
lea r14d, [rdx + r11]
dec r14d
cmp r14d, 7
ja case.0x140158ed0.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
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x48], edx
jmp case.0x140158ed0.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov edi, 1
mov ebp, edx
cmp edx, 2
jb case.0x140158ed0.7
jmp 0x140159075
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov eax, 1
mov r13d, edx
cmp edx, 2
jb case.0x140158ed0.7
jmp 0x140159075
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov dword [rsp + 0x3c], 1
mov dword [rsp + 0x4c], edx
jmp case.0x140158ed0.7
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
or edx, esi
or edx, r11d
mov r10d, 1
mov dword [rsp + 0x50], edx
jns case.0x140158ed0.7
jmp 0x140159075
shl ebx, 0x18
shl esi, 0x10
or esi, ebx
shl edx, 8
lea ebx, [rdx + rsi]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x140159075
or esi, edx
or esi, r11d
mov dword [rsp + 0x34], 1
mov edx, esi
mov dword [rsp + 0x44], esi
jmp case.0x140158ed0.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 0x140158c41
mov dword [rsp + 0x38], 0
xor edi, edi
mov dword [rsp + 0x3c], 0
xor r10d, r10d
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x40], 0
xor eax, eax
mov edx, dword [rsp + 0x38]
mov dword [rcx], edx
mov edx, dword [rsp + 0x48]
mov dword [rcx + 4], edx
mov dword [rcx + 8], edi
mov dword [rcx + 0xc], ebp
mov edx, dword [rsp + 0x3c]
mov dword [rcx + 0x10], edx
mov edx, dword [rsp + 0x4c]
mov dword [rcx + 0x14], edx
mov dword [rcx + 0x18], r10d
mov edx, dword [rsp + 0x50]
mov dword [rcx + 0x1c], edx
mov edx, dword [rsp + 0x34]
mov dword [rcx + 0x20], edx
mov edx, dword [rsp + 0x44]
mov dword [rcx + 0x24], edx
mov edx, dword [rsp + 0x40]
mov dword [rcx + 0x28], edx
mov edx, dword [rsp + 0x54]
mov dword [rcx + 0x2c], edx
mov dword [rcx + 0x30], eax
mov dword [rcx + 0x34], r13d
mov byte [rcx + 0x38], 0
jmp 0x140158c41
mov byte [rcx + 4], 0xe
jmp 0x140158c3b
lea rax, [0x140507200]
mov rsi, rcx
mov rcx, rax
mov rdi, r9
call fcn.14035d0a0
mov r9, rdi
mov rcx, rsi
mov edx, eax
test al, al
jne 0x140158cbd
mov rax, qword [0x1405085f0]
movzx eax, byte [rax]
test al, al
jne 0x140159241
mov rax, qword [0x140508698]
mov rax, qword [rax]
cmp rax, 4
jb 0x140159241
mov r15, r9
mov r14, rcx
mov rsi, qword [0x140507200]
movups xmm0, xmmword [rsi + 0x20]
mov qword [rsp + 0x88], 4
movups xmmword [rsp + 0x90], xmm0
call fcn.1401e1d10
mov rdi, rax
mov rbx, rdx
lea rdx, [rsp + 0x88]
mov rcx, rax
call qword [rbx + 0x18]
test al, al
je 0x14015923e
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [0x140507200]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x1401592b8
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], r15
lea rax, [rsp + 0x110]
mov qword [rsp + 0x118], rax
lea rax, [0x14001cf30]
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, [0x1403ca120]
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, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1401a3540
mov rcx, r14
mov byte [rcx + 4], 0x11
jmp 0x140158c3b
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov ecx, 1
mov edx, 1
call fcn.140365040
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov ecx, 2
mov edx, 2
call fcn.140365040
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov ecx, 3
mov edx, 3
call fcn.140365040
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov ecx, 4
mov edx, 4
call fcn.140365040
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov ecx, 5
mov edx, 5
call fcn.140365040
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_srcproto_settings.rs
lea r8, str.C:UsersTony_Stark.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.20_src_frame_settings.rs_
mov edx, 0x22
call fcn.140364e90
int3