Function at 0x1400e8ab0
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 rbp, r9
mov r12, r8
mov r15, rcx
mov r8, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], 0
cmp byte [rdx + 6], 0
je 0x1400e96aa
cmp r8, 3
jb 0x1400e9787
movzx eax, byte [rdx + 7]
mov byte [rdx + 6], 0
mov byte [r14], al
mov qword [rsp + 0x38], 1
mov edi, 1
movzx r13d, byte [rsp + 0xd0]
movzx ebx, byte [rdx + 8]
test bl, bl
jne 0x1400e96c1
xor ecx, ecx
mov rbx, rdi
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r15
mov rdi, r8
sub rdi, rbx
jb 0x1400ea1bd
mov r10d, r13d
lea rax, [r12 + rcx]
mov r9, rbp
sub r9, rcx
cmp rdi, r9
mov r13, r9
cmovb r13, rdi
mov qword [rsp + 0x20], rbx
lea r15, [r14 + rbx]
mov r11d, eax
xor r11d, r15d
test r11b, 7
jne 0x1400e8b8e
mov ebx, eax
neg ebx
and ebx, 7
lea r11, [rbx + 0x10]
cmp r11, r13
jbe 0x1400e94d1
xor ebp, ebp
cmp rbp, r13
mov r11, qword [rsp + 0x20]
jae 0x1400e97b2
nop
movzx esi, byte [rax + rbp]
test sil, sil
js 0x1400e8bba
mov byte [r15 + rbp], sil
inc rbp
cmp r13, rbp
jne 0x1400e8ba0
jmp 0x1400e97b2
mov r13d, r10d
add rcx, rbp
lea rdi, [r11 + rbp]
mov qword [rsp + 0x38], rdi
lea rax, [r11 + rbp]
add rax, 3
cmp rax, r8
jae 0x1400e9b8e
inc rcx
mov rax, rcx
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
lea r9d, [rsi + 0x7f]
cmp r9b, 0x7d
ja 0x1400e95a2
cmp rax, rbp
jae 0x1400e98d6
movzx r10d, byte [r12 + rax]
lea rcx, [rax + 1]
lea r11d, [r10 - 0x30]
cmp r11b, 9
jbe 0x1400e8c60
cmp r9b, 0x1f
jbe 0x1400e8d00
lea r11d, [r10 + 0x5f]
cmp r11b, 0x5e
jae 0x1400e8e76
lea eax, [rsi + 0x50]
cmp al, 0x48
jae 0x1400e90cd
movzx eax, al
imul eax, eax, 0x5e
movzx r9d, r11b
add r9d, eax
lea rax, [0x1401d2882]
movzx eax, word [rax + r9*2]
jmp 0x1400e8fc0
cmp rcx, rbp
jae 0x1400e9a60
movzx ebx, byte [r12 + rax + 1]
add bl, 0x7f
cmp bl, 0x7d
ja 0x1400e9a72
lea rcx, [rax + 2]
cmp rcx, rbp
jae 0x1400e9a8e
movzx esi, byte [r12 + rax + 2]
add sil, 0xd0
cmp sil, 9
ja 0x1400e9aab
add rax, 3
movzx ecx, r9b
imul rcx, rcx, 0x3138
movzx r9d, r11b
imul r9, r9, 0x4ec
add r9, rcx
movzx ecx, bl
lea rcx, [rcx + rcx*4]
lea r9, [r9 + rcx*2]
movzx ecx, sil
add rcx, r9
cmp rcx, 0x99fc
jae 0x1400e8e0a
cmp rcx, 0x1d21
jne 0x1400e8ffc
mov r14, qword [rsp + 0x28]
mov word [r14 + rdi], 0x9fee
mov byte [r14 + rdi + 2], 0x87
jmp 0x1400e9200
lea r11d, [r10 - 0x40]
cmp r11b, 0x3e
jbe 0x1400e8d1b
cmp r10b, 0xfe
jg 0x1400e9c26
add r10b, 0xbf
mov r11d, r10d
movzx eax, r9b
imul r9d, eax, 0xbe
movzx eax, r11b
add eax, r9d
movzx r9d, ax
cmp r9d, 0xb40
mov r10d, 0x3be
mov r8d, 0
cmovb r10, r8
lea r11, [r10 + 0x1df]
lea r8, [0x1401d85c6]
cmp r9w, word [r8 + r10*2 + 0x3be]
cmovb r11, r10
cmp r9w, word [r8 + r11*2 + 0x1de]
lea r10, [r11 + 0xef]
cmovb r10, r11
lea r11, [r10 + 0x78]
cmp r9w, word [r8 + r10*2 + 0xf0]
cmovb r11, r10
lea r10, [r11 + 0x3c]
cmp r9w, word [r8 + r11*2 + 0x78]
cmovb r10, r11
cmp r9w, word [r8 + r10*2 + 0x3c]
lea r11, [r10 + 0x1e]
cmovb r11, r10
lea r10, [r11 + 0xf]
cmp r9w, word [r8 + r11*2 + 0x1e]
cmovb r10, r11
lea r11, [r10 + 7]
cmp r9w, word [r8 + r10*2 + 0xe]
cmovb r11, r10
cmp r9w, word [r8 + r11*2 + 8]
lea r10, [r11 + 4]
cmovb r10, r11
lea r11, [r10 + 2]
cmp r9w, word [r8 + r10*2 + 4]
cmovb r11, r10
lea r10, [r11 + 1]
cmp r9w, word [r8 + r11*2 + 2]
cmovb r10, r11
movzx r11d, word [r8 + r10*2]
cmp r9w, r11w
jne 0x1400e8f90
lea rax, [0x1401d76ce]
movzx eax, word [rax + r10*2]
jmp 0x1400e8fbd
lea r9, [rcx - 0x2e248]
cmp r9, 0x100000
jae 0x1400e9b98
add ecx, 0xfffe1db8
mov r9d, ecx
shr r9d, 0x12
or r9b, 0xf0
mov r14, qword [rsp + 0x28]
mov byte [r14 + rdi], r9b
mov r9d, ecx
shr r9d, 0xc
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
mov r9d, ecx
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 3], cl
mov r9d, 4
jmp 0x1400e9206
lea r11d, [r10 - 0x40]
cmp r11b, 0x3e
jbe 0x1400e8e91
cmp r10b, 0xa0
jg 0x1400e9c26
add r10b, 0xbf
mov r11d, r10d
add sil, 0x5f
movzx eax, sil
lea r9, [rax + rax*2]
shl r9d, 5
movzx r10d, r11b
lea rax, [r9 + r10]
add rax, 0xfffffffffffffca0
cmp rax, 0x1f7b
jae 0x1400e9101
cmp rax, 0xb36
mov r9d, 0x32d
mov r8d, 0
cmovb r9, r8
lea r8, [0x1401d6a18]
cmp word [r8 + r9*2 + 0x32e], ax
lea r10, [r9 + 0x197]
cmova r10, r9
cmp word [r8 + r10*2 + 0x196], ax
lea r9, [r10 + 0xcb]
cmova r9, r10
cmp word [r8 + r9*2 + 0xcc], ax
lea r10, [r9 + 0x66]
cmova r10, r9
cmp word [r8 + r10*2 + 0x66], ax
lea r9, [r10 + 0x33]
cmova r9, r10
cmp word [r8 + r9*2 + 0x32], ax
lea r10, [r9 + 0x19]
cmova r10, r9
cmp word [r8 + r10*2 + 0x1a], ax
lea r9, [r10 + 0xd]
cmova r9, r10
cmp word [r8 + r9*2 + 0xc], ax
lea r10, [r9 + 6]
cmova r10, r9
cmp word [r8 + r10*2 + 6], ax
lea r9, [r10 + 3]
cmova r9, r10
cmp word [r8 + r9*2 + 4], ax
lea r10, [r9 + 2]
cmova r10, r9
cmp word [r8 + r10*2 + 2], ax
lea r9, [r10 + 1]
cmova r9, r10
cmp word [r8 + r9*2], ax
jne 0x1400e9245
lea rax, [0x1401d5d62]
movzx r10d, word [rax + r9*2]
movzx eax, r10w
jmp 0x1400e8fc0
cmp r11w, ax
adc r10, 0xffffffffffffffff
cmp r10, 0x77c
jae 0x1400ea1d2
lea r8, [0x1401d76ce]
add ax, word [r8 + r10*2]
lea r8, [0x1401d85c6]
sub ax, word [r8 + r10*2]
movzx eax, ax
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov r14, qword [rsp + 0x28]
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov r9d, 3
jmp 0x1400e9209
cmp rcx, 0x2c46
mov r9d, 0x67
mov r8d, 0
cmovb r9, r8
lea r8, [0x1401d94be]
cmp word [r8 + r9*2 + 0x66], cx
lea r10, [r9 + 0x33]
cmova r10, r9
cmp word [r8 + r10*2 + 0x34], cx
lea r9, [r10 + 0x1a]
cmova r9, r10
cmp word [r8 + r9*2 + 0x1a], cx
lea r10, [r9 + 0xd]
cmova r10, r9
cmp word [r8 + r10*2 + 0xc], cx
lea r9, [r10 + 6]
cmova r9, r10
cmp word [r8 + r9*2 + 6], cx
lea r10, [r9 + 3]
cmova r10, r9
cmp word [r8 + r10*2 + 4], cx
lea r9, [r10 + 2]
cmova r9, r10
cmp word [r8 + r9*2 + 2], cx
lea r10, [r9 + 1]
cmova r10, r9
cmp word [r8 + r10*2], cx
jne 0x1400e9190
lea rcx, [0x1401d965a]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
mov r14, qword [rsp + 0x28]
cmp ecx, 0x800
jae 0x1400e91d2
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov byte [r14 + rdi], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
mov r9d, 2
jmp 0x1400e9206
cmp sil, 0xa8
je 0x1400e92b8
movzx eax, sil
cmp eax, 0xa6
je 0x1400e92a1
cmp eax, 0xa1
jne 0x1400e92e6
movzx eax, r11b
lea r8, [0x1401d24e8]
jmp 0x1400e92c9
add r9, r10
cmp r9d, 0x360
jae 0x1400e927b
cmp r9, 0x309
mov eax, 0x1d
mov r8d, 0
cmovb rax, r8
lea r8, [0x1401d2700]
cmp word [r8 + rax*2 + 0x1e], r9w
lea r10, [rax + 0xf]
cmova r10, rax
cmp word [r8 + r10*2 + 0xe], r9w
lea rax, [r10 + 7]
cmova rax, r10
cmp word [r8 + rax*2 + 8], r9w
lea r10, [rax + 4]
cmova r10, rax
cmp word [r8 + r10*2 + 4], r9w
lea rax, [r10 + 2]
cmova rax, r10
cmp word [r8 + rax*2 + 2], r9w
lea r10, [rax + 1]
cmova r10, rax
cmp word [r8 + r10*2], r9w
jne 0x1400e93cf
lea rax, [0x1401d268a]
movzx eax, word [rax + r10*2]
jmp 0x1400e93f9
adc r10, 0xffffffffffffffff
cmp r10, 0xce
jae 0x1400ea1f9
lea r8, [0x1401d965a]
movzx r9d, word [r8 + r10*2]
add r9w, cx
lea rcx, [0x1401d94be]
sub r9w, word [rcx + r10*2]
movzx ecx, r9w
mov r14, qword [rsp + 0x28]
cmp ecx, 0x800
jb 0x1400e90a8
mov r9d, ecx
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + rdi], r9b
mov r9d, ecx
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 2], cl
mov r9d, 3
mov rcx, rax
add rdi, r9
mov qword [rsp + 0x38], rdi
cmp rcx, rbp
jae 0x1400e9b84
lea rax, [rdi + 3]
mov r8, qword [rsp + 0x30]
cmp rax, r8
jae 0x1400e98eb
movzx esi, byte [r12 + rcx]
inc rcx
mov rax, rcx
test sil, sil
js 0x1400e8bef
jmp 0x1400e9638
adc r9, 0xffffffffffffffff
cmp r9, 0x65b
jae 0x1400ea211
lea r8, [0x1401d5d62]
movzx r10d, word [r8 + r9*2]
add r10w, ax
lea rax, [0x1401d6a18]
sub r10w, word [rax + r9*2]
movzx eax, r10w
jmp 0x1400e8fc0
lea r10, [r9 - 0x22db]
cmp r10, 0x65
jae 0x1400ea229
lea rax, [0x1401d2778]
movzx eax, word [rax + r9*2 - 0x45b6]
jmp 0x1400e8fc0
add r10b, 0x20
cmp r10b, 0x15
ja 0x1400e9328
movzx eax, r10b
lea r8, [0x1401d25a4]
jmp 0x1400e92c9
cmp r11b, 0x20
jae 0x1400e9328
movzx eax, r11b
lea r8, [0x1401d2842]
movzx eax, word [r8 + rax*2]
mov r14, qword [rsp + 0x28]
cmp eax, 0x800
jb 0x1400e940b
movzx eax, ax
jmp 0x1400e94c1
cmp r9b, 0x76
jbe 0x1400e9328
add sil, 8
movzx eax, sil
imul eax, eax, 0x5e
movzx r9d, r11b
add eax, r9d
add eax, 0xffffe234
movzx r9d, ax
shr r9d, 0xc
or r9b, 0xe0
mov r14, qword [rsp + 0x28]
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0xbf
jmp 0x1400e8fe3
add sil, 0x5e
movzx eax, sil
imul r9d, eax, 0x5e
movzx eax, r11b
add eax, r9d
cmp eax, 0x1a9
mov r9d, 0x17
mov r8d, 0
cmovb r9, r8
lea r8, [0x1401d262c]
cmp word [r8 + r9*2 + 0x16], ax
lea r10, [r9 + 0xb]
cmova r10, r9
cmp word [r8 + r10*2 + 0xc], ax
lea r9, [r10 + 6]
cmova r9, r10
cmp word [r8 + r9*2 + 6], ax
lea r10, [r9 + 3]
cmova r10, r9
cmp word [r8 + r10*2 + 2], ax
lea r9, [r10 + 1]
cmova r9, r10
lea r10, [r9 + 1]
cmp word [r8 + r9*2 + 2], ax
cmova r10, r9
movzx r9d, word [r8 + r10*2]
cmp r9w, ax
adc r10, 0
cmp r9w, ax
jne 0x1400e9461
cmp r10, 0x2e
jae 0x1400ea26d
lea rax, [0x1401d25d0]
movzx r9d, word [rax + r10*2]
jmp 0x1400e948d
adc r10, 0xffffffffffffffff
cmp r10, 0x3b
jae 0x1400ea23d
lea rax, [0x1401d268a]
movzx eax, word [rax + r10*2]
add ax, r9w
lea r8, [0x1401d2700]
sub ax, word [r8 + r10*2]
movzx r9d, ax
mov r14, qword [rsp + 0x28]
cmp r9d, 0x800
jae 0x1400e942e
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
mov r9d, 2
jmp 0x1400e9209
mov eax, r9d
shr eax, 0xc
or al, 0xe0
mov byte [r14 + rdi], al
mov eax, r9d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
mov r9d, 3
jmp 0x1400e9209
lea r9, [r10 - 1]
cmp r9, 0x2e
jae 0x1400ea255
lea r8, [0x1401d25d0]
movzx r9d, word [r8 + r10*2 - 2]
add r9w, ax
lea rax, [0x1401d262c]
sub r9w, word [rax + r10*2 - 2]
movzx eax, r9w
mov r14, qword [rsp + 0x28]
cmp eax, 0x800
jae 0x1400e94c1
mov eax, r9d
shr eax, 6
or al, 0xc0
mov byte [r14 + rdi], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
mov r9d, 2
jmp 0x1400e9209
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
jmp 0x1400e8fd0
test rbx, rbx
je 0x1400e95df
movzx esi, byte [rax]
test sil, sil
js 0x1400e966d
mov byte [r15], sil
mov ebp, 1
cmp ebx, 1
je 0x1400e95e1
movzx esi, byte [rax + 1]
test sil, sil
js 0x1400e966f
mov byte [r15 + 1], sil
mov ebp, 2
cmp ebx, 2
je 0x1400e95e1
movzx esi, byte [rax + 2]
test sil, sil
js 0x1400e966f
mov byte [r15 + 2], sil
mov ebp, 3
cmp ebx, 3
je 0x1400e95e1
movzx esi, byte [rax + 3]
test sil, sil
js 0x1400e966f
mov byte [r15 + 3], sil
mov ebp, 4
cmp ebx, 4
je 0x1400e95e1
movzx esi, byte [rax + 4]
test sil, sil
js 0x1400e966f
mov byte [r15 + 4], sil
mov ebp, 5
cmp ebx, 5
je 0x1400e95e1
movzx esi, byte [rax + 5]
test sil, sil
js 0x1400e966f
mov byte [r15 + 5], sil
mov ebp, 6
cmp ebx, 6
je 0x1400e95e1
movzx esi, byte [rax + 6]
test sil, sil
js 0x1400e966f
mov byte [r15 + 6], sil
mov ebp, 7
jmp 0x1400e95e1
neg sil
jno 0x1400e98df
mov r14, qword [rsp + 0x28]
mov word [r14 + rdi], 0x82e2
mov byte [r14 + rdi + 2], 0xac
add rdi, 3
mov r8, qword [rsp + 0x30]
mov rbx, rdi
mov rcx, rax
mov qword [rsp + 0x38], rbx
cmp rcx, rbp
jbe 0x1400e8b42
jmp 0x1400ea1ea
xor ebp, ebp
lea rsi, [r13 - 0x10]
mov r11, qword [rsp + 0x20]
lea rbx, [r14 + r11]
add rbx, 8
nop word cs:[rax + rax]
mov r11, qword [rax + rbp]
mov r12, qword [rax + rbp + 8]
mov qword [rbx + rbp - 8], r11
mov qword [rbx + rbp], r12
movabs r14, 0x8080808080808080
and r11, r14
and r12, r14
mov r14, r12
or r14, r11
jne 0x1400e9655
add rbp, 0x10
cmp rbp, rsi
jbe 0x1400e9600
jmp 0x1400e8b90
mov byte [r14 + rdi], sil
inc rdi
mov rbx, rdi
mov qword [rsp + 0x38], rbx
cmp rcx, rbp
jbe 0x1400e8b42
jmp 0x1400ea1ea
test r11, r11
je 0x1400e967c
tzcnt r9, r11
shr r9d, 3
mov r13d, r10d
mov r11, qword [rsp + 0x20]
jmp 0x1400e969e
xor ebp, ebp
mov r13d, r10d
mov r11, qword [rsp + 0x20]
jmp 0x1400e8bbd
test r12, r12
mov r13d, r10d
mov r11, qword [rsp + 0x20]
je 0x1400e9690
tzcnt r9, r12
jmp 0x1400e9696
mov r9d, 0x40
shr r9d, 3
add r9, 8
add rbp, r9
movzx esi, byte [rax + rbp]
jmp 0x1400e8bbd
xor edi, edi
movzx r13d, byte [rsp + 0xd0]
movzx ebx, byte [rdx + 8]
test bl, bl
je 0x1400e8b2e
test rbp, rbp
je 0x1400e979a
lea rax, [rdi + 3]
mov qword [rsp + 0x20], rax
cmp rax, r8
jae 0x1400e97e2
mov r10, r15
movzx eax, byte [rdx + 9]
movzx r9d, al
movzx ecx, byte [rdx + 0xa]
xor esi, esi
nop dword [rax]
movzx r15d, byte [r12 + rsi]
cmp bl, 1
je 0x1400e9740
movzx r11d, bl
cmp r11d, 2
jne 0x1400e97f3
mov byte [rdx + 8], 0
add r15b, 0x7f
cmp r15b, 0x7d
ja 0x1400e9836
mov byte [rdx + 8], 3
mov byte [rdx + 9], al
mov byte [rdx + 0xa], cl
mov byte [rdx + 0xb], r15b
mov bl, 3
inc rsi
cmp rbp, rsi
jne 0x1400e96f0
jmp 0x1400e9765
mov byte [rdx + 8], 0
lea ecx, [r15 - 0x30]
cmp cl, 9
ja 0x1400e9857
mov byte [rdx + 8], 2
mov byte [rdx + 9], al
mov byte [rdx + 0xa], cl
mov bl, 2
inc rsi
cmp rbp, rsi
jne 0x1400e96f0
test r13b, r13b
je 0x1400e97a2
mov byte [rdx + 8], 0
mov r15, r10
mov byte [r10 + 8], 2
mov byte [r10 + 9], bl
mov byte [r10 + 0xa], 0
mov qword [r10], rbp
jmp 0x1400e9ba7
mov byte [r15 + 8], 1
mov qword [r15], 0
xor edi, edi
jmp 0x1400e9ba7
mov r10, r15
test r13b, r13b
jne 0x1400e976a
mov r15, r10
mov byte [r10 + 8], 0
mov qword [r10], rbp
jmp 0x1400e9ba7
xor eax, eax
cmp rdi, r9
setb al
add rcx, r13
add r11, r13
mov rdi, r11
mov r15, qword [rsp + 0x40]
lea rdx, [rsp + 0x28]
and edx, 0xffff00
or rdx, rax
mov qword [r15], rcx
mov qword [r15 + 8], rdx
jmp 0x1400e9ba7
mov byte [r15 + 8], 1
mov qword [r15], 0
jmp 0x1400e9ba7
movzx eax, byte [rdx + 0xb]
mov byte [rdx + 8], 0
add r15b, 0xd0
cmp r15b, 9
mov rbx, qword [rsp + 0x20]
jbe 0x1400e98f8
add cl, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], cl
mov byte [rdx + 8], 1
mov byte [rdx + 9], al
mov r15, r10
mov word [r10 + 8], 0x102
mov byte [r10 + 0xa], 2
mov qword [r10], rsi
jmp 0x1400e9ba7
add cl, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], cl
mov r15, r10
mov word [r10 + 8], 0x102
mov byte [r10 + 0xa], 1
mov qword [r10], rsi
jmp 0x1400e9ba7
lea rcx, [rsi + 1]
cmp al, 0x1f
jbe 0x1400e994a
lea ebx, [r15 + 0x5f]
cmp bl, 0x5e
jae 0x1400e9b33
lea r11d, [rax - 0x2f]
cmp r11b, 0x48
jae 0x1400e9cf0
movzx eax, r11b
imul eax, eax, 0x5e
movzx r9d, bl
add r9d, eax
lea rax, [0x1401d2882]
movzx eax, word [rax + r9*2]
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rbx
mov r15, r10
jmp 0x1400e8b33
test r13b, r13b
je 0x1400e9a4e
mov word [r15 + 8], 0x102
jmp 0x1400e9b9f
mov byte [r15 + 8], 1
mov qword [r15], rcx
jmp 0x1400e9ba7
movzx eax, al
inc rsi
imul r9, r9, 0x3138
movzx ecx, cl
imul rcx, rcx, 0x4ec
add rcx, r9
lea rax, [rax + rax*4]
movzx r9d, r15b
add r9, rcx
lea rax, [r9 + rax*2]
cmp rax, 0x99fc
jae 0x1400e9ace
cmp eax, 0x1d21
jne 0x1400e9c40
mov word [r14 + rdi], 0x9fee
mov byte [r14 + rdi + 2], 0x87
jmp 0x1400e9b28
lea eax, [r15 - 0x40]
cmp al, 0x3e
jbe 0x1400e9963
cmp r15b, 0xfe
jg 0x1400e9b4a
add r15b, 0xbf
mov eax, r15d
movzx r9d, r9w
imul r9d, r9d, 0xbe
movzx eax, al
add eax, r9d
movzx esi, ax
xor r9d, r9d
cmp esi, 0xb40
mov r11d, 0x3be
cmovb r11, r9
lea rbx, [r11 + 0x1df]
lea r9, [0x1401d85c6]
cmp si, word [r9 + r11*2 + 0x3be]
cmovb rbx, r11
cmp si, word [r9 + rbx*2 + 0x1de]
lea r11, [rbx + 0xef]
cmovb r11, rbx
lea rbx, [r11 + 0x78]
cmp si, word [r9 + r11*2 + 0xf0]
cmovb rbx, r11
lea r11, [rbx + 0x3c]
cmp si, word [r9 + rbx*2 + 0x78]
cmovb r11, rbx
cmp si, word [r9 + r11*2 + 0x3c]
lea rbx, [r11 + 0x1e]
cmovb rbx, r11
lea r11, [rbx + 0xf]
cmp si, word [r9 + rbx*2 + 0x1e]
cmovb r11, rbx
lea rbx, [r11 + 7]
cmp si, word [r9 + r11*2 + 0xe]
cmovb rbx, r11
cmp si, word [r9 + rbx*2 + 8]
lea r11, [rbx + 4]
cmovb r11, rbx
lea r15, [r11 + 2]
cmp si, word [r9 + r11*2 + 4]
cmovb r15, r11
lea rbx, [r15 + 1]
cmp si, word [r9 + r15*2 + 2]
cmovb rbx, r15
movzx r11d, word [r9 + rbx*2]
cmp si, r11w
jne 0x1400e9bbf
lea rax, [0x1401d76ce]
movzx eax, word [rax + rbx*2]
mov r15, r10
jmp 0x1400e9be8
mov byte [rdx + 8], 1
mov byte [rdx + 9], r9b
mov byte [r15 + 8], 0
jmp 0x1400e9ba4
test r13b, r13b
je 0x1400e9b67
mov word [r15 + 8], 0x202
jmp 0x1400e9a9e
mov byte [rdx + 6], 1
mov byte [rdx + 7], r10b
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 1
mov qword [r15], rcx
jmp 0x1400e9ba7
test r13b, r13b
je 0x1400e9b75
mov word [r15 + 8], 0x302
mov byte [r15 + 0xa], 0
mov qword [r15], rcx
jmp 0x1400e9ba7
mov byte [rdx + 6], 1
mov byte [rdx + 7], r10b
mov byte [rdx + 8], 1
mov byte [rdx + 9], bl
mov word [r15 + 8], 0x102
mov byte [r15 + 0xa], 2
mov qword [r15], rcx
jmp 0x1400e9ba7
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
jae 0x1400e9cd9
add eax, 0xfffe1db8
mov ecx, eax
shr ecx, 0x12
or cl, 0xf0
mov byte [r14 + rdi], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 2], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 3], al
or rdi, 4
mov qword [rsp + 0x38], rdi
mov rbx, rdi
mov rcx, rsi
mov r15, r10
jmp 0x1400e8b33
lea ebx, [r15 - 0x40]
cmp bl, 0x3e
jbe 0x1400e9e00
cmp r15b, 0xa0
jle 0x1400e9df9
mov byte [r10 + 8], 2
test r15b, r15b
js 0x1400e9d48
mov word [r10 + 9], 1
mov qword [r10], rsi
mov r15, r10
jmp 0x1400e9ba7
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], r11b
jmp 0x1400e9b84
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], r11b
mov byte [rdx + 0xb], bl
mov byte [r15 + 8], 0
mov qword [r15], rcx
jmp 0x1400e9ba7
mov eax, 1
jmp 0x1400e97c3
mov word [r15 + 8], 0x402
mov byte [r15 + 0xa], 0
mov qword [r15], rax
mov qword [r15 + 0x10], rdi
mov rax, r15
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r11w, ax
adc rbx, 0xffffffffffffffff
cmp rbx, 0x77c
jae 0x1400ea1d2
mov r15, r10
lea r11, [0x1401d76ce]
add ax, word [r11 + rbx*2]
sub ax, word [r9 + rbx*2]
movzx eax, ax
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rbx
jmp 0x1400e8b33
mov byte [r15 + 8], 2
test r10b, r10b
js 0x1400e9d5a
mov word [r15 + 9], 1
jmp 0x1400e9ba4
xor ecx, ecx
cmp rax, 0x2c46
mov r9d, 0x67
cmovb r9, rcx
lea rcx, [0x1401d94be]
cmp word [rcx + r9*2 + 0x66], ax
lea r11, [r9 + 0x33]
cmova r11, r9
cmp word [rcx + r11*2 + 0x34], ax
lea r9, [r11 + 0x1a]
cmova r9, r11
cmp word [rcx + r9*2 + 0x1a], ax
lea r11, [r9 + 0xd]
cmova r11, r9
cmp word [rcx + r11*2 + 0xc], ax
lea r9, [r11 + 6]
cmova r9, r11
cmp word [rcx + r9*2 + 6], ax
lea r11, [r9 + 3]
cmova r11, r9
cmp word [rcx + r11*2 + 4], ax
lea r9, [r11 + 2]
cmova r9, r11
cmp word [rcx + r9*2 + 2], ax
lea rbx, [r9 + 1]
cmova rbx, r9
cmp word [rcx + rbx*2], ax
mov r15, r10
jne 0x1400e9d69
lea rax, [0x1401d965a]
movzx r9d, word [rax + rbx*2]
jmp 0x1400e9d8f
mov r15, r10
mov word [r10 + 8], 0x402
mov byte [r10 + 0xa], 0
mov qword [r10], rsi
jmp 0x1400e9ba7
cmp r9d, 0x27
je 0x1400ea008
cmp r9d, 0x25
je 0x1400e9ff1
cmp r9d, 0x20
jne 0x1400ea053
movzx eax, bl
lea r9, [0x1401d24e8]
movzx eax, word [r9 + rax*2]
cmp eax, 0x800
mov r15, r10
jae 0x1400e9be8
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
jmp 0x1400ea171
mov word [r10 + 9], 2
mov qword [r10], rcx
mov r15, r10
jmp 0x1400e9ba7
mov word [r15 + 9], 2
mov qword [r15], rcx
jmp 0x1400e9ba7
adc rbx, 0xffffffffffffffff
cmp rbx, 0xce
jae 0x1400ea1f9
lea r9, [0x1401d965a]
movzx r9d, word [r9 + rbx*2]
add r9w, ax
sub r9w, word [rcx + rbx*2]
movzx eax, r9w
cmp eax, 0x800
mov rbx, qword [rsp + 0x20]
jae 0x1400e9dc7
mov eax, r9d
shr eax, 6
or al, 0xc0
mov byte [r14 + rdi], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
or rdi, 2
mov rbx, rdi
mov rcx, rsi
jmp 0x1400e8b33
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [r14 + rdi], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov qword [rsp + 0x38], rbx
mov rcx, rsi
jmp 0x1400e8b33
add r15b, 0xbf
mov ebx, r15d
add al, 0xe0
movzx eax, al
lea r9, [rax + rax*2]
shl r9d, 5
movzx r11d, bl
lea rax, [r9 + r11]
add rax, 0xfffffffffffffca0
cmp rax, 0x1f7b
jae 0x1400e9f04
xor r9d, r9d
cmp rax, 0xb36
mov r11d, 0x32d
cmovb r11, r9
lea r9, [0x1401d6a18]
cmp word [r9 + r11*2 + 0x32e], ax
lea rsi, [r11 + 0x197]
cmova rsi, r11
cmp word [r9 + rsi*2 + 0x196], ax
lea r11, [rsi + 0xcb]
cmova r11, rsi
cmp word [r9 + r11*2 + 0xcc], ax
lea rsi, [r11 + 0x66]
cmova rsi, r11
cmp word [r9 + rsi*2 + 0x66], ax
lea r11, [rsi + 0x33]
cmova r11, rsi
cmp word [r9 + r11*2 + 0x32], ax
lea rsi, [r11 + 0x19]
cmova rsi, r11
cmp word [r9 + rsi*2 + 0x1a], ax
lea r11, [rsi + 0xd]
cmova r11, rsi
cmp word [r9 + r11*2 + 0xc], ax
lea rsi, [r11 + 6]
cmova rsi, r11
cmp word [r9 + rsi*2 + 6], ax
lea r11, [rsi + 3]
cmova r11, rsi
cmp word [r9 + r11*2 + 4], ax
lea rbx, [r11 + 2]
cmova rbx, r11
cmp word [r9 + rbx*2 + 2], ax
lea rsi, [rbx + 1]
cmova rsi, rbx
cmp word [r9 + rsi*2], ax
mov r15, r10
jne 0x1400e9f92
lea rax, [0x1401d5d62]
movzx r11d, word [rax + rsi*2]
mov rbx, qword [rsp + 0x20]
movzx eax, r11w
jmp 0x1400ea17f
add r9, r11
cmp r9d, 0x360
mov r15, r10
jae 0x1400e9fc6
xor eax, eax
cmp r9, 0x309
mov r11d, 0x1d
cmovb r11, rax
lea rax, [0x1401d2700]
cmp word [rax + r11*2 + 0x1e], r9w
lea rsi, [r11 + 0xf]
cmova rsi, r11
cmp word [rax + rsi*2 + 0xe], r9w
lea r11, [rsi + 7]
cmova r11, rsi
cmp word [rax + r11*2 + 8], r9w
lea rsi, [r11 + 4]
cmova rsi, r11
cmp word [rax + rsi*2 + 4], r9w
lea r11, [rsi + 2]
cmova r11, rsi
cmp word [rax + r11*2 + 2], r9w
lea rbx, [r11 + 1]
cmova rbx, r11
cmp word [rax + rbx*2], r9w
jne 0x1400ea128
lea rax, [0x1401d268a]
movzx esi, word [rax + rbx*2]
jmp 0x1400ea14a
adc rsi, 0xffffffffffffffff
cmp rsi, 0x65b
mov rbx, qword [rsp + 0x20]
jae 0x1400ea211
lea r11, [0x1401d5d62]
movzx r11d, word [r11 + rsi*2]
add r11w, ax
sub r11w, word [r9 + rsi*2]
movzx eax, r11w
jmp 0x1400ea17f
lea rsi, [r9 - 0x22db]
cmp rsi, 0x65
mov rbx, qword [rsp + 0x20]
jae 0x1400ea283
lea rax, [0x1401d2778]
movzx eax, word [rax + r9*2 - 0x45b6]
jmp 0x1400ea17f
add r15b, 0x20
cmp r15b, 0x15
ja 0x1400ea074
movzx eax, r15b
lea r9, [0x1401d25a4]
jmp 0x1400ea017
cmp bl, 0x20
jae 0x1400ea074
movzx eax, bl
lea r9, [0x1401d2842]
movzx eax, word [r9 + rax*2]
cmp eax, 0x800
jae 0x1400ea1b5
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
or rdi, 2
mov qword [rsp + 0x38], rdi
mov rbx, rdi
mov r15, r10
jmp 0x1400e8b33
cmp al, 0x76
jbe 0x1400ea074
add al, 0x89
movzx eax, al
imul eax, eax, 0x5e
movzx r9d, bl
add eax, r9d
add eax, 0xffffe234
movzx r9d, ax
jmp 0x1400e989b
add al, 0xdf
movzx eax, al
imul r9d, eax, 0x5e
movzx eax, bl
add eax, r9d
xor r9d, r9d
cmp eax, 0x1a9
mov r11d, 0x17
cmovb r11, r9
lea rsi, [r11 + 0xb]
lea r9, [0x1401d262c]
cmp ax, word [r9 + r11*2 + 0x16]
cmovb rsi, r11
lea r11, [rsi + 6]
cmp ax, word [r9 + rsi*2 + 0xc]
cmovb r11, rsi
cmp ax, word [r9 + r11*2 + 6]
lea rsi, [r11 + 3]
cmovb rsi, r11
lea r11, [rsi + 1]
cmp ax, word [r9 + rsi*2 + 2]
cmovb r11, rsi
lea rbx, [r11 + 1]
cmp ax, word [r9 + r11*2 + 2]
cmovb rbx, r11
movzx r11d, word [r9 + rbx*2]
cmp ax, r11w
jne 0x1400ea0fd
lea rax, [0x1401d25d0]
movzx esi, word [rax + rbx*2]
mov r15, r10
jmp 0x1400ea14a
cmp r11w, ax
adc rbx, 0xffffffffffffffff
cmp rbx, 0x2e
jae 0x1400ea255
lea r11, [0x1401d25d0]
movzx esi, word [r11 + rbx*2]
add si, ax
sub si, word [r9 + rbx*2]
mov r15, r10
jmp 0x1400ea14a
adc rbx, 0xffffffffffffffff
cmp rbx, 0x3b
jae 0x1400ea23d
lea r11, [0x1401d268a]
movzx esi, word [r11 + rbx*2]
add si, r9w
sub si, word [rax + rbx*2]
movzx eax, si
cmp eax, 0x800
mov rbx, qword [rsp + 0x20]
jae 0x1400ea17f
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [r14 + rdi], al
and sil, 0x3f
or sil, 0x80
mov byte [r14 + rdi + 1], sil
or rdi, 2
mov qword [rsp + 0x38], rdi
jmp 0x1400e8b30
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov qword [rsp + 0x38], rbx
jmp 0x1400e8b33
movzx eax, ax
jmp 0x1400e9898
lea rax, [0x1401f0bf8]
mov rcx, rbx
mov rdx, r8
mov r8, rax
call fcn.1401b7af0
lea r8, [0x1401f0b78]
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call fcn.1401b7780
lea r8, [0x1401f0c10]
mov rdx, rbp
call fcn.1401b7af0
lea r8, [0x1401f0b78]
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call fcn.1401b7780
lea r8, [0x1401f0b78]
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call fcn.1401b7780
lea r8, str.C:Usersdenni.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcgb18030.rsC:Usersdenni.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov edx, 0x65
mov rcx, r10
call fcn.1401b7780
lea r8, [0x1401f0b78]
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call fcn.1401b7780
lea r8, [0x1401f0b78]
mov edx, 0x2e
mov rcx, 0xffffffffffffffff
call fcn.1401b7780
lea r8, [0x1401f0b60]
mov ecx, 0x2e
mov edx, 0x2e
call fcn.1401b7780
lea r8, str.C:Usersdenni.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcgb18030.rsC:Usersdenni.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.35_srcdata.rs
mov edx, 0x65
mov rcx, rsi
call fcn.1401b7780
int3