Function at 0x1400dc260
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, r9
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
cmp byte [rdx], 0
je 0x1400dc339
movzx r10d, byte [rdx + 1]
mov byte [rdx], 0
test rsi, rsi
je 0x1400dcb12
cmp rbp, 2
jbe 0x1400dcb28
movzx eax, byte [r8]
cmp r10b, 0x1f
jbe 0x1400dcb5b
mov r9, rsi
lea r11d, [rax + 0x5f]
lea esi, [r10 - 0x20]
cmp r11b, 0x5e
jae 0x1400dcb6d
mov qword [rsp + 0x30], rdx
movzx eax, sil
imul rdi, rax, 0x5e
movzx eax, r11b
lea rdx, [rdi + rax]
add rdx, 0xfffffffffffffa7e
add rdi, rax
cmp rdx, 0x92e
jae 0x1400dcd1e
lea rax, [0x1401d9e0e]
movzx edi, word [rax + rdi*2 - 0xb04]
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [r14], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
mov rsi, r9
jmp 0x1400dccd7
mov qword [rsp + 0x30], rdx
xor r13d, r13d
xor edi, edi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r8
mov r11, rbp
sub r11, r13
jb 0x1400dd089
lea r10, [r8 + rdi]
mov rdx, rsi
sub rdx, rdi
cmp r11, rdx
mov r15, rdx
cmovb r15, r11
lea r12, [r14 + r13]
mov eax, r10d
xor eax, r12d
test al, 7
mov qword [rsp + 0x38], rbp
jne 0x1400dc395
mov ebx, r10d
neg ebx
and ebx, 7
lea rax, [rbx + 0x10]
cmp rax, r15
jbe 0x1400dc949
mov r9, r13
mov r8, r14
xor ebp, ebp
cmp rbp, r15
mov r13, r9
jae 0x1400dcae3
nop dword [rax]
movzx eax, byte [r10 + rbp]
test al, al
js 0x1400dc3d0
mov byte [r12 + rbp], al
inc rbp
cmp r15, rbp
jne 0x1400dc3b0
jmp 0x1400dcae3
mov r14, r8
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
add rdi, rbp
mov r11, rbp
add r11, r13
mov qword [rsp + 0x50], r11
lea rdx, [r13 + 2]
add rdx, rbp
cmp rdx, qword [rsp + 0x38]
jae 0x1400dcd66
inc rdi
lea r10d, [rax + 0x7f]
mov r13, r11
cmp r10b, 0x7d
ja 0x1400dccf7
cmp rdi, rsi
jae 0x1400dcced
movzx r11d, byte [r8 + rdi]
lea r15, [rdi + 1]
cmp r10b, 0x1f
jbe 0x1400dc470
lea ebp, [r11 + 0x5f]
add al, 0x5f
cmp bpl, 0x5e
jae 0x1400dc47e
movzx eax, al
imul rbx, rax, 0x5e
movzx eax, bpl
lea rdx, [rbx + rax]
add rdx, 0xfffffffffffffa7e
add rbx, rax
cmp rdx, 0x92e
jae 0x1400dc4a1
lea rax, [0x1401d9e0e]
movzx eax, word [rax + rbx*2 - 0xb04]
jmp 0x1400dc60f
lea eax, [r11 + 0x7f]
cmp al, 0x7e
jae 0x1400dc490
add r11b, 0xb3
jmp 0x1400dc49c
lea edx, [r11 + 0x7f]
cmp dl, 0x20
jae 0x1400dc4d4
lea r10d, [r11 - 0x4d]
jmp 0x1400dc6f7
lea eax, [r11 - 0x61]
cmp al, 0x1a
jae 0x1400dc4ea
add r11b, 0xb9
mov eax, r11d
jmp 0x1400dc4f6
cmp ebx, 0xa5
jae 0x1400dc6c1
lea rax, [0x1401d9ac8]
movzx eax, word [rax + rbx*2]
cmp eax, 0x800
jae 0x1400dc60c
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
jmp 0x1400dc874
lea edx, [r11 - 0x61]
cmp dl, 0x1a
jae 0x1400dc6e9
lea r10d, [r11 - 0x47]
jmp 0x1400dc6f7
lea eax, [r11 - 0x41]
cmp al, 0x1a
jae 0x1400dcec5
mov r9, rsi
movzx edx, r10b
imul edx, edx, 0xb2
movzx eax, al
add eax, edx
movzx r10d, ax
cmp r10d, 0xb34
mov edx, 0x21b
mov r11d, 0
cmovb rdx, r11
lea r11, [rdx + 0x10e]
lea rbx, [0x1401dc134]
cmp r10w, word [rbx + rdx*2 + 0x21c]
cmovb r11, rdx
cmp r10w, word [rbx + r11*2 + 0x10e]
lea rdx, [r11 + 0x87]
cmovb rdx, r11
lea r11, [rdx + 0x43]
cmp r10w, word [rbx + rdx*2 + 0x86]
cmovb r11, rdx
lea rdx, [r11 + 0x22]
cmp r10w, word [rbx + r11*2 + 0x44]
cmovb rdx, r11
cmp r10w, word [rbx + rdx*2 + 0x22]
lea r11, [rdx + 0x11]
cmovb r11, rdx
lea rdx, [r11 + 8]
cmp r10w, word [rbx + r11*2 + 0x10]
cmovb rdx, r11
lea r11, [rdx + 4]
cmp r10w, word [rbx + rdx*2 + 8]
cmovb r11, rdx
cmp r10w, word [rbx + r11*2 + 4]
lea rdx, [r11 + 2]
cmovb rdx, r11
lea rsi, [rdx + 1]
cmp r10w, word [rbx + rdx*2 + 2]
cmovb rsi, rdx
lea r11, [rsi + 1]
cmp r10w, word [rbx + rsi*2 + 2]
cmovb r11, rsi
movzx esi, word [rbx + r11*2]
cmp r10w, si
jne 0x1400dc5dd
lea rax, [0x1401db8c6]
movzx eax, word [rax + r11*2]
jmp 0x1400dc609
cmp si, ax
adc r11, 0xffffffffffffffff
cmp r11, 0x437
jae 0x1400dd09b
lea rdx, [0x1401db8c6]
add ax, word [rdx + r11*2]
lea rdx, [0x1401dc134]
sub ax, word [rdx + r11*2]
mov rsi, r9
movzx eax, ax
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14 + r13], dl
mov edx, eax
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [r14 + r13 + 1], dl
and al, 0x3f
or al, 0x80
mov byte [r14 + r13 + 2], al
add r13, 3
mov qword [rsp + 0x50], r13
cmp r15, rsi
jae 0x1400dcd06
lea rax, [r13 + 2]
cmp rax, qword [rsp + 0x48]
jae 0x1400dcd12
movzx eax, byte [r8 + rdi + 1]
add rdi, 2
test al, al
js 0x1400dc6ae
nop word cs:[rax + rax]
mov byte [r14 + r13], al
mov r10, qword [rsp + 0x50]
lea r13, [r10 + 1]
mov qword [rsp + 0x50], r13
cmp al, 0x3b
ja 0x1400dca1d
cmp rsi, rdi
je 0x1400dcb2e
add r10, 3
cmp r10, qword [rsp + 0x48]
jae 0x1400dcb3a
movzx eax, byte [r8 + rdi]
inc rdi
test al, al
jns 0x1400dc670
lea r10d, [rax + 0x7f]
cmp r10b, 0x7d
jbe 0x1400dc415
jmp 0x1400dccf7
lea rdx, [rbx - 0xf0e]
cmp rdx, 0x1318
jae 0x1400dc806
lea rax, str.OsOGP
movzx eax, word [rax + rbx*2 - 0x1e1c]
jmp 0x1400dc60f
lea r10d, [r11 - 0x41]
cmp r10b, 0x1a
jae 0x1400dcec5
movzx eax, al
imul rdx, rax, 0x54
movzx eax, r10b
add rax, rdx
cmp rax, 0xc36
jae 0x1400dcec5
cmp rax, 0x6b3
mov edx, 0x10b
mov r9d, 0
cmovb rdx, r9
lea r9, [0x1401db498]
cmp word [r9 + rdx*2 + 0x10c], ax
lea r10, [rdx + 0x86]
cmova r10, rdx
cmp word [r9 + r10*2 + 0x86], ax
lea rdx, [r10 + 0x43]
cmova rdx, r10
cmp word [r9 + rdx*2 + 0x42], ax
lea r10, [rdx + 0x21]
cmova r10, rdx
cmp word [r9 + r10*2 + 0x22], ax
lea rdx, [r10 + 0x11]
cmova rdx, r10
cmp word [r9 + rdx*2 + 0x10], ax
lea r10, [rdx + 8]
cmova r10, rdx
cmp word [r9 + r10*2 + 8], ax
lea rdx, [r10 + 4]
cmova rdx, r10
cmp word [r9 + rdx*2 + 4], ax
lea r10, [rdx + 2]
cmova r10, rdx
cmp word [r9 + r10*2 + 2], ax
lea rdx, [r10 + 1]
cmova rdx, r10
cmp word [r9 + rdx*2 + 2], ax
lea r10, [rdx + 1]
cmova r10, rdx
cmp word [r9 + r10*2], ax
jne 0x1400dc7d0
lea rax, [0x1401db06a]
movzx r11d, word [rax + r10*2]
movzx eax, r11w
jmp 0x1400dc60f
adc r10, 0xffffffffffffffff
cmp r10, 0x217
jae 0x1400dd0c5
lea rdx, [0x1401db06a]
movzx r11d, word [rdx + r10*2]
add r11w, ax
lea rax, [0x1401db498]
sub r11w, word [rax + r10*2]
movzx eax, r11w
jmp 0x1400dc60f
cmp r10b, 0x27
jne 0x1400dc83e
cmp bpl, 0xf
jae 0x1400dc83e
lea rdx, [0x1401d9df0]
movzx eax, word [rdx + rax*2]
test ax, ax
je 0x1400dcffc
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
jmp 0x1400dc874
cmp r10b, 0x28
jne 0x1400dc886
cmp bpl, 0x10
jae 0x1400dc886
lea rdx, [0x1401d9dd0]
movzx eax, word [rdx + rax*2]
mov edx, eax
shr edx, 6
or dl, 0xc0
mov byte [r14 + r13], dl
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
lea rdx, [r13 + 1]
mov qword [rsp + 0x50], rdx
and al, 0x3f
or al, 0x80
mov byte [r14 + r13 + 1], al
add r13, 2
jmp 0x1400dc638
cmp r10b, 0x25
jne 0x1400dc8a2
cmp bpl, 0x44
jae 0x1400dc8a2
lea rdx, [0x1401d9d48]
movzx eax, word [rdx + rax*2]
jmp 0x1400dc60f
add rbx, 0xffffffffffffff44
cmp rbx, 0x39f
jae 0x1400dcffc
mov r12, r8
mov qword [rsp + 0x38], rcx
mov ecx, ebx
call fcn.1400dc1e0
test rax, rax
je 0x1400dc8f4
mov rax, rdx
dec rax
cmp rax, 0x4d
jae 0x1400dd0dd
lea rax, [0x1401d9c12]
add bx, word [rax + rdx*2 - 2]
lea rax, [0x1401d9cac]
sub bx, word [rax + rdx*2 - 2]
jmp 0x1400dc909
cmp rdx, 0x4d
jae 0x1400dd0f5
lea rax, [0x1401d9c12]
movzx ebx, word [rax + rdx*2]
mov rcx, qword [rsp + 0x38]
mov r8, r12
movzx eax, bx
cmp eax, 0x80
jb 0x1400dcffc
cmp eax, 0x800
jae 0x1400dc60f
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [r14 + r13], al
and bl, 0x3f
or bl, 0x80
mov byte [r14 + r13 + 1], bl
add r13, 2
jmp 0x1400dc638
test rbx, rbx
je 0x1400dca30
movzx eax, byte [r10]
test al, al
js 0x1400dcaa7
mov byte [r12], al
mov ebp, 1
cmp ebx, 1
je 0x1400dca32
movzx eax, byte [r10 + 1]
test al, al
js 0x1400dc3d3
mov byte [r12 + 1], al
mov ebp, 2
cmp ebx, 2
je 0x1400dca32
movzx eax, byte [r10 + 2]
test al, al
js 0x1400dc3d3
mov byte [r12 + 2], al
mov ebp, 3
cmp ebx, 3
je 0x1400dca32
movzx eax, byte [r10 + 3]
test al, al
js 0x1400dc3d3
mov byte [r12 + 3], al
mov ebp, 4
cmp ebx, 4
je 0x1400dca32
movzx eax, byte [r10 + 4]
test al, al
js 0x1400dc3d3
mov byte [r12 + 4], al
mov ebp, 5
cmp ebx, 5
je 0x1400dca32
movzx eax, byte [r10 + 5]
test al, al
js 0x1400dc3d3
mov byte [r12 + 5], al
mov ebp, 6
cmp ebx, 6
je 0x1400dca32
movzx eax, byte [r10 + 6]
test al, al
js 0x1400dc3d3
mov byte [r12 + 6], al
mov ebp, 7
jmp 0x1400dca32
mov rbp, qword [rsp + 0x48]
cmp rdi, rsi
jbe 0x1400dc34d
jmp 0x1400dd0b3
xor ebp, ebp
lea rax, [r15 - 0x10]
mov r8, r14
mov r9, r13
lea rbx, [r14 + r13]
add rbx, 8
nop word cs:[rax + rax]
mov rsi, qword [r10 + rbp]
mov r13, qword [r10 + rbp + 8]
mov qword [rbx + rbp - 8], rsi
mov qword [rbx + rbp], r13
movabs r14, 0x8080808080808080
and rsi, r14
and r13, r14
mov r14, r13
or r14, rsi
jne 0x1400dca88
add rbp, 0x10
cmp rbp, rax
jbe 0x1400dca50
jmp 0x1400dc39d
test rsi, rsi
je 0x1400dcaae
tzcnt rax, rsi
shr eax, 3
mov r14, r8
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r13, r9
jmp 0x1400dcad6
xor ebp, ebp
jmp 0x1400dc3dd
test r13, r13
mov r14, r8
je 0x1400dcabd
tzcnt rax, r13
jmp 0x1400dcac2
mov eax, 0x40
mov r8, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r13, r9
shr eax, 3
add rax, 8
add rbp, rax
movzx eax, byte [r10 + rbp]
jmp 0x1400dc3dd
xor eax, eax
cmp r11, rdx
setb al
add rdi, r15
add r13, r15
mov r11, r13
lea rdx, [rsp + 0x40]
and edx, 0xffff00
or rdx, rax
mov qword [rcx], rdi
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r11
jmp 0x1400dcedb
cmp byte [rsp + 0xd0], 0
je 0x1400dcb43
mov word [rcx + 8], 0x102
mov byte [rcx + 0xa], 0
jmp 0x1400dcb47
mov byte [rcx + 8], 1
jmp 0x1400dcb47
mov byte [rcx + 8], 0
mov qword [rcx], rsi
jmp 0x1400dced7
mov byte [rcx + 8], 1
jmp 0x1400dced4
mov byte [rcx + 8], 0
mov qword [rcx], 0
mov qword [rcx + 0x10], 0
jmp 0x1400dcedb
mov rbx, r8
mov r8, rdx
lea edx, [rax + 0x7f]
cmp dl, 0x7e
jae 0x1400dcb88
add al, 0xb3
jmp 0x1400dcb96
mov rbx, r8
mov r8, rdx
lea edx, [rax + 0x7f]
cmp dl, 0x20
jae 0x1400dcd45
lea r10d, [rax - 0x4d]
jmp 0x1400dcdc7
lea edx, [rax - 0x61]
cmp dl, 0x1a
jae 0x1400dcd53
add al, 0xb9
mov r11d, eax
mov r9, rsi
mov qword [rsp + 0x30], r8
movzx eax, r10b
movzx eax, ax
imul eax, eax, 0xb2
movzx edi, r11b
add edi, eax
movzx r10d, di
xor eax, eax
cmp r10d, 0xb34
mov edx, 0x21b
cmovb rdx, rax
lea r11, [rdx + 0x10e]
lea rax, [0x1401dc134]
cmp r10w, word [rax + rdx*2 + 0x21c]
cmovb r11, rdx
cmp r10w, word [rax + r11*2 + 0x10e]
lea rdx, [r11 + 0x87]
cmovb rdx, r11
lea r11, [rdx + 0x43]
cmp r10w, word [rax + rdx*2 + 0x86]
cmovb r11, rdx
lea rdx, [r11 + 0x22]
cmp r10w, word [rax + r11*2 + 0x44]
cmovb rdx, r11
cmp r10w, word [rax + rdx*2 + 0x22]
lea r11, [rdx + 0x11]
cmovb r11, rdx
lea rdx, [r11 + 8]
cmp r10w, word [rax + r11*2 + 0x10]
cmovb rdx, r11
lea r11, [rdx + 4]
cmp r10w, word [rax + rdx*2 + 8]
cmovb r11, rdx
cmp r10w, word [rax + r11*2 + 4]
lea rdx, [r11 + 2]
cmovb rdx, r11
lea rsi, [rdx + 1]
cmp r10w, word [rax + rdx*2 + 2]
cmovb rsi, rdx
lea r11, [rsi + 1]
cmp r10w, word [rax + rsi*2 + 2]
cmovb r11, rsi
movzx esi, word [rax + r11*2]
cmp r10w, si
jne 0x1400dcc88
lea rax, [0x1401db8c6]
movzx edi, word [rax + r11*2]
mov r8, rbx
jmp 0x1400dccb0
cmp si, di
adc r11, 0xffffffffffffffff
cmp r11, 0x437
jae 0x1400dd09b
mov r8, rbx
lea rdx, [0x1401db8c6]
add di, word [rdx + r11*2]
sub di, word [rax + r11*2]
mov rsi, r9
movzx eax, di
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
and dil, 0x3f
or dil, 0x80
mov byte [r14 + rax], dil
mov edi, 1
jmp 0x1400dc343
cmp byte [rsp + 0xd0], 0
je 0x1400dcd70
mov word [rcx + 8], 0x102
mov byte [rcx + 0xa], 0
jmp 0x1400dced4
mov byte [rcx + 8], 0
mov qword [rcx], r15
jmp 0x1400dced7
mov byte [rcx + 8], 1
mov qword [rcx], r15
jmp 0x1400dced7
cmp edi, 0xa5
mov rsi, r9
jae 0x1400dcd85
lea rax, [0x1401d9ac8]
movzx edi, word [rax + rdi*2]
cmp edi, 0x800
jae 0x1400dccb3
jmp 0x1400dcf6f
lea edx, [rax - 0x61]
cmp dl, 0x1a
jae 0x1400dcdb9
lea r10d, [rax - 0x47]
jmp 0x1400dcdc7
lea r11d, [rax - 0x41]
cmp r11b, 0x1a
jb 0x1400dcb99
jmp 0x1400dce9b
mov eax, 1
jmp 0x1400dcaf4
mov rax, qword [rsp + 0x30]
mov byte [rax], 1
mov byte [rax + 1], r10b
mov byte [rcx + 8], 0
jmp 0x1400dced4
lea rdx, [rdi - 0xf0e]
cmp rdx, 0x1318
jae 0x1400dcf20
lea rax, str.OsOGP
movzx edi, word [rax + rdi*2 - 0x1e1c]
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [r14], al
mov eax, edi
jmp 0x1400dccc1
lea r10d, [rax - 0x41]
cmp r10b, 0x1a
jae 0x1400dce9b
movzx edx, sil
imul rdx, rdx, 0x54
movzx r10d, r10b
add r10, rdx
cmp r10, 0xc36
jae 0x1400dce9b
xor eax, eax
cmp r10, 0x6b3
mov edx, 0x10b
cmovb rdx, rax
lea rax, [0x1401db498]
cmp word [rax + rdx*2 + 0x10c], r10w
lea r11, [rdx + 0x86]
cmova r11, rdx
cmp word [rax + r11*2 + 0x86], r10w
lea rdx, [r11 + 0x43]
cmova rdx, r11
cmp word [rax + rdx*2 + 0x42], r10w
lea r11, [rdx + 0x21]
cmova r11, rdx
cmp word [rax + r11*2 + 0x22], r10w
lea rdx, [r11 + 0x11]
cmova rdx, r11
cmp word [rax + rdx*2 + 0x10], r10w
lea r11, [rdx + 8]
cmova r11, rdx
cmp word [rax + r11*2 + 8], r10w
lea rdx, [r11 + 4]
cmova rdx, r11
cmp word [rax + rdx*2 + 4], r10w
lea r11, [rdx + 2]
cmova r11, rdx
cmp word [rax + r11*2 + 2], r10w
lea rdx, [r11 + 1]
cmova rdx, r11
cmp word [rax + rdx*2 + 2], r10w
lea r11, [rdx + 1]
cmova r11, rdx
cmp word [rax + r11*2], r10w
mov qword [rsp + 0x30], r8
jne 0x1400dceef
lea rax, [0x1401db06a]
jmp 0x1400dcc7e
mov byte [rcx + 8], 2
test al, al
js 0x1400dceae
mov word [rcx + 9], 1
jmp 0x1400dcb47
mov word [rcx + 9], 2
mov qword [rcx], 1
mov qword [rcx + 0x10], 0
jmp 0x1400dcedb
mov byte [rcx + 8], 2
test r11b, r11b
js 0x1400dcf47
mov word [rcx + 9], 1
mov qword [rcx], rdi
mov qword [rcx + 0x10], r13
mov rax, rcx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
adc r11, 0xffffffffffffffff
cmp r11, 0x217
jae 0x1400dd0c5
mov rsi, r9
lea rdx, [0x1401db06a]
movzx edi, word [rdx + r11*2]
add di, r10w
sub di, word [rax + r11*2]
mov r8, rbx
jmp 0x1400dccb3
cmp r10b, 0x27
sete dl
cmp r11b, 0xf
setb bl
test dl, bl
je 0x1400dcf52
lea rdx, [0x1401d9df0]
movzx edi, word [rdx + rax*2]
test di, di
jne 0x1400dcf6f
jmp 0x1400dd033
mov word [rcx + 9], 2
mov qword [rcx], r15
jmp 0x1400dced7
cmp r10b, 0x28
sete dl
cmp r11b, 0x10
setb bl
test dl, bl
je 0x1400dcf89
lea rdx, [0x1401d9dd0]
movzx edi, word [rdx + rax*2]
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [r14], al
mov r13d, 2
mov eax, 1
jmp 0x1400dccd7
cmp r10b, 0x25
sete dl
cmp r11b, 0x44
setb r10b
test dl, r10b
je 0x1400dcfad
lea rdx, [0x1401d9d48]
movzx edi, word [rdx + rax*2]
jmp 0x1400dcda8
add rdi, 0xffffffffffffff44
cmp rdi, 0x39f
jae 0x1400dd033
mov r15, rsi
mov rsi, r8
mov r12, rcx
mov ecx, edi
call fcn.1400dc1e0
test rax, rax
je 0x1400dd00e
mov rax, rdx
dec rax
cmp rax, 0x4d
jae 0x1400dd0dd
lea rax, [0x1401d9c12]
lea rcx, [0x1401d9cac]
add di, word [rax + rdx*2 - 2]
sub di, word [rcx + rdx*2 - 2]
jmp 0x1400dd023
mov word [rcx + 8], 0x202
mov byte [rcx + 0xa], 0
mov qword [rcx], r15
jmp 0x1400dced7
cmp rdx, 0x4d
jae 0x1400dd0f5
lea rax, [0x1401d9c12]
movzx edi, word [rax + rdx*2]
mov rcx, r12
mov r8, rsi
movzx eax, di
cmp eax, 0x80
jae 0x1400dd042
mov word [rcx + 8], 0x202
mov byte [rcx + 0xa], 0
jmp 0x1400dceb4
cmp eax, 0x800
jae 0x1400dd060
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [r14], al
mov r13d, 2
mov eax, 1
jmp 0x1400dd081
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov byte [r14], dl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + 1], al
mov r13d, 3
mov eax, 2
mov rsi, r15
jmp 0x1400dccd7
lea r8, [0x1401ee450]
mov rcx, r13
mov rdx, rbp
call fcn.1401b7be0
lea r8, str.C:Userscharl.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov edx, 0x437
mov rcx, 0xffffffffffffffff
call fcn.1401b7908
lea r8, [0x1401ee468]
mov rcx, rdi
mov rdx, rsi
call fcn.1401b7be0
lea r8, str.C:Userscharl.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov edx, 0x217
mov rcx, 0xffffffffffffffff
call fcn.1401b7908
lea r8, str.C:Userscharl.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov edx, 0x4d
mov rcx, 0xffffffffffffffff
call fcn.1401b7908
lea r8, str.C:Userscharl.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov ecx, 0x4d
mov edx, 0x4d
call fcn.1401b7908
int3