Function at 0x1400974c0
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbx, r9
mov qword [rsp + 0x30], rcx
mov r13, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], 0
xor esi, esi
mov r11, r8
xor eax, eax
mov qword [rsp + 0x50], r8
mov rbp, qword [rsp + 0x38]
mov r9, rbx
sub r9, rsi
mov rdx, r13
sub rdx, rax
cmp rdx, r9
mov r10, r9
cmovb r10, rdx
lea r15, [rax + rbp]
mov edi, r11d
xor edi, r15d
test dil, 7
jne 0x140097546
mov r12d, r11d
neg r12d
and r12d, 7
lea rdi, [r12 + 0x10]
cmp rdi, r10
jbe 0x14009757f
mov rcx, rbx
xor r14d, r14d
cmp r14, r10
jae 0x140098010
nop word cs:[rax + rax]
movzx edi, byte [r11 + r14]
test dil, dil
js 0x140097670
mov byte [r15 + r14], dil
inc r14
cmp r10, r14
jne 0x140097560
jmp 0x140098010
test r12, r12
je 0x140097f83
movzx edi, byte [r8 + rsi]
test dil, dil
js 0x140097fe0
mov rcx, rbx
mov byte [r15], dil
mov r14d, 1
cmp r12d, 1
movabs r8, 0x8080808080808080
je 0x140097f93
movzx edi, byte [r11 + 1]
test dil, dil
js 0x140097670
mov byte [r15 + 1], dil
mov r14d, 2
cmp r12d, 2
je 0x140097f93
movzx edi, byte [r11 + 2]
test dil, dil
js 0x140097670
mov byte [r15 + 2], dil
mov r14d, 3
cmp r12d, 3
je 0x140097f93
movzx edi, byte [r11 + 3]
test dil, dil
js 0x140097670
mov byte [r15 + 3], dil
mov r14d, 4
cmp r12d, 4
je 0x140097f93
movzx edi, byte [r11 + 4]
test dil, dil
js 0x140097670
mov byte [r15 + 4], dil
mov r14d, 5
cmp r12d, 5
je 0x140097f93
movzx edi, byte [r11 + 5]
test dil, dil
js 0x140097670
mov byte [r15 + 5], dil
mov r14d, 6
cmp r12d, 6
je 0x140097f93
movzx edi, byte [r11 + 6]
test dil, dil
js 0x140097670
mov byte [r15 + 6], dil
mov r14d, 7
jmp 0x140097f93
mov rbx, rcx
add rsi, r14
mov rax, qword [rsp + 0x48]
lea r10, [rax + r14]
add rax, r14
inc rax
cmp rax, r13
jae 0x140098089
lea rax, [rsi + 1]
cmp dil, 0xe0
jae 0x1400976f0
cmp rax, rbx
mov r8, qword [rsp + 0x50]
lea r14, [0x1402be5f4]
lea r15, [0x1402c3426]
lea r12, [0x1402bdcc0]
movabs r13, 0x342da7f2f4960343
jae 0x140098177
and dil, 0x1f
movzx eax, dil
shl eax, 6
movzx edx, byte [r8 + rsi + 1]
and edx, 0x3f
or edx, eax
add rsi, 2
jmp 0x140097758
cmp dil, 0xf0
mov r8, qword [rsp + 0x50]
lea r14, [0x1402be5f4]
lea r15, [0x1402c3426]
lea r12, [0x1402bdcc0]
movabs r13, 0x342da7f2f4960343
jae 0x140097763
cmp rax, rbx
jae 0x140098189
lea rax, [rsi + 2]
cmp rax, rbx
jae 0x1400981bf
movzx eax, dil
shl eax, 0xc
movzx r9d, byte [r8 + rsi + 1]
and r9d, 0x3f
shl r9d, 6
or r9d, eax
movzx edx, byte [r8 + rsi + 2]
and edx, 0x3f
or edx, r9d
add rsi, 3
xor r9d, r9d
xor r11d, r11d
jmp 0x140097827
cmp rax, rbx
jae 0x14009819b
lea rax, [rsi + 2]
cmp rax, rbx
jae 0x1400981ad
lea rax, [rsi + 3]
cmp rax, rbx
jae 0x1400981d1
and dil, 7
movzx eax, dil
shl eax, 0x12
movzx edx, byte [r8 + rsi + 1]
and edx, 0x3f
shl edx, 0xc
or edx, eax
movzx eax, byte [r8 + rsi + 2]
and eax, 0x3f
shl eax, 6
or eax, edx
movzx r9d, byte [r8 + rsi + 3]
and r9d, 0x3f
or r9d, eax
add rsi, 4
mov r11w, 1
xor edx, edx
jmp 0x140097827
movzx edx, r9w
shl edx, 0xc
movzx r10d, byte [r8 + rsi + 1]
and r10d, 0x3f
shl r10d, 6
or r10d, edx
movzx r9d, byte [r8 + rsi + 2]
and r9d, 0x3f
or r9d, r10d
add rsi, 3
mov word [rsp + 0x2a], r9w
movzx r10d, byte [rsp + 0x2f]
shl r10, 0x20
mov edx, dword [rsp + 0x2b]
or rdx, r10
xor r11d, r11d
movzx r10d, r9b
mov r9, rdx
shr r9, 8
shl edx, 8
or edx, r10d
mov r10, rcx
test r11w, r11w
je 0x140097870
lea eax, [r9 - 0x2008a]
cmp eax, 0xf81d
jae 0x140098046
movzx eax, r9w
cmp eax, 0x8a
je 0x14009793c
cmp eax, 0xcc
je 0x140097935
cmp eax, 0x7607
jne 0x140097943
mov eax, 0x281f
jmp 0x1400979a0
lea eax, [rdx - 0x4e00]
movzx eax, ax
cmp eax, 0x51b1
ja 0x140097906
xor r9d, r9d
nop word [rax + rax]
cmp dx, word [r14 + r9*2 + 0x2392]
je 0x140097a11
lea rax, [r14 + r9*2]
add rax, 0x2392
cmp dx, word [rax + 2]
je 0x140097a02
cmp dx, word [rax + 4]
je 0x140097a07
cmp dx, word [rax + 6]
je 0x140097a0d
add r9, 4
add rax, 8
cmp rax, r15
jne 0x140097890
movzx r11d, dx
cmp r11d, 0x4490
jg 0x140097bbf
add r11d, 0xffffdab0
cmp r11d, 0x1c
ja case.default.0x140097904
lea rcx, [0x1402df804]
movsxd rax, dword [rcx + r11*4]
add rax, rcx
jmp rax
movzx eax, dx
lea r9d, [rax - 0x2550]
cmp r9d, 0x1c
ja case.default.0x140097928
lea rcx, [0x1402df790]
movsxd rax, dword [rcx + r9*4]
add rax, rcx
jmp rax
mov r11d, 0x4a2f
jmp 0x140097d10
mov eax, 0x2817
jmp 0x1400979a0
mov eax, 0x2819
jmp 0x1400979a0
mov edx, 0x4688
jmp 0x140097961
add rdx, 2
cmp rdx, 0x4998
je 0x140098046
cmp word [r14 + rdx*2 - 2], r9w
jne 0x140097985
lea rax, [rdx - 1]
mov r11, rax
shr r11, 5
mov r11d, dword [r12 + r11*4]
lea edi, [rdx - 1]
movzx edi, dil
bt r11d, edi
jb 0x1400979a0
cmp word [r14 + rdx*2], r9w
jne 0x140097950
mov rax, rdx
shr rax, 5
mov eax, dword [r12 + rax*4]
bt eax, edx
jae 0x140097950
mov rax, rdx
nop
movzx edx, ax
imul r9d, edx, 0xd0b7
shr r9d, 0x17
imul edx, r9d, 0x9d
sub eax, edx
lea edx, [rax + 0x62]
mov r11d, eax
or r11b, 0x40
cmp ax, 0x3f
movzx eax, r11b
movzx r11d, dl
cmovb r11d, eax
mov rdx, qword [rsp + 0x40]
cmp r10, rdx
jae 0x1400980a2
add r9b, 0x87
mov rdi, qword [rsp + 0x38]
mov byte [rdi + r10], r9b
lea rax, [r10 + 1]
cmp rax, rdx
jae 0x1400980b1
mov byte [rdi + rax], r11b
jmp 0x140097d6a
inc r9
jmp 0x140097a11
add r9, 2
jmp 0x140097a11
add r9, 3
movzx eax, r9w
imul eax, eax, 0xd0b7
shr eax, 0x17
imul edx, eax, 0x9d
sub r9d, edx
lea edx, [r9 + 0x62]
mov r11d, r9d
or r11b, 0x40
add eax, 0xa4
cmp r9w, 0x3f
movzx r11d, r11b
movzx r9d, dl
cmovb r9d, r11d
mov rdx, qword [rsp + 0x40]
cmp r10, rdx
jae 0x1400980a2
mov r11, qword [rsp + 0x38]
mov byte [r11 + r10], al
lea rax, [r10 + 1]
cmp rax, rdx
jae 0x1400980b1
mov byte [r11 + rax], r9b
jmp 0x140097d6a
cmp eax, 0x4491
jne case.default.0x140097904
mov r11d, 0x2bc9
jmp 0x140097d10
mov r11d, 0x4a17
jmp 0x140097d10
mov r11d, 0x4a21
jmp 0x140097d10
mov r11d, 0x4a28
jmp 0x140097d10
mov r11d, 0x4a2d
jmp 0x140097d10
mov r11d, 0x4a1e
jmp 0x140097d10
mov r11d, 0x4a16
jmp 0x140097d10
mov r11d, 0x4a1b
jmp 0x140097d10
mov r11d, 0x4a1a
jmp 0x140097d10
mov r11d, 0x4a19
jmp 0x140097d10
mov r11d, 0x4a1c
jmp 0x140097d10
mov r11d, 0x4a25
jmp 0x140097d10
mov r11d, 0x4a20
jmp 0x140097d10
mov r11d, 0x4a2e
jmp 0x140097d10
mov r11d, 0x4a22
jmp 0x140097d10
mov r11d, 0x4a1f
jmp 0x140097d10
mov r11d, 0x4a2a
jmp 0x140097d10
mov r11d, 0x4a24
jmp 0x140097d10
mov r11d, 0x4a2b
jmp 0x140097d10
mov r11d, 0x4a26
jmp 0x140097d10
mov r11d, 0x4a27
jmp 0x140097d10
mov r11d, 0x4a15
jmp 0x140097d10
mov r11d, 0x4a14
jmp 0x140097d10
mov r11d, 0x4a18
jmp 0x140097d10
mov r11d, 0x4a23
jmp 0x140097d10
mov r11d, 0x4a1d
jmp 0x140097d10
mov r11d, 0x4a13
jmp 0x140097d10
mov r11d, 0x4a2c
jmp 0x140097d10
mov r11d, 0x4a29
jmp 0x140097d10
mov ax, 0xc8
cmp r11d, 0x5201
jg 0x140097bfa
cmp r11d, 0x4491
je 0x140097a80
mov r9b, 0x7b
cmp r11d, 0x4e5a
je 0x140097a48
cmp r11d, 0x5188
jne case.default.0x140097904
mov r9b, 0xa2
jmp 0x140097a48
cmp r11d, 0x5202
je 0x140097e83
cmp r11d, 0x9fb0
je 0x140097e7b
cmp r11d, 0x9fb1
jne case.default.0x140097904
mov r9b, 0xa3
jmp 0x140097a48
xor r11d, r11d
lea rcx, [0x1402c094c]
nop
cmp dx, word [r14 + r11*2 + 0x1fe4]
je 0x140097d08
lea rax, [r14 + r11*2]
add rax, 0x1fe4
cmp dx, word [rax + 2]
je 0x140097d05
add r11, 2
add rax, 4
cmp rax, rcx
jne 0x140097c30
xor r11d, r11d
cmp dx, word [r14 + r11*2 + 0x4dc4]
je 0x140097e8e
lea rax, [r14 + r11*2]
add rax, 0x4dc4
cmp dx, word [rax + 2]
je 0x140097e8b
cmp dx, word [rax + 4]
je 0x140097e9a
add r11, 3
add rax, 6
lea rcx, [0x1402c3622]
cmp rax, rcx
jne 0x140097c63
xor r11d, r11d
cmp dx, word [r14 + r11*2 + 0x5090]
je 0x140097f0f
lea rax, [r14 + r11*2]
add rax, 0x5090
add rax, 2
lea rcx, [0x1402c72be]
cmp rax, rcx
je 0x140097eaa
cmp dx, word [rax]
je 0x140097f0c
cmp dx, word [rax + 2]
je 0x140097f1b
cmp dx, word [rax + 4]
je 0x140097f2b
add r11, 4
cmp dx, word [r14 + r11*2 + 0x5090]
jne 0x140097cb6
jmp 0x140097f0f
inc r11
add r11, 0x13a0
nop
mov rax, r11
mul r13
shr rdx, 5
imul rax, rdx, 0x9d
sub r11, rax
lea eax, [r11 + 0x62]
mov r9d, r11d
or r9b, 0x40
cmp r11, 0x3f
movzx r11d, r9b
movzx r9d, al
cmovb r9d, r11d
mov rax, qword [rsp + 0x40]
cmp r10, rax
jae 0x1400980d2
add dl, 0x81
mov r11, qword [rsp + 0x38]
mov byte [r11 + r10], dl
lea rdx, [r10 + 1]
cmp rdx, rax
jae 0x1400980e4
mov byte [r11 + rdx], r9b
lea rcx, [r10 + 2]
mov qword [rsp + 0x48], rcx
cmp rsi, rbx
jae 0x140098054
add r10, 3
mov rdx, qword [rsp + 0x40]
cmp r10, rdx
jae 0x140098062
movzx r10d, byte [r8 + rsi]
test r10b, r10b
jns 0x140097f47
movzx r9d, r10b
lea rdx, [rsi + 1]
cmp r10b, 0xe0
jae 0x140097de0
cmp rdx, rbx
jae 0x1400980c0
movzx edx, r9w
and edx, 0x1f
shl edx, 6
movzx r9d, byte [r8 + rsi + 1]
and r9d, 0x3f
or r9d, edx
add rsi, 2
jmp 0x1400977f9
cmp r10b, 0xf0
jae 0x140097e10
cmp rdx, rbx
jae 0x1400980f6
lea rdx, [rsi + 2]
cmp rdx, rbx
jb 0x1400977d0
jmp 0x14009812c
cmp rdx, rbx
jae 0x140098108
lea rdx, [rsi + 2]
cmp rdx, rbx
jae 0x14009811a
lea rdx, [rsi + 3]
cmp rdx, rbx
jae 0x14009813e
and r9d, 7
shl r9d, 0x12
movzx edx, byte [r8 + rsi + 1]
and edx, 0x3f
shl edx, 0xc
or edx, r9d
movzx r9d, byte [r8 + rsi + 2]
and r9d, 0x3f
shl r9d, 6
or r9d, edx
movzx edx, byte [r8 + rsi + 3]
and edx, 0x3f
or edx, r9d
add rsi, 4
shl edx, 8
mov r11w, 1
xor r9d, r9d
jmp 0x140097813
mov r9b, 0xa1
jmp 0x140097a48
mov r9b, 0x7d
jmp 0x140097a48
inc r11
add r11, 0x2a90
jmp 0x140097d10
add r11, 2
add r11, 0x2a90
jmp 0x140097d10
mov eax, 0x4687
jmp 0x140097ec1
add rax, 2
cmp rax, 0x4999
je 0x140098150
lea r11, [rax - 1]
cmp word [r14 + rax*2 - 2], dx
jne 0x140097ee8
mov r9, r11
shr r9, 5
mov r9d, dword [r12 + r9*4]
lea edi, [rax - 1]
movzx edi, dil
and edi, 0x1e
bt r9d, edi
jae 0x140097f3b
cmp word [r14 + rax*2], dx
jne 0x140097eb1
shr r11, 5
mov r9d, dword [r12 + r11*4]
bt r9d, eax
jb 0x140097eb1
mov r11, rax
add r11, 0x3ae
jmp 0x140097d10
inc r11
add r11, 0x2bf6
jmp 0x140097d10
add r11, 2
add r11, 0x2bf6
jmp 0x140097d10
add r11, 3
add r11, 0x2bf6
jmp 0x140097d10
add r11, 0x3ae
jmp 0x140097d10
cmp rcx, rdx
jae 0x1400981e3
mov rdx, qword [rsp + 0x38]
mov byte [rdx + rcx], r10b
mov r13, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
lea r11, [r8 + rsi]
inc r11
inc rsi
cmp rax, r13
jbe 0x140097507
jmp 0x1400981ef
mov rcx, rbx
xor r14d, r14d
movabs r8, 0x8080808080808080
lea rdi, [r10 - 0x10]
add rax, rbp
add rax, 8
nop
mov rbp, qword [r11 + r14]
mov rbx, qword [r11 + r14 + 8]
mov qword [rax + r14 - 8], rbp
mov qword [rax + r14], rbx
and rbp, r8
and rbx, r8
mov r12, rbx
or r12, rbp
jne 0x140097fce
add r14, 0x10
cmp r14, rdi
jbe 0x140097fa0
jmp 0x14009754c
test rbp, rbp
je 0x140097fe8
tzcnt rax, rbp
shr eax, 3
mov rbx, rcx
jmp 0x140098003
xor r14d, r14d
jmp 0x140097673
test rbx, rbx
je 0x140097ff4
tzcnt rax, rbx
jmp 0x140097ff9
mov eax, 0x40
mov rbx, rcx
shr eax, 3
add rax, 8
add r14, rax
movzx edi, byte [r11 + r14]
jmp 0x140097673
add rsi, r10
add r10, qword [rsp + 0x48]
xor eax, eax
cmp rdx, r9
adc rax, 0x110000
movabs rcx, 0xffffffff00000000
lea rdx, [rsp + 0x38]
and rdx, rcx
or rdx, rax
mov rax, qword [rsp + 0x30]
mov qword [rax], rsi
mov qword [rax + 8], rdx
jmp 0x140098074
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], r9d
mov qword [rax], rsi
jmp 0x140098074
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], 0x110000
jmp 0x14009806e
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], 0x110001
mov qword [rax], rsi
mov r10, rcx
mov qword [rax + 0x10], r10
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0xffffffff00000000
lea rax, [rsp + 0x38]
and rax, rcx
mov edx, 0x110001
jmp 0x140098035
lea r8, [0x1402dfb60]
mov rcx, r10
call fcn.1401ac3e0
lea r8, [0x1402dfb78]
mov rcx, rax
call fcn.1401ac3e0
lea r8, [0x1402dfaa0]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfb60]
mov rcx, r10
mov rdx, rax
call fcn.1401ac3e0
lea r8, [0x1402dfb78]
mov rcx, rdx
mov rdx, rax
call fcn.1401ac3e0
lea r8, [0x1402dfa70]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfa28]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfa40]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfa88]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfa58]
mov rcx, rdx
mov rdx, rbx
call fcn.1401ac3e0
movzx edx, dx
mov ecx, edx
xor ecx, 0xffefd800
cmp ecx, 0xffef07ff
jbe 0x140098201
mov rax, qword [rsp + 0x30]
mov dword [rax + 8], edx
mov qword [rax], rsi
jmp 0x140098074
lea r8, [0x1402dfb48]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfb18]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfad0]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfae8]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfb30]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfb00]
mov rcx, rax
mov rdx, rbx
call fcn.1401ac3e0
lea r8, [0x1402dfb90]
call fcn.1401ac3e0
lea r8, [0x1402dfab8]
mov rcx, rax
mov rdx, r13
call fcn.1401b2670
lea rcx, str._home_zuzu_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_lib.rs
call fcn.1401abf80
int3