Function at 0x1400852f0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r14, r9
mov r13, r8
mov r12, rdx
mov r15, rcx
mov rdx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x100]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], 0
cmp byte [r12 + 6], 0
je 0x140085449
test rdx, rdx
je 0x140085db4
movzx eax, byte [r12 + 7]
mov byte [r12 + 6], 0
mov word [rdi], ax
mov qword [rsp + 0x40], 1
mov esi, 1
movzx ebp, byte [r12 + 8]
test bpl, bpl
je 0x14008545a
test r14, r14
je 0x14008541f
lea rbx, [rsi + 1]
cmp rbx, rdx
jae 0x140085e00
movzx ecx, byte [r12 + 9]
movzx r8d, cl
movzx r11d, byte [r12 + 0xa]
xor eax, eax
nop dword [rax + rax]
movzx r9d, byte [r13 + rax]
cmp bpl, 1
je 0x1400853f0
movzx r10d, bpl
cmp r10d, 2
jne 0x140085e1e
mov byte [r12 + 8], 0
add r9b, 0x7f
cmp r9b, 0x7d
ja 0x140085e7d
mov byte [r12 + 8], 3
mov byte [r12 + 9], cl
mov byte [r12 + 0xa], r11b
mov byte [r12 + 0xb], r9b
mov bpl, 3
inc rax
cmp r14, rax
jne 0x1400853a0
jmp 0x14008541f
mov byte [r12 + 8], 0
lea r11d, [r9 - 0x30]
cmp r11b, 9
ja 0x140085e9d
mov byte [r12 + 8], 2
mov byte [r12 + 9], cl
mov byte [r12 + 0xa], r11b
mov bpl, 2
inc rax
cmp r14, rax
jne 0x1400853a0
cmp byte [rsp + 0x110], 0
je 0x140085e11
mov byte [r12 + 8], 0
mov byte [r15 + 8], 2
mov byte [r15 + 9], bpl
mov byte [r15 + 0xa], 0
mov qword [r15], r14
jmp 0x1400861df
xor esi, esi
movzx ebp, byte [r12 + 8]
test bpl, bpl
jne 0x140085373
xor eax, eax
lea rcx, [r13 + 8]
mov qword [rsp + 0x58], rcx
mov rcx, rsi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r13
mov r8, rdx
sub r8, rcx
jb 0x1400864cf
mov qword [rsp + 0x88], rdx
add r13, rax
sub r14, rax
mov qword [rsp + 0x48], rcx
lea rdx, [rdi + rcx*2]
cmp r8, r14
mov qword [rsp + 0x60], r14
mov rbp, r14
mov qword [rsp + 0x68], r8
cmovb rbp, r8
mov qword [rsp + 0x28], rdx
mov r8d, edx
sub r8d, r13d
sub r8d, r13d
test r8b, 6
jne 0x1400855f6
mov r8d, r13d
neg r8d
and r8d, 7
lea rcx, [r8 + 0x10]
mov ebx, 0
cmp rcx, rbp
ja 0x140085750
test r8, r8
je 0x1400855fd
movzx ecx, byte [r13]
test cl, cl
js 0x14008577e
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx], cx
mov ebx, 1
cmp r8d, 1
je 0x1400855ff
movzx ecx, byte [r13 + 1]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 2], cx
mov ebx, 2
cmp r8d, 2
je 0x1400855ff
movzx ecx, byte [r13 + 2]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 4], cx
mov ebx, 3
cmp r8d, 3
je 0x1400855ff
movzx ecx, byte [r13 + 3]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 6], cx
mov ebx, 4
cmp r8d, 4
je 0x1400855ff
movzx ecx, byte [r13 + 4]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 8], cx
mov ebx, 5
cmp r8d, 5
je 0x1400855ff
movzx ecx, byte [r13 + 5]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 0xa], cx
mov ebx, 6
cmp r8d, 6
je 0x1400855ff
movzx ecx, byte [r13 + 6]
test cl, cl
js 0x140085780
movzx ecx, cl
mov rdx, qword [rsp + 0x28]
mov word [rdx + 0xc], cx
mov ebx, 7
jmp 0x1400855ff
xor ebx, ebx
jmp 0x140085750
xor ebx, ebx
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0x48]
lea rdi, [rdi + rcx*2]
add rdi, 0x18
mov rdx, qword [rsp + 0x58]
lea r8, [rdx + rax]
nop word cs:[rax + rax]
mov r9, qword [r8 + rbx - 8]
mov rdx, qword [r8 + rbx]
mov r10, rdx
or r10, r9
movabs rcx, 0x8080808080808080
test r10, rcx
jne 0x140085750
mov r10, r9
shl r10, 0x18
movabs rcx, 0xff000000000000
and r10, rcx
mov rsi, r9
shl rsi, 0x10
movabs r14, 0xff00000000
and rsi, r14
mov r11d, r9d
shl r11d, 8
and r11d, 0xff0000
or r11, r10
movzx r15d, r9b
or r15, rsi
or r15, r11
mov r10, r9
shr r10, 8
and r10, rcx
mov rsi, r9
shr rsi, 0x10
and rsi, r14
or rsi, r10
mov r10, r9
shr r10, 0x18
and r10d, 0xff0000
shr r9, 0x20
movzx r11d, r9b
or r11, r10
or r11, rsi
mov r9, rdx
shl r9, 0x18
and r9, rcx
mov rsi, rdx
shl rsi, 0x10
and rsi, r14
mov r12d, edx
shl r12d, 8
and r12d, 0xff0000
or r12, r9
movzx r10d, dl
or r10, rsi
or r10, r12
mov r9, rdx
shr r9, 8
and r9, rcx
mov rsi, rdx
shr rsi, 0x10
and rsi, r14
or rsi, r9
mov r9, rdx
shr r9, 0x18
and r9d, 0xff0000
shr rdx, 0x20
movzx edx, dl
or rdx, r9
or rdx, rsi
mov qword [rdi + rbx*2 - 0x18], r15
mov qword [rdi + rbx*2 - 0x10], r11
mov qword [rdi + rbx*2 - 8], r10
mov qword [rdi + rbx*2], rdx
add rbx, 0x10
cmp rbx, qword [rsp + 0x90]
jbe 0x140085630
nop
cmp rbx, rbp
mov rdx, qword [rsp + 0x28]
jae 0x140085dc7
nop
movzx ecx, byte [r13 + rbx]
test cl, cl
js 0x140085780
movzx ecx, cl
mov word [rdx + rbx*2], cx
inc rbx
cmp rbp, rbx
jne 0x140085760
jmp 0x140085dc7
xor ebx, ebx
add rax, rbx
mov rdx, qword [rsp + 0x48]
lea rsi, [rbx + rdx]
add rdx, rbx
inc rdx
cmp rdx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
lea rbp, [0x1401dd1de]
jae 0x14008612d
inc rax
lea rbx, [0x1401e3172]
lea r8d, [rcx + 0x7f]
cmp r8b, 0x7d
ja 0x140085d6a
cmp rax, r14
jae 0x140085e63
movzx r9d, byte [r13 + rax]
lea r10, [rax + 1]
lea r11d, [r9 - 0x30]
cmp r11b, 9
jbe 0x140085840
cmp r8b, 0x1f
jbe 0x1400858e0
lea r11d, [r9 + 0x5f]
cmp r11b, 0x5e
jae 0x1400859d4
lea eax, [rcx + 0x50]
cmp al, 0x48
jae 0x140085b24
movzx eax, al
imul eax, eax, 0x5e
movzx ecx, r11b
add ecx, eax
lea rax, [0x1401dd42e]
movzx eax, word [rax + rcx*2]
jmp 0x140085c66
cmp r10, r14
jae 0x140086000
movzx ecx, byte [r13 + rax + 1]
add cl, 0x7f
cmp cl, 0x7d
ja 0x140086017
lea r10, [rax + 2]
cmp r10, r14
jae 0x140086036
movzx ebx, byte [r13 + rax + 2]
add bl, 0xd0
cmp bl, 9
ja 0x140086058
add rax, 3
movzx edx, r8b
imul rdx, rdx, 0x3138
movzx r8d, r11b
imul r8, r8, 0x4ec
add r8, rdx
movzx ecx, cl
lea rcx, [rcx + rcx*4]
lea rdx, [r8 + rcx*2]
movzx ecx, bl
add rcx, rdx
cmp rcx, 0x99fc
jae 0x140085980
cmp rcx, 0x1d21
lea rbx, [0x1401e3172]
jne 0x140085aac
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], 0xe7c7
jmp 0x140085bf4
lea ecx, [r9 - 0x40]
cmp cl, 0x3e
jbe 0x1400858fa
cmp r9b, 0xfe
jg 0x140086148
add r9b, 0xbf
mov ecx, r9d
movzx eax, r8b
imul edx, eax, 0xbe
movzx eax, cl
add eax, edx
mov r8d, 0x77c
xor ecx, ecx
mov r9d, 0x77c
nop word [rax + rax]
shr r8, 1
add r8, rcx
movzx r11d, word [rbx + r8*2]
cmp ax, r11w
je 0x140085a92
lea rdx, [r8 + 1]
cmp ax, r11w
cmova rcx, rdx
cmovb r9, r8
mov r8, r9
sub r8, rcx
ja 0x140085920
lea rdx, [rcx - 1]
cmp rdx, 0x77c
jae 0x1400864db
lea rdx, [0x1401e227a]
add ax, word [rdx + rcx*2 - 2]
sub ax, word [rbx + rcx*2 - 2]
jmp 0x140085a9e
lea rdx, [rcx - 0x2e248]
cmp rdx, 0x100000
lea rbx, [0x1401e3172]
jae 0x1400861d0
add ecx, 0xfffe1db8
mov edx, ecx
shr edx, 0xa
add edx, 0xffffd7c0
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], dx
lea r8, [rsi + 1]
mov qword [rsp + 0x40], r8
and ecx, 0x3ff
or ecx, 0xdc00
mov word [rdi + rsi*2 + 2], cx
jmp 0x140085c75
lea r8d, [r9 - 0x40]
cmp r8b, 0x3e
jbe 0x1400859ef
cmp r9b, 0xa0
jg 0x140086148
add r9b, 0xbf
mov r8d, r9d
add cl, 0x5f
movzx eax, cl
lea rcx, [rax + rax*2]
shl ecx, 5
movzx r8d, r8b
lea rax, [rcx + r8]
add rax, 0xfffffffffffffca0
cmp rax, 0x1f7b
jae 0x140085b56
mov r8d, 0x65b
xor ecx, ecx
mov r9d, 0x65b
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
lea rdx, [0x1401e15c4]
movzx r11d, word [rdx + r8*2]
cmp r11w, ax
je 0x140085bf9
lea rdx, [r8 + 1]
cmp r11w, ax
cmova r9, r8
cmovb rcx, rdx
mov r8, r9
sub r8, rcx
ja 0x140085a30
lea rdx, [rcx - 1]
cmp rdx, 0x65b
jae 0x14008650b
lea rdx, [0x1401e090e]
add ax, word [rdx + rcx*2 - 2]
lea rdx, [0x1401e15c4]
sub ax, word [rdx + rcx*2 - 2]
jmp 0x140085c05
lea rax, [0x1401e227a]
movzx eax, word [rax + r8*2]
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], ax
jmp 0x140085c6f
mov r9d, 0xce
xor r8d, r8d
mov r10d, 0xce
nop dword [rax + rax]
shr r9, 1
add r9, r8
lea rdx, [0x1401e406a]
movzx r11d, word [rdx + r9*2]
cmp r11w, cx
je 0x140085bdf
lea rdx, [r9 + 1]
cmp r11w, cx
cmova r10, r9
cmovb r8, rdx
mov r9, r10
sub r9, r8
ja 0x140085ac0
lea rdx, [r8 - 1]
cmp rdx, 0xce
jae 0x1400864f3
lea rdx, [0x1401e4206]
add cx, word [rdx + r8*2 - 2]
lea rdx, [0x1401e406a]
sub cx, word [rdx + r8*2 - 2]
jmp 0x140085beb
cmp cl, 0xa8
je 0x140085c4d
movzx eax, cl
cmp eax, 0xa6
je 0x140085c32
cmp eax, 0xa1
jne 0x140085cc6
movzx eax, r11b
lea rcx, [0x1401dd0a0]
jmp 0x140085c62
add rcx, r8
cmp ecx, 0x360
jae 0x140085c10
mov r8d, 0x3b
xor eax, eax
mov r9d, 0x3b
nop word cs:[rax + rax]
shr r8, 1
add r8, rax
lea rdx, [0x1401dd2ac]
movzx r11d, word [rdx + r8*2]
cmp r11w, cx
je 0x140085caf
lea rdx, [r8 + 1]
cmp r11w, cx
cmova r9, r8
cmovb rax, rdx
mov r8, r9
sub r8, rax
ja 0x140085b80
lea rdx, [rax - 1]
cmp rdx, 0x3b
jae 0x140086537
lea rdx, [0x1401dd236]
add cx, word [rdx + rax*2 - 2]
lea rdx, [0x1401dd2ac]
sub cx, word [rdx + rax*2 - 2]
jmp 0x140085cbb
lea rcx, [0x1401e4206]
movzx ecx, word [rcx + r9*2]
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], cx
mov r8, rsi
jmp 0x140085c75
lea rax, [0x1401e090e]
movzx eax, word [rax + r8*2]
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], ax
jmp 0x140085c6f
lea rax, [rcx - 0x22db]
cmp rax, 0x65
jae 0x140086523
lea rax, [0x1401dd324]
movzx eax, word [rax + rcx*2 - 0x45b6]
jmp 0x140085c66
add r9b, 0x20
cmp r9b, 0x15
ja 0x140085ce5
movzx eax, r9b
lea rcx, [0x1401dd15c]
jmp 0x140085c62
cmp r11b, 0x20
jae 0x140085ce5
movzx eax, r11b
lea rcx, [0x1401dd3ee]
movzx eax, word [rcx + rax*2]
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], ax
mov r8, rsi
mov rax, r10
lea rsi, [r8 + 1]
mov qword [rsp + 0x40], rsi
cmp rax, r14
jae 0x140085f59
lea rcx, [r8 + 2]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x140085ef9
movzx ecx, byte [r13 + rax]
inc rax
test cl, cl
js 0x1400857c8
jmp 0x140085d85
lea rax, [0x1401dd236]
movzx ecx, word [rax + r8*2]
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], cx
jmp 0x140085c6f
cmp r8b, 0x76
jbe 0x140085ce5
add cl, 8
movzx eax, cl
imul eax, eax, 0x5e
movzx ecx, r11b
add eax, ecx
add eax, 0xffffe234
jmp 0x140085a9e
add cl, 0x5e
movzx eax, cl
imul ecx, eax, 0x5e
movzx eax, r11b
add eax, ecx
mov r8d, 0x2b
xor ecx, ecx
mov r9d, 0x2b
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
movzx r11d, word [rbp + r8*2]
cmp ax, r11w
je 0x140085d5e
lea rdx, [r8 + 1]
cmp ax, r11w
cmova rcx, rdx
cmovb r9, r8
mov r8, r9
sub r8, rcx
ja 0x140085d10
lea rdx, [rcx - 1]
cmp rdx, 0x2b
jae 0x14008654f
lea rdx, [0x1401dd188]
add ax, word [rdx + rcx*2 - 2]
sub ax, word [rbp + rcx*2 - 2]
jmp 0x140085a9e
lea rax, [0x1401dd188]
jmp 0x140085a99
cmp cl, 0x80
jne 0x140085e71
mov rdi, qword [rsp + 0x30]
mov word [rdi + rsi*2], 0x20ac
mov rdx, qword [rsp + 0x38]
jmp 0x140085d8e
movzx ecx, cl
mov word [rdi + r8*2 + 2], cx
inc rsi
mov qword [rsp + 0x40], rsi
mov rcx, rsi
cmp rax, r14
jbe 0x14008547f
lea r8, [0x1401fbe50]
mov rcx, rax
mov rdx, r14
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
mov byte [r15 + 8], 1
mov qword [r15], 0
xor esi, esi
jmp 0x1400861df
xor ecx, ecx
mov rdx, qword [rsp + 0x60]
cmp qword [rsp + 0x68], rdx
setb cl
add rax, rbp
mov rsi, qword [rsp + 0x48]
add rsi, rbp
mov r15, qword [rsp + 0x50]
lea rdx, [rsp + 0x30]
and edx, 0xffff00
or rdx, rcx
mov qword [r15], rax
mov qword [r15 + 8], rdx
jmp 0x1400861df
mov byte [r15 + 8], 1
mov qword [r15], 0
jmp 0x1400861df
mov byte [r15 + 8], 0
mov qword [r15], r14
jmp 0x1400861df
movzx ecx, byte [r12 + 0xb]
mov byte [r12 + 8], 0
add r9b, 0xd0
cmp r9b, 9
jbe 0x140085f03
add r11b, 0x30
mov byte [r12 + 6], 1
mov byte [r12 + 7], r11b
mov byte [r12 + 8], 1
mov byte [r12 + 9], cl
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 2
jmp 0x1400861dc
cmp byte [rsp + 0x110], 0
je 0x140085f4e
mov word [r15 + 8], 0x102
jmp 0x1400861d7
add r11b, 0x30
mov byte [r12 + 6], 1
mov byte [r12 + 7], r11b
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 1
jmp 0x1400861dc
mov rbp, r13
mov r13, r14
lea r14, [rax + 1]
cmp cl, 0x1f
jbe 0x140085f63
lea r11d, [r9 + 0x5f]
cmp r11b, 0x5e
jae 0x1400860c8
lea r10d, [rcx - 0x2f]
cmp r10b, 0x48
jae 0x1400861fa
movzx ecx, r10b
imul ecx, ecx, 0x5e
mov r8, rdx
movzx edx, r11b
add edx, ecx
lea rcx, [0x1401dd42e]
movzx ecx, word [rcx + rdx*2]
mov rdx, r8
mov word [rdi + rsi*2], cx
mov r14, r13
mov r13, rbp
jmp 0x14008625d
mov byte [r15 + 8], 1
jmp 0x1400861dc
movzx ecx, cl
imul rdx, r8, 0x3138
movzx r8d, r11b
imul r8, r8, 0x4ec
add r8, rdx
lea rcx, [rcx + rcx*4]
movzx edx, r9b
add rdx, r8
lea rcx, [rdx + rcx*2]
cmp rcx, 0x99fc
jae 0x140086082
cmp ecx, 0x1d21
jne 0x14008615f
mov word [rdi + rsi*2], 0xe7c7
jmp 0x140086255
mov byte [r12 + 8], 1
mov byte [r12 + 9], r8b
mov byte [r15 + 8], 0
jmp 0x1400861dc
lea ecx, [r9 - 0x40]
cmp cl, 0x3e
jbe 0x140085f7d
cmp r9b, 0xfe
jg 0x1400860e0
add r9b, 0xbf
mov ecx, r9d
movzx edx, r8w
imul edx, edx, 0xbe
movzx ecx, cl
add ecx, edx
mov r11d, 0x77c
xor r8d, r8d
lea r9, [0x1401e3172]
mov r10d, 0x77c
mov r14, r13
mov r13, rbp
shr r11, 1
add r11, r8
movzx ebp, word [r9 + r11*2]
cmp cx, bp
je 0x140086137
lea rdx, [r11 + 1]
cmp cx, bp
cmova r8, rdx
cmovb r10, r11
mov r11, r10
sub r11, r8
ja 0x140085fa8
lea rdx, [r8 - 1]
cmp rdx, 0x77c
jae 0x1400864db
lea rdx, [0x1401e227a]
add cx, word [rdx + r8*2 - 2]
sub cx, word [r9 + r8*2 - 2]
mov word [rdi + rsi*2], cx
jmp 0x140086255
cmp byte [rsp + 0x110], 0
je 0x1400860f9
mov word [r15 + 8], 0x202
jmp 0x14008604b
mov byte [r12 + 6], 1
mov byte [r12 + 7], r9b
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 1
mov qword [r15], r10
jmp 0x1400861df
cmp byte [rsp + 0x110], 0
je 0x14008610b
mov word [r15 + 8], 0x302
mov byte [r15 + 0xa], 0
mov qword [r15], r10
jmp 0x1400861df
mov byte [r12 + 6], 1
mov byte [r12 + 7], r9b
mov byte [r12 + 8], 1
mov byte [r12 + 9], cl
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 2
mov qword [r15], r10
jmp 0x1400861df
lea rdx, [rcx - 0x2e248]
cmp rdx, 0x100000
jae 0x1400861cd
add ecx, 0xfffe1db8
mov edx, ecx
shr edx, 0xa
add edx, 0xffffd7c0
mov word [rdi + rsi*2], dx
and ecx, 0x3ff
or ecx, 0xdc00
mov word [rdi + rsi*2 + 2], cx
or rsi, 2
mov rbx, rsi
jmp 0x140086255
lea r8d, [r9 - 0x40]
cmp r8b, 0x3e
jbe 0x140086274
cmp r9b, 0xa0
jle 0x14008626d
mov byte [r15 + 8], 2
test r9b, r9b
jns 0x140086156
mov word [r15 + 9], 2
mov qword [r15], r14
jmp 0x1400861df
mov byte [r12 + 8], 2
mov byte [r12 + 9], r8b
mov byte [r12 + 0xa], r11b
jmp 0x140086120
mov byte [r12 + 8], 3
mov byte [r12 + 9], r8b
mov byte [r12 + 0xa], r11b
mov byte [r12 + 0xb], cl
mov byte [r15 + 8], 0
mov qword [r15], r10
jmp 0x1400861df
mov ecx, 1
jmp 0x140085de6
lea rcx, [0x1401e227a]
movzx ecx, word [rcx + r11*2]
jmp 0x140086251
mov byte [r15 + 8], 2
test r9b, r9b
js 0x140086239
mov word [r15 + 9], 1
jmp 0x1400861dc
mov r10d, 0xce
xor r8d, r8d
lea r9, [0x1401e406a]
mov r11d, 0xce
shr r10, 1
add r10, r8
movzx ebp, word [r9 + r10*2]
cmp bp, cx
je 0x140086245
lea rdx, [r10 + 1]
cmp bp, cx
cmova r11, r10
cmovb r8, rdx
mov r10, r11
sub r10, r8
ja 0x140086175
lea rdx, [r8 - 1]
cmp rdx, 0xce
jae 0x1400864f3
lea rdx, [0x1401e4206]
add cx, word [rdx + r8*2 - 2]
sub cx, word [r9 + r8*2 - 2]
mov word [rdi + rsi*2], cx
jmp 0x140086255
inc rax
mov word [r15 + 8], 0x402
mov byte [r15 + 0xa], 0
mov qword [r15], rax
mov qword [r15 + 0x10], rsi
mov rax, r15
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r8d, 0x27
mov r14, r13
je 0x14008640c
cmp r8d, 0x25
mov r13, rbp
je 0x1400863ee
cmp r8d, 0x20
jne 0x140086429
movzx ecx, r11b
mov r8, rdx
lea rdx, [0x1401dd0a0]
movzx ecx, word [rdx + rcx*2]
mov rdx, r8
mov word [rdi + rsi*2], cx
jmp 0x14008625d
mov word [r15 + 9], 2
mov qword [r15], r10
jmp 0x1400861df
lea rcx, [0x1401e4206]
movzx ecx, word [rcx + r10*2]
mov word [rdi + rsi*2], cx
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x40], rbx
inc rax
mov rsi, rbx
jmp 0x14008545c
add r9b, 0xbf
mov r8d, r9d
add cl, 0xe0
movzx ecx, cl
lea rcx, [rcx + rcx*2]
shl ecx, 5
movzx r9d, r8b
lea r8, [rcx + r9]
add r8, 0xfffffffffffffca0
cmp r8, 0x1f7b
jae 0x140086320
mov r10d, 0x65b
xor ecx, ecx
mov r11d, 0x65b
mov r14, r13
mov r13, rbp
shr r10, 1
add r10, rcx
lea r9, [0x1401e15c4]
movzx ebp, word [r9 + r10*2]
cmp bp, r8w
je 0x1400863b0
mov r9, rdx
lea rdx, [r10 + 1]
cmp bp, r8w
cmova r11, r10
cmovb rcx, rdx
mov rdx, r9
mov r10, r11
sub r10, rcx
ja 0x1400862b1
lea rdx, [rcx - 1]
cmp rdx, 0x65b
jae 0x14008650b
lea rdx, [0x1401e090e]
add r8w, word [rdx + rcx*2 - 2]
lea rdx, [0x1401e15c4]
sub r8w, word [rdx + rcx*2 - 2]
mov word [rdi + rsi*2], r8w
jmp 0x1400863a8
add rcx, r9
cmp ecx, 0x360
mov r14, r13
jae 0x1400863bc
mov r10d, 0x3b
xor r8d, r8d
mov r11d, 0x3b
mov r13, rbp
shr r10, 1
add r10, r8
lea r9, [0x1401dd2ac]
movzx ebp, word [r9 + r10*2]
cmp bp, cx
je 0x1400864ba
mov r9, rdx
lea rdx, [r10 + 1]
cmp bp, cx
cmova r11, r10
cmovb r8, rdx
mov rdx, r9
mov r10, r11
sub r10, r8
ja 0x140086344
lea rdx, [r8 - 1]
cmp rdx, 0x3b
jae 0x140086537
lea rdx, [0x1401dd236]
add cx, word [rdx + r8*2 - 2]
lea rdx, [0x1401dd2ac]
sub cx, word [rdx + r8*2 - 2]
mov word [rdi + rsi*2], cx
mov rdx, r9
jmp 0x14008625d
lea rcx, [0x1401e090e]
jmp 0x1400864c1
lea r11, [rcx - 0x22db]
cmp r11, 0x65
jae 0x140086567
mov r8, rdx
mov r13, rbp
lea rdx, [0x1401dd324]
movzx ecx, word [rdx + rcx*2 - 0x45b6]
mov word [rdi + rsi*2], cx
mov rdx, r8
jmp 0x14008625d
add r9b, 0x20
cmp r9b, 0x15
ja 0x140086448
movzx ecx, r9b
lea rdx, [0x1401dd15c]
movzx ecx, word [rdx + rcx*2]
jmp 0x140086251
cmp r11b, 0x20
mov r13, rbp
jae 0x140086448
movzx ecx, r11b
lea rdx, [0x1401dd3ee]
movzx ecx, word [rdx + rcx*2]
jmp 0x140086251
cmp cl, 0x76
jbe 0x140086448
add cl, 0x89
movzx ecx, cl
imul ecx, ecx, 0x5e
movzx edx, r11b
add ecx, edx
add ecx, 0xffffe234
jmp 0x140085ff7
add cl, 0xdf
movzx ecx, cl
imul edx, ecx, 0x5e
movzx ecx, r11b
add ecx, edx
mov r11d, 0x2b
xor r8d, r8d
lea r9, [0x1401dd1de]
mov r10d, 0x2b
shr r11, 1
add r11, r8
movzx ebp, word [r9 + r11*2]
cmp cx, bp
je 0x1400864ae
lea rdx, [r11 + 1]
cmp cx, bp
cmova r8, rdx
cmovb r10, r11
mov r11, r10
sub r11, r8
ja 0x14008646d
lea rdx, [r8 - 1]
cmp rdx, 0x2b
jae 0x14008654f
lea rdx, [0x1401dd188]
jmp 0x140085feb
lea rcx, [0x1401dd188]
jmp 0x14008613e
lea rcx, [0x1401dd236]
movzx ecx, word [rcx + r10*2]
mov word [rdi + rsi*2], cx
jmp 0x14008625d
lea r8, [0x1401fbe38]
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
lea r8, [0x1401fbdb8]
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, str._home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_gb18030.rs_home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_data.rs
mov edx, 0x65
mov rcx, rax
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x2b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, str._home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_gb18030.rs_home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_data.rs
mov edx, 0x65
mov rcx, r11
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
int3