Function at 0x140157d30
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 0x140157d6b
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 0x140157f1e
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x140157f30
mov rax, qword [str.__r2_]
mov rax, qword [rax]
cmp rax, 1
ja 0x140158209
movzx edx, byte [0x14031fb10]
test dl, dl
je 0x140158209
movzx eax, dl
cmp eax, 1
je 0x140157dd3
cmp eax, 2
jne 0x1401581f3
mov dl, 2
mov rcx, qword [0x14031fb08]
call fcn.140184370
test al, al
je 0x140158209
mov rcx, qword [0x14031fb08]
call fcn.1400367e0
lea rbx, [rsp + 0xf8]
mov rcx, rbx
mov rdx, rax
call fcn.140184b00
mov rcx, qword [0x14031fb08]
call fcn.1400367e0
mov r15, rax
lea r14, [rsp + 0x60]
mov rcx, r14
mov rdx, rbx
call fcn.140184b30
cmp qword [rsp + 0x60], 0
je 0x14015828a
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0x58], rdi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x90], rax
lea rax, [0x140040950]
mov qword [rsp + 0x98], rax
lea rax, str.invalid_settings_payload_length__len
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], r14
lea rax, fcn.140008810
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], r15
mov rcx, qword [0x14031fb08]
lea rdx, [rsp + 0xa0]
call fcn.140184ee0
mov byte [rsi + 4], 0x11
jmp 0x140157d4e
test rdi, rdi
je 0x140158134
mov byte [rsi + 4], 0x10
jmp 0x140157d4e
test rdi, rdi
je 0x14015816d
xor r14d, r14d
lea rbx, [0x1401582a4]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x30], 0
xor ecx, ecx
mov dword [rsp + 0x34], 0
xor edx, edx
jmp 0x140157f9c
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov dword [rsp + 0x30], 1
mov eax, r9d
mov dword [rsp + 0x40], r9d
nop
add r8, r15
sub rdi, r15
je 0x140158194
cmp rdi, 6
mov r15d, 6
cmovb r15, rdi
cmp r15, 1
je 0x140158212
cmp r15, 2
jbe 0x14015822a
cmp r15, 3
je 0x140158242
cmp r15, 4
jbe 0x14015825a
cmp r15, 5
je 0x140158272
movzx ebp, byte [r8]
movzx eax, byte [r8 + 1]
shl ebp, 8
lea r13d, [rax + rbp]
dec r13d
cmp r13d, 7
ja case.0x140158010.7
movzx r12d, byte [r8 + 2]
movzx r11d, byte [r8 + 3]
movzx r9d, byte [r8 + 4]
movzx r10d, byte [r8 + 5]
movsxd rax, dword [rbx + r13*4]
add rax, rbx
jmp rax
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov ecx, 1
mov eax, r9d
mov dword [rsp + 0x44], r9d
cmp r9d, 2
jb case.0x140158010.7
jmp 0x14015812b
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov dword [rsp + 0x34], 1
mov eax, r9d
mov dword [rsp + 0x50], r9d
jmp case.0x140158010.7
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov edx, 1
mov eax, r9d
mov dword [rsp + 0x54], r9d
jns case.0x140158010.7
jmp 0x14015812b
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
lea eax, [r10 + r9]
add eax, 0xffffc000
cmp eax, 0xffc000
jae 0x14015812b
or r9d, r10d
mov dword [rsp + 0x2c], 1
mov eax, r9d
mov dword [rsp + 0x3c], r9d
jmp case.0x140158010.7
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov dword [rsp + 0x38], 1
mov eax, r9d
mov dword [rsp + 0x4c], r9d
jmp case.0x140158010.7
shl r12d, 0x18
shl r11d, 0x10
or r11d, r12d
shl r9d, 8
or r9d, r11d
or r9d, r10d
mov r14d, 1
mov eax, r9d
mov dword [rsp + 0x48], r9d
cmp r9d, 2
jb case.0x140158010.7
mov byte [rsi + 4], 0xe
jmp 0x140157d4e
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 0x140157d54
xor edx, edx
mov dword [rsp + 0x34], 0
xor ecx, ecx
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x38], 0
xor r14d, r14d
mov eax, dword [rsp + 0x30]
mov dword [rsi], eax
mov eax, dword [rsp + 0x40]
mov dword [rsi + 4], eax
mov dword [rsi + 8], ecx
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0xc], eax
mov eax, dword [rsp + 0x34]
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x50]
mov dword [rsi + 0x14], eax
mov dword [rsi + 0x18], edx
mov eax, dword [rsp + 0x54]
mov dword [rsi + 0x1c], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsi + 0x20], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsi + 0x24], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x28], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x30], r14d
mov eax, dword [rsp + 0x48]
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x38], 0
jmp 0x140157d54
lea rcx, [0x14031fb00]
call fcn.140212580
mov edx, eax
test al, al
jne 0x140157dd3
mov byte [rsi + 4], 0x11
jmp 0x140157d4e
lea r8, [0x140244d98]
mov ecx, 1
mov edx, 1
call fcn.140217c20
ud2
lea r8, [0x140244db0]
mov ecx, 2
mov edx, 2
call fcn.140217c20
ud2
lea r8, [0x140244db0]
mov ecx, 3
mov edx, 3
call fcn.140217c20
ud2
lea r8, [0x140244db0]
mov ecx, 4
mov edx, 4
call fcn.140217c20
ud2
lea r8, [0x140244db0]
mov ecx, 5
mov edx, 5
call fcn.140217c20
ud2
lea rcx, str.FieldSet_corrupted__this_is_a_bug_inc_window__sz__old__new
lea r8, [0x140244c30]
mov edx, 0x22
call fcn.140217ac0
ud2