Function at 0x14002f5e1
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movdqa xmmword [rsp + 0x120], xmm7
movaps xmmword [rsp + 0x110], xmm6
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0xe0], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xe8], xmm0
mov eax, dword [rdx + 0xa0]
cmp eax, 0xcc
je 0x14002fc4e
cmp eax, 0x130
je 0x14002fc4e
lea rsi, [rbx + 0x60]
lea rax, [rbx + 0x58]
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0x40]
lea r13, [rsp + 0xe0]
xorps xmm6, xmm6
pcmpeqd xmm7, xmm7
movzx eax, byte [rbx + 0x48]
test rax, rax
je 0x14002f6bf
cmp eax, 1
jne 0x14002f6fc
mov r12, qword [rbx + 0x50]
test r12, r12
je 0x14002fc48
lea rax, [r12 - 1]
mov qword [rbx + 0x50], rax
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14002d10b
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x14002f74a
cmp eax, 2
je 0x14002fc3c
mov r15d, 1
mov rbp, qword [rsp + 0x48]
jmp 0x14002fbbc
mov rdx, rsi
call fcn.14002d10b
movzx eax, byte [rsp + 0x40]
cmp eax, 2
je 0x14002f790
test eax, eax
jne 0x14002f79b
movzx eax, byte [rsp + 0x41]
and rbp, 0xffffffffffffff00
or rbp, rax
mov r15d, 0xa
mov edi, 1
jmp 0x14002fbac
cmp byte [rbx + 0x49], 0
mov r12, qword [rbx + 0x50]
jne 0x14002f70f
test r12, r12
je 0x14002fc48
test r12, r12
je 0x14002f767
lea r15, [r12 - 1]
mov qword [rbx + 0x50], r15
lea rcx, [rsp + 0x28]
mov rdx, rsi
call fcn.14002d10b
mov al, byte [rsp + 0x28]
cmp al, 2
je 0x14002fc35
test al, al
je 0x14002f7ab
mov r15d, 1
mov rbp, qword [rsp + 0x30]
jmp 0x14002fbac
movzx eax, byte [rsp + 0x41]
and rbp, 0xffffffffffffff00
or rbp, rax
mov r15d, 0xa
mov rdi, r12
jmp 0x14002fbbc
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14002fd9d
cmp qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x58]
je 0x14002f7cd
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
jmp 0x14002fbaf
mov r15d, 0xb
jmp 0x14002fbac
mov r15d, 1
mov rbp, qword [rsp + 0x48]
jmp 0x14002fbac
movzx edi, byte [rsp + 0x29]
test r15, r15
je 0x14002f805
and rbp, 0xffffffffffffff00
or rbp, rdi
mov r15d, 0xa
mov rax, r12
jmp 0x14002fbaf
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r15d, 2
test rax, rax
je 0x14002fba7
movzx r8d, byte [rcx]
cmp r8d, 0x2d
je 0x14002f842
cmp r8d, 0x2b
jne 0x14002f850
dec rax
je 0x14002fba7
lea r11, [rcx + 1]
jmp 0x14002f853
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14002fd9d
cmp qword [rsp + 0x40], 0
je 0x14002f82e
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x14002fbaf
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
call fcn.14001156b
jmp 0x14002f7b5
mov r11, rcx
cmp rax, 1
jne 0x14002f853
jmp 0x14002fba7
mov r11, rcx
xor r10d, r10d
xor r12d, r12d
cmp rax, 0x11
jae 0x14002f8bd
movzx r8d, byte [r11 + r10]
lea r9d, [r8 - 0x30]
cmp r9d, 0xa
jb 0x14002f891
or r8d, 0x20
add r8d, 0xffffff9f
add r8d, 0xa
mov r9d, 0xffffffff
cmovb r8d, r9d
mov r9d, r8d
cmp r8d, 0xf
ja 0x14002fba7
shl r12, 4
mov r8d, r9d
or r12, r8
inc r10
cmp rax, r10
jne 0x14002f85f
test r12, r12
je 0x14002f910
mov rax, qword [rsp + 0xb8]
add qword [rax], r12
call fcn.14001156b
jmp 0x14002f714
cmp rax, r10
je 0x14002f8a3
movzx r8d, byte [r11 + r10]
lea r9d, [r8 - 0x30]
cmp r9d, 0xa
jb 0x14002f8f4
or r8d, 0x20
add r8d, 0xffffff9f
add r8d, 0xa
mov r9d, 0xffffffff
cmovb r8d, r9d
mov r9d, r8d
cmp r8d, 0xf
ja 0x14002fba7
mov r8, r12
shr r8, 0x3c
jne 0x14002fba7
shl r12, 4
mov r8d, r9d
or r12, r8
inc r10
jmp 0x14002f8bd
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
lea r12, [rsp + 0x40]
mov rcx, r12
mov rdx, rsi
call fcn.14002fd9d
cmp qword [rsp + 0x40], 0
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jne 0x14002f99d
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov rcx, r12
lea rdx, [rsp + 0xc0]
call fcn.14002fe95
cmp qword [rsp + 0x40], 0
je 0x14002f9a7
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, r12
lea r9, [rsp + 0x58]
call fcn.14002d873
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.140030047
jmp 0x14002f925
cmp r15, 0xa
jne 0x14002fb18
mov byte [rbx + 0x49], 0
mov ecx, 0xe
call fcn.140010cc6
movabs rcx, 0x2d746e65746e6f63
mov qword [rax], rcx
movabs rcx, 0x6874676e656c2d74
mov qword [rax + 6], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x70], 0x20
mov byte [rsp + 0x78], 3
and qword [rsp + 0x40], 0
mov qword [rsp + 0x108], 0xe
and qword [rsp + 0x50], 0
mov qword [rsp + 0x28], 1
lea rax, [rsp + 0x30]
movups xmmword [rax], xmm6
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
lea rax, [0x14004d5e0]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, r12
call fcn.1400039b0
test al, al
jne 0x14002fcde
movdqu xmm0, xmmword [rsp + 0x28]
movdqa xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xd0], rax
mov rcx, r12
mov rdx, rbx
lea r8, [rsp + 0xf8]
lea r9, [rsp + 0xc0]
call fcn.14002d873
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.140030047
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov r9d, 0x11
lea r15, [0x14004e2cc]
mov r8, r15
call fcn.14002cc01
mov r9d, 0x11
mov rcx, rbx
mov rdx, rax
mov r8, r15
call fcn.14002d765
test rax, rax
je 0x14002fb0b
mov r8, rax
mov rcx, qword [rbx]
mov rax, rcx
sub rax, r8
cqo
mov r9d, 0x30
idiv r9
lea rdx, [rax - 0x10]
and rdx, qword [rbx + 8]
movdqu xmm0, xmmword [rcx + rdx]
pcmpeqb xmm0, xmm7
psllw xmm0, 7
pmovmskb r9d, xmm0
test r9d, r9d
mov r15, qword [rsp + 0xa0]
je 0x14002fb20
bsr r9w, r9w
xor r9d, 0xf
jmp 0x14002fb25
xor r12d, r12d
mov r15, qword [rsp + 0xa0]
jmp 0x14002fb7e
mov rbp, rcx
mov rdi, rax
jmp 0x14002fb97
mov r9w, 0x10
movdqu xmm0, xmmword [rcx + rax]
pcmpeqb xmm0, xmm7
pmovmskb r10d, xmm0
or r10d, 0x10000
bsf r10d, r10d
add r9d, r10d
mov r10b, 0x80
cmp r9w, 0xf
ja 0x14002fb52
inc qword [rbx + 0x10]
mov r10b, 0xff
mov byte [rcx + rax], r10b
mov byte [rdx + rcx + 0x10], r10b
dec qword [rbx + 0x18]
mov rcx, qword [r8 - 0x30]
test rcx, rcx
je 0x14002fb7b
mov r15, qword [r8 - 0x10]
mov rdx, qword [r8 - 0x28]
mov r12, qword [r8 - 0x18]
call fcn.14001156b
jmp 0x14002fb7e
xor r12d, r12d
mov rcx, r12
mov qword [rsp + 0xa0], r15
mov rdx, r15
call fcn.140030047
mov r15d, 0xb
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa8]
call fcn.14001156b
mov rax, rdi
mov rdi, rax
cmp r15, 0xb
je 0x14002fc48
cmp r15, 0xa
jne 0x14002fbe1
mov rcx, r13
mov rdx, rdi
call fcn.140011049
mov rcx, r13
mov edx, ebp
call fcn.14002cb34
lea rcx, [rsp + 0x40]
jmp 0x14002f664
mov rax, rbp
shr rax, 8
mov rcx, rbp
shr rcx, 0x38
mov byte [r14 + 0x17], cl
mov rcx, rbp
shr rcx, 0x28
mov word [r14 + 0x15], cx
mov dword [r14 + 0x11], eax
mov qword [r14 + 8], r15
mov byte [r14 + 0x10], bpl
mov qword [r14 + 0x18], rdi
and qword [r14], 0
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
call fcn.14001156b
mov rcx, rbx
call fcn.14002fd61
jmp 0x14002fcba
mov rdx, qword [rsp + 0x30]
jmp 0x14002fc41
mov rdx, qword [rsp + 0x48]
mov cl, 2
call fcn.14002fd8f
mov eax, dword [rbx + 0xa0]
mov rcx, qword [rbx + 0x40]
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rbx + 0x30]
movaps xmmword [rsi], xmm0
movdqu xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movdqu xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 0x38], xmm2
mov rcx, qword [rsp + 0xe0]
mov qword [rsi + 0x48], rcx
mov rcx, qword [rsp + 0xe8]
mov qword [rsi + 0x50], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsi + 0x58], rcx
mov ecx, 0xc
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
mov dword [r14 + 0x60], eax
add rbx, 0x60
mov rcx, rbx
call fcn.14002fd0c
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x14004d698]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_cc66ad468955717ab92600c770da8c1601a4ff33library_alloc_src_string.rs
lea r9, [0x14004d878]
lea r8, [rsp + 0xc0]
mov edx, 0x37
call fcn.140041ea0
ud2