Function at 0x140144c60
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rbx, rdx
mov r15, rcx
movzx r11d, byte [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
cmp byte [rdx], 0
je 0x140144d67
movzx r10d, byte [rbx + 1]
mov byte [rbx], 0
lea rdx, [rsp + 0x28]
test r9, r9
cmove rdx, r9
je 0x140144d8b
xor ecx, ecx
lea r8, [rsp + 0x50]
cmp rax, 3
cmovb r8, rcx
jb 0x140144d9e
mov r9, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
cmp rax, r9
jae 0x140145931
lea rdi, [r8 + 8]
mov rcx, qword [rdx]
movzx r11d, byte [rcx + rax]
lea r9, [rax + 1]
mov qword [rdx + 0x10], r9
cmp r10b, 0x1f
jbe 0x140144dc8
lea ecx, [r11 + 0x5f]
lea esi, [r10 - 0x20]
cmp cl, 0x5e
jae 0x140144dd7
movzx eax, sil
imul rdx, rax, 0x5e
movzx eax, cl
lea r11, [rdx + rax]
add r11, 0xfffffffffffffa7e
add rdx, rax
cmp r11, 0x92e
jae 0x140144eac
lea rax, [0x140269d3a]
movzx ecx, word [rax + rdx*2 - 0xb04]
jmp 0x140144ff9
lea rdi, [rsp + 0x58]
lea r8, [rsp + 0x50]
xor eax, eax
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
cmp rdx, r11
jae 0x140145042
jmp 0x140145ac8
test r11b, r11b
je 0x140144db3
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 0
jmp 0x140144db8
mov rax, qword [rdx + 0x10]
mov byte [r15 + 8], 1
mov qword [r15], rax
mov qword [r15 + 0x10], r8
jmp 0x140145a23
mov byte [r15 + 8], 0
mov qword [r15], rdx
mov qword [r15 + 0x10], 0
jmp 0x140145a23
lea ecx, [r11 + 0x7f]
cmp cl, 0x7e
jae 0x140144ded
add r11b, 0xb3
jmp 0x140144dfe
lea ecx, [r11 + 0x7f]
cmp cl, 0x20
jae 0x140144ef2
lea ecx, [r11 - 0x4d]
jmp 0x140144f48
lea ecx, [r11 - 0x61]
cmp cl, 0x1a
jae 0x140144f01
add r11b, 0xb9
mov ecx, r11d
movzx eax, r10b
movzx eax, ax
imul edx, eax, 0xb2
movzx eax, cl
add eax, edx
mov edx, 0x437
xor r9d, r9d
lea rcx, [0x14026c060]
mov r10d, 0xff
mov r11d, 0x437
jmp 0x140144e38
mov r11, rdx
sub rdx, r9
jbe 0x140144e6d
shr rdx, 1
add rdx, r9
xor esi, esi
cmp word [rcx + rdx*2], ax
setne sil
cmovb esi, r10d
cmp sil, 1
je 0x140144e30
movzx r9d, sil
cmp r9d, 0xff
jne 0x140144e99
inc rdx
mov r9, rdx
mov rdx, r11
sub rdx, r9
ja 0x140144e38
lea rdx, [r9 - 1]
cmp rdx, 0x437
jae 0x140145a66
lea rdx, [0x14026b7f2]
add ax, word [rdx + r9*2 - 2]
sub ax, word [rcx + r9*2 - 2]
movzx ecx, ax
jmp 0x140144ff9
lea rax, [0x14026b7f2]
movzx eax, word [rax + rdx*2]
movzx ecx, ax
jmp 0x140144ff9
cmp edx, 0xa5
jae 0x140144f13
lea rax, [0x1402699f4]
movzx ecx, word [rax + rdx*2]
cmp ecx, 0x800
jae 0x140144ff6
mov edx, ecx
shr edx, 6
or dl, 0xc0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], dl
and cl, 0x3f
or cl, 0x80
mov byte [r9 + rax + 1], cl
add rax, 2
jmp 0x14014502b
lea ecx, [r11 - 0x61]
cmp cl, 0x1a
jae 0x140144f3b
lea ecx, [r11 - 0x47]
jmp 0x140144f48
lea ecx, [r11 - 0x41]
cmp cl, 0x1a
jb 0x140144e01
jmp 0x14014583b
lea r11, [rdx - 0xf0e]
cmp r11, 0x1318
jae 0x1401458c5
lea rax, str.OsOGP
movzx ecx, word [rax + rdx*2 - 0x1e1c]
jmp 0x140144ff9
lea ecx, [r11 - 0x41]
cmp cl, 0x1a
jae 0x14014583b
movzx r10d, sil
imul r10, r10, 0x54
movzx ecx, cl
add rcx, r10
cmp rcx, 0xc36
jae 0x14014583b
mov edx, 0x217
xor r9d, r9d
lea rax, [0x14026b3c4]
mov r10d, 0xff
mov r11d, 0x217
jmp 0x140144f88
mov r11, rdx
sub rdx, r9
jbe 0x140144fbd
shr rdx, 1
add rdx, r9
xor esi, esi
cmp word [rax + rdx*2], cx
setne sil
cmovb esi, r10d
cmp sil, 1
je 0x140144f80
movzx r9d, sil
cmp r9d, 0xff
jne 0x140144fe6
inc rdx
mov r9, rdx
mov rdx, r11
sub rdx, r9
ja 0x140144f88
lea rdx, [r9 - 1]
cmp rdx, 0x217
jae 0x140145a80
lea rdx, [0x14026af96]
add cx, word [rdx + r9*2 - 2]
sub cx, word [rax + r9*2 - 2]
movzx ecx, cx
jmp 0x140144ff9
lea rax, [0x14026af96]
movzx ecx, word [rax + rdx*2]
movzx ecx, cx
jmp 0x140144ff9
movzx ecx, cx
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], dl
mov edx, ecx
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [r9 + rax + 1], dl
and cl, 0x3f
or cl, 0x80
mov byte [r9 + rax + 2], cl
add rax, 3
mov qword [r8 + 0x10], rax
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
cmp rdx, r11
jb 0x140145ac8
lea r13, [rsp + 0x28]
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rdi
mov r14, qword [rdi]
mov r9, r14
sub r9, rax
jb 0x140145ab4
mov rbp, qword [rsp + 0x28]
add rbp, r11
mov rsi, qword [r8]
sub rdx, r11
cmp r9, rdx
mov r10, rdx
cmovb r10, r9
lea rdi, [rsi + rax]
mov ecx, ebp
xor ecx, edi
test cl, 7
jne 0x14014509d
mov r15d, ebp
neg r15d
and r15d, 7
lea rcx, [r15 + 0x10]
cmp rcx, r10
jbe 0x1401450cf
xor r12d, r12d
cmp r12, r10
mov r15, qword [rsp + 0x20]
jae 0x1401457ee
nop
movzx ebx, byte [rbp + r12]
test bl, bl
js 0x140145230
mov byte [rdi + r12], bl
inc r12
cmp r10, r12
jne 0x1401450b0
jmp 0x1401457ee
test r15, r15
je 0x140145198
movzx ebx, byte [rbp]
test bl, bl
js 0x140145206
mov byte [rdi], bl
mov r12d, 1
cmp r15d, 1
je 0x14014519b
movzx ebx, byte [rbp + 1]
test bl, bl
js 0x140145228
mov byte [rdi + 1], bl
mov r12d, 2
cmp r15d, 2
je 0x14014519b
movzx ebx, byte [rbp + 2]
test bl, bl
js 0x140145228
mov byte [rdi + 2], bl
mov r12d, 3
cmp r15d, 3
je 0x14014519b
movzx ebx, byte [rbp + 3]
test bl, bl
js 0x140145228
mov byte [rdi + 3], bl
mov r12d, 4
cmp r15d, 4
je 0x14014519b
movzx ebx, byte [rbp + 4]
test bl, bl
js 0x140145228
mov byte [rdi + 4], bl
mov r12d, 5
cmp r15d, 5
je 0x14014519b
movzx ebx, byte [rbp + 5]
test bl, bl
js 0x140145228
mov byte [rdi + 5], bl
mov r12d, 6
cmp r15d, 6
je 0x14014519b
movzx ebx, byte [rbp + 6]
test bl, bl
js 0x140145228
mov byte [rdi + 6], bl
mov r12d, 7
jmp 0x14014519b
xor r12d, r12d
lea rbx, [r10 - 0x10]
add rsi, rax
add rsi, 8
nop word cs:[rax + rax]
mov rcx, qword [rbp + r12]
mov r13, qword [rbp + r12 + 8]
mov qword [rsi + r12 - 8], rcx
mov qword [rsi + r12], r13
movabs r15, 0x8080808080808080
and rcx, r15
and r13, r15
mov r15, r13
or r15, rcx
jne 0x1401451e9
add r12, 0x10
cmp r12, rbx
jbe 0x1401451b0
jmp 0x1401450a0
test rcx, rcx
je 0x140145210
tzcnt rdx, rcx
shr rdx, 3
mov r15, qword [rsp + 0x20]
lea r13, [rsp + 0x28]
jmp 0x1401457e0
xor r12d, r12d
mov r15, qword [rsp + 0x20]
jmp 0x140145235
test r13, r13
mov r15, qword [rsp + 0x20]
je 0x1401457ce
tzcnt rdx, r13
jmp 0x1401457d3
mov r15, qword [rsp + 0x20]
nop dword [rax]
lea r13, [rsp + 0x28]
add r11, r12
lea rdx, [r12 + rax]
mov qword [r8 + 0x10], rdx
add rax, r12
add rax, 2
cmp rax, r14
jae 0x140145881
inc r11
mov qword [rsp + 0x38], r11
lea r10d, [rbx + 0x7f]
cmp r10b, 0x7d
ja 0x1401458ad
movzx edi, byte [rsp + 0xe0]
mov ebp, 0xff
lea r14, [0x14026b3c4]
lea r12, [0x14026c060]
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
cmovb rdx, r13
jae 0x140145864
mov r9, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
cmp rax, r9
jae 0x140145931
mov rcx, qword [rdx]
movzx r11d, byte [rcx + rax]
lea r9, [rax + 1]
mov qword [rdx + 0x10], r9
cmp r10b, 0x1f
jbe 0x140145300
lea esi, [r11 + 0x5f]
add bl, 0x5f
cmp sil, 0x5e
jae 0x14014530f
movzx eax, bl
imul rdx, rax, 0x5e
movzx eax, sil
lea rcx, [rdx + rax]
add rcx, 0xfffffffffffffa7e
add rdx, rax
cmp rcx, 0x92e
jae 0x140145333
lea rax, [0x140269d3a]
movzx ecx, word [rax + rdx*2 - 0xb04]
jmp 0x140145520
lea ecx, [r11 + 0x7f]
cmp cl, 0x7e
jae 0x140145321
add r11b, 0xb3
jmp 0x14014532e
lea ecx, [r11 + 0x7f]
cmp cl, 0x20
jae 0x14014537d
lea r10d, [r11 - 0x4d]
jmp 0x140145468
lea ecx, [r11 - 0x61]
cmp cl, 0x1a
jae 0x140145393
add r11b, 0xb9
mov ecx, r11d
jmp 0x1401453a0
cmp edx, 0xa5
jae 0x140145432
lea rax, [0x1402699f4]
movzx edx, word [rax + rdx*2]
cmp edx, 0x800
jae 0x140145514
mov ecx, edx
shr ecx, 6
or cl, 0xc0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], cl
and dl, 0x3f
or dl, 0x80
mov byte [r9 + rax + 1], dl
add rax, 2
jmp 0x140145552
lea ecx, [r11 - 0x61]
cmp cl, 0x1a
jae 0x14014545a
lea r10d, [r11 - 0x47]
jmp 0x140145468
lea ecx, [r11 - 0x41]
cmp cl, 0x1a
jae 0x14014583b
movzx eax, r10b
imul edx, eax, 0xb2
movzx eax, cl
add eax, edx
mov edx, 0x437
xor r9d, r9d
mov r10d, 0x437
jmp 0x1401453c8
mov r10, rdx
sub rdx, r9
jbe 0x1401453f9
shr rdx, 1
add rdx, r9
xor ecx, ecx
cmp word [r12 + rdx*2], ax
setne cl
cmovb ecx, ebp
cmp cl, 1
je 0x1401453c0
movzx ecx, cl
cmp ecx, 0xff
jne 0x14014541f
inc rdx
mov r9, rdx
mov rdx, r10
sub rdx, r9
ja 0x1401453c8
lea rcx, [r9 - 1]
cmp rcx, 0x437
jae 0x140145a66
lea rcx, [0x14026b7f2]
add ax, word [rcx + r9*2 - 2]
sub ax, word [r12 + r9*2 - 2]
jmp 0x14014542a
lea rax, [0x14026b7f2]
movzx eax, word [rax + rdx*2]
movzx ecx, ax
jmp 0x140145520
lea rcx, [rdx - 0xf0e]
cmp rcx, 0x1318
jae 0x140145619
lea rax, str.OsOGP
movzx ecx, word [rax + rdx*2 - 0x1e1c]
jmp 0x140145520
lea r10d, [r11 - 0x41]
cmp r10b, 0x1a
jae 0x14014583b
movzx ecx, bl
imul rcx, rcx, 0x54
movzx r10d, r10b
add r10, rcx
cmp r10, 0xc36
jae 0x14014583b
mov eax, 0x217
xor edx, edx
mov r9d, 0x217
jmp 0x1401454a8
mov r9, rax
sub rax, rdx
jbe 0x1401454d9
shr rax, 1
add rax, rdx
xor ecx, ecx
cmp word [r14 + rax*2], r10w
setne cl
cmovb ecx, ebp
cmp cl, 1
je 0x1401454a0
movzx ecx, cl
cmp ecx, 0xff
jne 0x140145502
inc rax
mov rdx, rax
mov rax, r9
sub rax, rdx
ja 0x1401454a8
lea rax, [rdx - 1]
cmp rax, 0x217
jae 0x140145a80
lea rax, [0x14026af96]
add r10w, word [rax + rdx*2 - 2]
sub r10w, word [r14 + rdx*2 - 2]
movzx ecx, r10w
jmp 0x140145520
lea rcx, [0x14026af96]
movzx r10d, word [rcx + rax*2]
movzx ecx, r10w
jmp 0x140145520
movzx ecx, dx
nop word [rax + rax]
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], dl
mov edx, ecx
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [r9 + rax + 1], dl
and cl, 0x3f
or cl, 0x80
mov byte [r9 + rax + 2], cl
add rax, 3
mov qword [r8 + 0x10], rax
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x30]
cmovb rdx, r13
jae 0x14014589b
lea rcx, [rax + 2]
cmp rcx, qword [r8 + 8]
jae 0x14014587b
mov r9, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
cmp rax, r9
jae 0x140145931
mov rcx, qword [rdx]
movzx ebx, byte [rcx + rax]
inc rax
mov qword [rdx + 0x10], rax
test bl, bl
js 0x140145606
nop dword [rax + rax]
mov rax, qword [r8]
mov rcx, qword [r8 + 0x10]
mov byte [rax + rcx], bl
mov r9, qword [r8 + 0x10]
lea rax, [r9 + 1]
mov qword [r8 + 0x10], rax
cmp bl, 0x3c
jae 0x1401457b1
mov rcx, qword [rdx + 0x10]
mov r10, rdx
cmp rcx, qword [rdx + 8]
jb 0x1401455cf
mov r10, rcx
jae 0x14014581d
add r9, 3
cmp r9, qword [r8 + 8]
jae 0x14014582a
mov r9, qword [r10 + 8]
mov rax, qword [r10 + 0x10]
cmp rax, r9
jae 0x140145931
mov rcx, qword [r10]
movzx ebx, byte [rcx + rax]
inc rax
mov qword [r10 + 0x10], rax
test bl, bl
jns 0x1401455a0
lea r10d, [rbx + 0x7f]
cmp r10b, 0x7d
jbe 0x140145281
jmp 0x1401458a8
cmp r10b, 0x27
jne 0x14014563a
cmp sil, 0xf
jae 0x14014563a
lea rcx, [0x140269d1c]
movzx eax, word [rcx + rax*2]
test ax, ax
jne 0x140145651
jmp 0x140145a0c
cmp r10b, 0x28
jne 0x140145687
cmp sil, 0x10
jae 0x140145687
lea rcx, [0x140269cfc]
movzx eax, word [rcx + rax*2]
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov rdx, qword [r8]
mov r9, qword [r8 + 0x10]
mov byte [rdx + r9], cl
mov rcx, qword [r8]
mov rdx, qword [r8 + 0x10]
lea r9, [rdx + 1]
mov qword [r8 + 0x10], r9
and al, 0x3f
or al, 0x80
mov byte [rcx + rdx + 1], al
mov rax, qword [r8 + 0x10]
inc rax
jmp 0x140145552
cmp r10b, 0x25
jne 0x1401456a3
cmp sil, 0x44
jae 0x1401456a3
lea rcx, [0x140269c74]
movzx ecx, word [rcx + rax*2]
jmp 0x140145520
add rdx, 0xffffffffffffff44
cmp rdx, 0x39f
jae 0x140145a0c
mov eax, 0x4d
xor r10d, r10d
mov r11d, 0x4d
jmp 0x1401456cf
mov r11, rax
sub rax, r10
jbe 0x140145706
shr rax, 1
add rax, r10
xor ecx, ecx
lea rsi, [0x140269bd8]
cmp word [rsi + rax*2], dx
setne cl
cmovb ecx, ebp
cmp cl, 1
je 0x1401456c7
movzx ecx, cl
cmp ecx, 0xff
jne 0x140145730
inc rax
mov r10, rax
mov rax, r11
sub rax, r10
ja 0x1401456cf
lea rax, [r10 - 1]
cmp rax, 0x4d
jae 0x140145a9a
lea rax, [0x140269b3e]
add dx, word [rax + r10*2 - 2]
lea rax, [0x140269bd8]
sub dx, word [rax + r10*2 - 2]
jmp 0x14014573b
lea rcx, [0x140269b3e]
movzx edx, word [rcx + rax*2]
movzx r10d, dx
cmp r10d, 0x80
jb 0x140145a0c
cmp r10d, 0x800
jae 0x14014577c
mov ecx, edx
shr ecx, 6
or cl, 0xc0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], cl
and dl, 0x3f
or dl, 0x80
mov byte [r9 + rax + 1], dl
add rax, 2
jmp 0x140145552
mov ecx, r10d
shr ecx, 0xc
or cl, 0xe0
mov rdx, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [rdx + rax], cl
mov ecx, r10d
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rdx + rax + 1], cl
and r10b, 0x3f
or r10b, 0x80
mov byte [rdx + rax + 2], r10b
jmp 0x14014554e
mov rdx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
cmp rdx, r11
mov rdi, qword [rsp + 0x48]
jae 0x140145056
jmp 0x140145ac8
mov edx, 0x40
lea r13, [rsp + 0x28]
shr rdx, 3
add rdx, 8
add r12, rdx
movzx ebx, byte [rbp + r12]
jmp 0x140145235
xor ecx, ecx
cmp r9, rdx
setb cl
add r11, r10
add rax, r10
mov qword [r8 + 0x10], rax
mov rdx, rax
and r8, 0xffffffffffffff00
or r8, rcx
mov qword [r15], r11
mov qword [r15 + 8], r8
mov qword [r15 + 0x10], rdx
jmp 0x140145a23
mov byte [r15 + 8], 0
mov qword [r15], r10
jmp 0x140145a1f
mov rcx, qword [r10 + 0x10]
mov byte [r15 + 8], 1
mov qword [r15], rcx
jmp 0x140145a1f
test r11b, r11b
js 0x140145a0c
mov qword [rdx + 0x10], rax
mov rcx, qword [r8 + 0x10]
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 0
mov qword [r15], rax
mov qword [r15 + 0x10], rcx
jmp 0x140145a23
test dil, dil
je 0x14014588b
mov rax, qword [r8 + 0x10]
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 0
jmp 0x1401458a0
mov rcx, qword [rdx + 0x10]
jmp 0x14014582e
mov ecx, 1
jmp 0x140145803
mov rax, qword [rsp + 0x40]
mov byte [rax], 1
mov byte [rax + 1], r10b
mov rax, qword [r8 + 0x10]
mov byte [r15 + 8], 0
mov qword [r15], rdx
jmp 0x140145a1f
mov r11, qword [rsp + 0x38]
mov rax, qword [r8 + 0x10]
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 0
mov qword [r15], r11
jmp 0x140145a1f
cmp r10b, 0x27
jne 0x1401458e5
cmp cl, 0xf
jae 0x1401458e5
lea rcx, [0x140269d1c]
movzx eax, word [rcx + rax*2]
test ax, ax
jne 0x1401458fb
jmp 0x140145a0c
cmp r10b, 0x28
jne 0x140145945
cmp cl, 0x10
jae 0x140145945
lea rcx, [0x140269cfc]
movzx eax, word [rcx + rax*2]
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov rdx, qword [r8]
mov r9, qword [r8 + 0x10]
mov byte [rdx + r9], cl
mov rcx, qword [r8]
mov rdx, qword [r8 + 0x10]
lea r9, [rdx + 1]
mov qword [r8 + 0x10], r9
and al, 0x3f
or al, 0x80
mov byte [rcx + rdx + 1], al
mov rax, qword [r8 + 0x10]
inc rax
jmp 0x14014502b
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srchandles.rs
mov rcx, rax
mov rdx, r9
call fcn.140243ad0
ud2
cmp r10b, 0x25
jne 0x140145960
cmp cl, 0x44
jae 0x140145960
lea rcx, [0x140269c74]
movzx ecx, word [rcx + rax*2]
jmp 0x140144ff9
add rdx, 0xffffffffffffff44
cmp rdx, 0x39f
jae 0x140145a0c
mov r14, rdi
mov ecx, 0x4d
xor r10d, r10d
lea rax, [0x140269bd8]
mov r11d, 0xff
mov esi, 0x4d
jmp 0x14014599b
mov rsi, rcx
sub rcx, r10
jbe 0x1401459d0
shr rcx, 1
add rcx, r10
xor edi, edi
cmp word [rax + rcx*2], dx
setne dil
cmovb edi, r11d
cmp dil, 1
je 0x140145993
movzx r10d, dil
cmp r10d, 0xff
jne 0x1401459f3
inc rcx
mov r10, rcx
mov rcx, rsi
sub rcx, r10
ja 0x14014599b
lea rcx, [r10 - 1]
cmp rcx, 0x4d
jae 0x140145a9a
lea rcx, [0x140269b3e]
add dx, word [rcx + r10*2 - 2]
sub dx, word [rax + r10*2 - 2]
jmp 0x1401459fe
lea rax, [0x140269b3e]
movzx edx, word [rax + rcx*2]
mov rdi, r14
movzx ecx, dx
cmp ecx, 0x80
jae 0x140145a37
mov rax, qword [r8 + 0x10]
mov word [r15 + 8], 0x202
mov byte [r15 + 0xa], 0
mov qword [r15], r9
mov qword [r15 + 0x10], rax
mov rax, r15
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp ecx, 0x800
jae 0x140144ff9
mov ecx, edx
shr ecx, 6
or cl, 0xc0
mov r9, qword [r8]
mov rax, qword [r8 + 0x10]
mov byte [r9 + rax], cl
and dl, 0x3f
or dl, 0x80
mov byte [r9 + rax + 1], dl
jmp 0x140144ee9
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srcdata.rs
mov edx, 0x437
mov rcx, 0xffffffffffffffff
call fcn.140243ad0
ud2
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srcdata.rs
mov edx, 0x217
mov rcx, 0xffffffffffffffff
call fcn.140243ad0
ud2
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srcdata.rs
mov edx, 0x4d
mov rcx, 0xffffffffffffffff
call fcn.140243ad0
ud2
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srchandles.rs
mov rcx, rax
mov rdx, r14
call fcn.140243ee0
ud2
lea r8, str.C:UsersWei.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.32_srchandles.rs
mov rcx, r11
call fcn.140243ee0
ud2