Function at 0x1400a7083
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 r10, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r10
and qword [rsp + 0x48], 0
mov rdi, rdx
mov r14, rcx
cmp byte [rdx + 6], 0
je 0x1400a70ea
cmp r10, 2
jbe 0x1400a77dc
mov qword [rsp + 0x58], r14
mov al, byte [rdi + 7]
mov byte [rdi + 6], 0
mov byte [rsi], al
mov qword [rsp + 0x48], 1
mov ebp, 1
jmp 0x1400a70f1
mov qword [rsp + 0x58], r14
xor ebp, ebp
lea r14, [rdi + 8]
mov al, byte [rdi + 8]
mov r15b, byte [rdi + 0xa]
movzx r11d, byte [rdi + 9]
mov cl, byte [rdi + 0xb]
mov byte [rsp + 0x68], cl
imul ecx, r11d, 0xbe
mov dword [rsp + 0x7c], ecx
lea ecx, [r11 - 0x20]
movzx ecx, cl
imul rcx, rcx, 0x60
mov qword [rsp + 0x88], rcx
lea ebx, [r11 - 0x2f]
lea ecx, [r11 - 0x21]
movzx ecx, cl
imul ecx, ecx, 0x5e
lea edx, [r11 - 0x77]
movzx edx, dl
imul edx, edx, 0x5e
add edx, 0xffffe234
mov dword [rsp + 0x70], edx
mov dword [rsp + 0x78], ebx
movzx edx, bl
imul rdx, rdx, 0x5e
mov qword [rsp + 0x80], rdx
imul rdx, r11, 0x3138
mov qword [rsp + 0x90], rdx
xor r13d, r13d
movzx ecx, cx
mov dword [rsp + 0x74], ecx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x60], r11
test al, al
je 0x1400a77ec
cmp r9, r13
je 0x1400a80d4
lea rbx, [rbp + 3]
cmp rbx, r10
jae 0x1400a8108
mov cl, byte [r8 + r13]
mov byte [r14], 0
cmp al, 1
je 0x1400a71db
movzx eax, al
cmp eax, 2
jne 0x1400a7224
add cl, 0x7f
cmp cl, 0x7d
ja 0x1400a8153
mov byte [rdi + 8], 3
mov byte [rdi + 9], r11b
mov byte [rdi + 0xa], r15b
mov byte [rdi + 0xb], cl
mov al, 3
mov byte [rsp + 0x68], cl
jmp 0x1400a7548
lea edx, [rcx - 0x30]
cmp dl, 9
jbe 0x1400a7281
cmp r11b, 0x1f
jbe 0x1400a72f3
lea eax, [rcx + 0x5f]
cmp al, 0x5e
jae 0x1400a73db
movzx r12d, al
cmp byte [rsp + 0x78], 0x48
jae 0x1400a7587
add r12d, dword [rsp + 0x80]
lea rax, [0x1401a3318]
movzx eax, word [rax + r12*2]
jmp 0x1400a763b
add cl, 0xd0
cmp cl, 9
ja 0x1400a8175
movzx eax, r15b
imul rax, rax, 0x4ec
movzx edx, byte [rsp + 0x68]
imul rdx, rdx, 0xa
add rdx, qword [rsp + 0x90]
add rdx, rax
movzx r12d, cl
add r12, rdx
cmp r12, 0x99fc
jae 0x1400a7296
cmp r12d, 0x1d21
jne 0x1400a737e
mov rsi, qword [rsp + 0x38]
mov word [rsi + rbp], 0x9fee
mov byte [rsi + rbp + 2], 0x87
jmp 0x1400a7662
mov byte [rdi + 8], 2
mov byte [rdi + 9], r11b
mov byte [rdi + 0xa], dl
mov al, 2
mov r15d, edx
jmp 0x1400a7548
lea rax, [r12 - 0x2e248]
cmp rax, 0x100000
jae 0x1400a81a2
add r12d, 0xfffe1db8
mov eax, r12d
shr eax, 0x12
or al, 0xf0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], al
mov eax, r12d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 1], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 2], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsi + rbp + 3], r12b
add rbp, 4
jmp 0x1400a7541
lea eax, [rcx - 0x40]
cmp al, 0x3e
jbe 0x1400a7308
cmp cl, 0xfe
jg 0x1400a81d1
add cl, 0xbf
mov eax, ecx
mov byte [rsp + 0x57], r15b
mov r15, rdi
mov rdi, r14
mov r14, r10
movzx r12d, al
add r12d, dword [rsp + 0x7c]
mov word [rsp + 0x26], r12w
mov edx, 0x77c
lea rcx, [0x14019fa04]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r10, rdx
test rax, rax
je 0x1400a7488
mov rcx, r10
dec rcx
cmp rcx, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a82ea
lea rax, [0x1401a08fc]
add r12w, word [rax + r10*2 - 2]
lea rax, [0x14019fa04]
sub r12w, word [rax + r10*2 - 2]
jmp 0x1400a74a6
mov rsi, r10
mov word [rsp + 0x26], r12w
mov edx, 0xce
lea rcx, [0x1401a69ce]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a74ed
mov rcx, r9
dec rcx
cmp rcx, 0xce
jae 0x1400a82fb
lea rax, [0x1401a6b6a]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1401a69ce]
sub r12w, word [rax + r9*2 - 2]
jmp 0x1400a7506
lea eax, [rcx - 0x40]
cmp al, 0x3e
jbe 0x1400a73f0
cmp cl, 0xa0
jg 0x1400a81d1
add cl, 0xbf
mov eax, ecx
movzx r12d, al
mov rax, qword [rsp + 0x88]
lea rsi, [rax + r12]
add rsi, 0xfffffffffffffca0
cmp rsi, 0x1f7b
jae 0x1400a75b9
mov r12d, r15d
mov r15, rdi
mov rdi, r14
mov r14, r10
mov word [rsp + 0x26], si
mov edx, 0x65b
lea rcx, [0x1401a17f4]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r10, rdx
test rax, rax
je 0x1400a766e
mov rcx, r10
dec rcx
cmp rcx, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r11, qword [rsp + 0x60]
jae 0x1400a832e
lea rax, [0x1401a24aa]
add si, word [rax + r10*2 - 2]
lea rax, [0x1401a17f4]
sub si, word [rax + r10*2 - 2]
jmp 0x1400a7696
cmp r10, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a830c
lea rax, [0x1401a08fc]
movzx r12d, word [rax + r10*2]
mov r8, qword [rsp + 0x28]
mov r11, qword [rsp + 0x60]
movzx eax, r12w
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [rsi + rbp], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsi + rbp + 1], cl
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 2], al
mov qword [rsp + 0x48], rbx
xor eax, eax
mov r10, r14
mov r14, rdi
mov rdi, r15
mov r15b, byte [rsp + 0x57]
jmp 0x1400a754b
cmp r9, 0xce
jae 0x1400a831a
lea rax, [0x1401a6b6a]
movzx r12d, word [rax + r9*2]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r10, rsi
mov r11, qword [rsp + 0x60]
cmp r12w, 0x800
jae 0x1400a7556
mov eax, r12d
shr eax, 6
or al, 0xc0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsi + rbp + 1], r12b
add rbp, 2
mov qword [rsp + 0x48], rbp
xor eax, eax
mov rbx, rbp
inc r13
mov rbp, rbx
jmp 0x1400a7183
movzx eax, r12w
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 1], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsi + rbp + 2], r12b
jmp 0x1400a7662
cmp r11d, 0x20
je 0x1400a76f0
cmp r11d, 0x25
je 0x1400a76d8
cmp r11d, 0x27
jne 0x1400a7737
cmp al, 0x20
jae 0x1400a775b
lea rax, [0x1401a68e0]
jmp 0x1400a76f7
add r12, rax
cmp r12d, 0x360
jae 0x1400a7619
mov rsi, r10
mov word [rsp + 0x26], r12w
mov edx, 0x3b
lea rcx, [0x1401a3160]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a77b0
mov rcx, r9
dec rcx
cmp rcx, 0x3b
jae 0x1400a8364
lea rax, [0x1401a31d8]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1401a3160]
jmp 0x1400a73d0
lea rcx, [r12 - 0x22db]
cmp rcx, 0x65
jae 0x1400a833f
lea rax, [0x1401a324e]
movzx eax, word [rax + r12*2 - 0x45b6]
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsi + rbp + 1], cl
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 2], al
mov qword [rsp + 0x48], rbx
xor eax, eax
jmp 0x1400a754b
cmp r10, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r11, qword [rsp + 0x60]
jae 0x1400a8350
lea rax, [0x1401a24aa]
movzx esi, word [rax + r10*2]
movzx eax, si
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsi + rbp + 1], cl
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 2], al
mov qword [rsp + 0x48], rbx
xor eax, eax
mov r10, r14
mov r14, rdi
mov rdi, r15
mov r15d, r12d
jmp 0x1400a754b
add cl, 0x20
cmp cl, 0x15
ja 0x1400a775b
movzx eax, cl
lea rcx, [0x1401a68b4]
movzx eax, word [rcx + rax*2]
jmp 0x1400a76fc
lea rax, [0x1401a67f8]
movzx eax, word [rax + r12*2]
cmp ax, 0x800
jae 0x1400a771f
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], cl
and al, 0x3f
or al, 0x80
mov byte [rsi + rbp + 1], al
jmp 0x1400a753d
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], dl
jmp 0x1400a764d
cmp r11b, 0x76
jbe 0x1400a775b
add r12d, dword [rsp + 0x70]
movzx eax, r12w
shr eax, 0xc
or al, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], al
mov eax, r12d
jmp 0x1400a756a
mov rsi, r10
add r12d, dword [rsp + 0x74]
mov word [rsp + 0x26], r12w
mov edx, 0x2b
lea rcx, [0x1401a6920]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a77c6
mov rcx, r9
dec rcx
cmp rcx, 0x2b
jae 0x1400a8375
lea rax, [0x1401a6978]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1401a6920]
jmp 0x1400a73d0
cmp r9, 0x3b
jae 0x1400a8386
lea rax, [0x1401a31d8]
jmp 0x1400a7501
cmp r9, 0x2b
jae 0x1400a8394
lea rax, [0x1401a6978]
jmp 0x1400a7501
mov byte [r14 + 8], 1
and qword [r14], 0
xor ebp, ebp
jmp 0x1400a82cf
mov r14, qword [rsp + 0x38]
lea rax, [0x1401a7368]
lea r12, [0x1401a7380]
mov r15, qword [rsp + 0x40]
mov rcx, r13
mov rdx, r8
mov r8, r9
mov r9, rax
call fcn.14003cd5a
mov rsi, rax
mov rbx, rdx
mov rcx, rbp
mov rdx, r14
mov qword [rsp + 0x68], r15
mov r8, r15
mov r9, r12
call fcn.14003cd5a
cmp rdx, rbx
mov rbp, rbx
cmovb rbp, rdx
mov ecx, eax
xor ecx, esi
test cl, 7
je 0x1400a784e
xor r12d, r12d
mov r14, qword [rsp + 0x58]
jmp 0x1400a7869
mov r10d, esi
neg r10d
and r10d, 7
lea rcx, [r10 + 0x10]
cmp rcx, rbp
mov r14, qword [rsp + 0x58]
jbe 0x1400a788d
xor r12d, r12d
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
cmp r12, rbp
jae 0x1400a8117
mov cl, byte [rsi + r12]
test cl, cl
js 0x1400a78b4
mov byte [rax + r12], cl
inc r12
jmp 0x1400a7873
xor r12d, r12d
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
cmp r10, r12
je 0x1400a8003
mov cl, byte [rsi + r12]
test cl, cl
js 0x1400a78b4
mov byte [rax + r12], cl
inc r12
jmp 0x1400a789a
lea r15, [0x1401a7380]
mov rdx, qword [rsp + 0x68]
add r13, r12
mov rax, qword [rsp + 0x48]
lea rbp, [rax + r12]
mov qword [rsp + 0x48], rbp
add rax, r12
add rax, 3
cmp rax, rdx
jae 0x1400a8295
inc r13
mov rsi, r13
lea eax, [rcx + 0x7f]
cmp al, 0x7d
ja 0x1400a803f
cmp rsi, r9
jae 0x1400a81bb
mov dl, byte [r8 + rsi]
lea r13, [rsi + 1]
lea r11d, [rdx - 0x30]
movzx r10d, al
cmp r11b, 9
jbe 0x1400a7987
cmp al, 0x1f
jbe 0x1400a7a16
lea r11d, [rdx + 0x5f]
cmp r11b, 0x5e
jae 0x1400a7aef
lea r10d, [rcx + 0x50]
movzx r8d, r11b
cmp r10b, 0x48
jae 0x1400a7c3f
movzx eax, r10b
imul eax, eax, 0x5e
add eax, r8d
lea rcx, [0x1401a3318]
movzx eax, word [rcx + rax*2]
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov r10, qword [rsp + 0x38]
mov byte [r10 + rbp], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r10 + rbp + 1], cl
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 2], al
mov eax, 3
mov r8, qword [rsp + 0x28]
jmp 0x1400a7d60
cmp r13, r9
jae 0x1400a8200
mov cl, byte [r8 + rsi + 1]
add cl, 0x7f
cmp cl, 0x7d
ja 0x1400a821b
lea rdx, [rsi + 2]
cmp rdx, r9
jae 0x1400a822d
mov al, byte [r8 + rsi + 2]
add al, 0xd0
cmp al, 9
ja 0x1400a8245
add rsi, 3
imul rdx, r10, 0x3138
movzx r10d, r11b
imul r10, r10, 0x4ec
add r10, rdx
movzx ecx, cl
imul rcx, rcx, 0xa
movzx ebx, al
add rbx, rcx
add rbx, r10
cmp rbx, 0x99fc
jae 0x1400a7a95
cmp ebx, 0x1d21
jne 0x1400a7b8c
mov r10, qword [rsp + 0x38]
mov word [r10 + rbp], 0x9fee
mov byte [r10 + rbp + 2], 0x87
jmp 0x1400a7d58
lea eax, [rdx - 0x40]
cmp al, 0x3e
jbe 0x1400a7a2b
cmp dl, 0xfe
jg 0x1400a82b0
add dl, 0xbf
mov eax, edx
imul ecx, r10d, 0xbe
movzx esi, al
add esi, ecx
mov word [rsp + 0x26], si
mov edx, 0x77c
lea rcx, [0x14019fa04]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r10, rdx
test rax, rax
je 0x1400a7be5
mov rcx, r10
dec rcx
cmp rcx, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a82ea
lea rax, [0x1401a08fc]
add si, word [rax + r10*2 - 2]
lea rax, [0x14019fa04]
sub si, word [rax + r10*2 - 2]
jmp 0x1400a7c03
lea rax, [rbx - 0x2e248]
cmp rax, 0x100000
jae 0x1400a829f
add ebx, 0xfffe1db8
mov eax, ebx
shr eax, 0x12
or al, 0xf0
mov r10, qword [rsp + 0x38]
mov byte [r10 + rbp], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 2], al
and bl, 0x3f
or bl, 0x80
mov byte [r10 + rbp + 3], bl
mov eax, 4
jmp 0x1400a7d5d
lea eax, [rdx - 0x40]
cmp al, 0x3e
jbe 0x1400a7b04
cmp dl, 0xa0
jg 0x1400a82b0
add dl, 0xbf
mov eax, edx
add cl, 0x5f
movzx ecx, cl
imul rsi, rcx, 0x60
movzx eax, al
lea rbx, [rsi + rax]
add rbx, 0xfffffffffffffca0
cmp rbx, 0x1f7b
jae 0x1400a7c81
mov word [rsp + 0x26], bx
mov edx, 0x65b
lea rcx, [0x1401a17f4]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r10, rdx
test rax, rax
je 0x1400a7dc1
mov rcx, r10
dec rcx
cmp rcx, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jae 0x1400a832e
lea rax, [0x1401a24aa]
add bx, word [rax + r10*2 - 2]
lea rax, [0x1401a17f4]
sub bx, word [rax + r10*2 - 2]
jmp 0x1400a7de4
mov word [rsp + 0x26], bx
mov edx, 0xce
lea rcx, [0x1401a69ce]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a7ce6
mov rcx, r9
dec rcx
cmp rcx, 0xce
jae 0x1400a82fb
lea rax, [0x1401a6b6a]
add bx, word [rax + r9*2 - 2]
lea rax, [0x1401a69ce]
sub bx, word [rax + r9*2 - 2]
jmp 0x1400a7cff
cmp r10, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a830c
lea rax, [0x1401a08fc]
movzx esi, word [rax + r10*2]
mov r8, qword [rsp + 0x28]
movzx eax, si
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov r10, qword [rsp + 0x38]
mov byte [r10 + rbp], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r10 + rbp + 1], cl
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 2], al
mov eax, 3
jmp 0x1400a7d60
cmp cl, 0xa1
je 0x1400a7e34
movzx r10d, cl
cmp r10d, 0xa6
je 0x1400a7dec
cmp r10d, 0xa8
jne 0x1400a7e6e
cmp r11b, 0x20
jae 0x1400a7e8b
lea rax, [0x1401a68e0]
movzx eax, word [rax + r8*2]
jmp 0x1400a7e06
add rsi, rax
cmp esi, 0x360
jae 0x1400a7d97
mov word [rsp + 0x26], si
mov edx, 0x3b
lea rcx, [0x1401a3160]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a7eed
mov rcx, r9
dec rcx
cmp rcx, 0x3b
jae 0x1400a8364
lea rax, [0x1401a31d8]
add si, word [rax + r9*2 - 2]
lea rax, [0x1401a3160]
sub si, word [rax + r9*2 - 2]
jmp 0x1400a7f03
cmp r9, 0xce
jae 0x1400a831a
lea rax, [0x1401a6b6a]
movzx ebx, word [rax + r9*2]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x38]
cmp bx, 0x800
jae 0x1400a7d32
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [r10 + rbp], al
and bl, 0x3f
or bl, 0x80
mov byte [r10 + rbp + 1], bl
mov eax, 2
jmp 0x1400a7d5d
movzx eax, bx
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [r10 + rbp], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [r10 + rbp + 2], bl
mov eax, 3
mov r13, rsi
add rbp, rax
mov qword [rsp + 0x48], rbp
cmp r13, r9
jae 0x1400a8271
lea rax, [rbp + 3]
cmp rax, qword [rsp + 0x40]
jae 0x1400a810d
mov cl, byte [r8 + r13]
inc r13
mov rsi, r13
test cl, cl
js 0x1400a78e7
jmp 0x1400a8064
lea rcx, [rsi - 0x22db]
cmp rcx, 0x65
mov r8, qword [rsp + 0x28]
jae 0x1400a833f
lea rax, [0x1401a324e]
movzx eax, word [rax + rsi*2 - 0x45b6]
jmp 0x1400a7c0b
cmp r10, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jae 0x1400a8350
lea rax, [0x1401a24aa]
movzx ebx, word [rax + r10*2]
movzx eax, bx
jmp 0x1400a7c0b
add dl, 0x20
cmp dl, 0x15
ja 0x1400a7e8b
movzx eax, dl
lea rcx, [0x1401a68b4]
movzx eax, word [rcx + rax*2]
mov r10, qword [rsp + 0x38]
cmp ax, 0x800
jae 0x1400a7fdb
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov byte [r10 + rbp], cl
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
mov eax, 2
jmp 0x1400a797d
lea rax, [0x1401a67f8]
movzx eax, word [rax + r8*2]
mov r10, qword [rsp + 0x38]
cmp ax, 0x800
mov r8, qword [rsp + 0x28]
jae 0x1400a7fef
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov byte [r10 + rbp], cl
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
jmp 0x1400a7fa4
cmp al, 0x76
jbe 0x1400a7e8b
add cl, 8
movzx eax, cl
imul eax, eax, 0x5e
add eax, r8d
add eax, 0xffffe234
movzx ecx, ax
jmp 0x1400a7950
add cl, 0x5e
movzx eax, cl
imul esi, eax, 0x5e
add esi, r8d
mov word [rsp + 0x26], si
mov edx, 0x2b
lea rcx, [0x1401a6920]
lea r8, [rsp + 0x26]
call fcn.1400a62b5
mov r9, rdx
test rax, rax
je 0x1400a7f60
mov rcx, r9
dec rcx
cmp rcx, 0x2b
jae 0x1400a8375
lea rax, [0x1401a6978]
add si, word [rax + r9*2 - 2]
lea rax, [0x1401a6920]
sub si, word [rax + r9*2 - 2]
jmp 0x1400a7f76
cmp r9, 0x3b
jae 0x1400a8386
lea rax, [0x1401a31d8]
movzx esi, word [rax + r9*2]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x38]
cmp si, 0x800
jae 0x1400a7f33
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [r10 + rbp], al
and sil, 0x3f
or sil, 0x80
mov byte [r10 + rbp + 1], sil
jmp 0x1400a7fa4
movzx eax, si
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [r10 + rbp], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
and sil, 0x3f
or sil, 0x80
mov byte [r10 + rbp + 2], sil
jmp 0x1400a7c35
cmp r9, 0x2b
jae 0x1400a8394
lea rax, [0x1401a6978]
movzx esi, word [rax + r9*2]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r10, qword [rsp + 0x38]
cmp si, 0x800
jae 0x1400a7fae
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [r10 + rbp], al
and sil, 0x3f
or sil, 0x80
mov byte [r10 + rbp + 1], sil
mov eax, 2
jmp 0x1400a7d60
movzx eax, si
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [r10 + rbp], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r10 + rbp + 1], al
and sil, 0x3f
or sil, 0x80
mov byte [r10 + rbp + 2], sil
jmp 0x1400a7c35
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov byte [r10 + rbp], dl
jmp 0x1400a7961
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov byte [r10 + rbp], dl
jmp 0x1400a7c1e
lea rcx, [rbp - 0x10]
mov r10, qword [rsi + r12]
mov r15, qword [rsi + r12 + 8]
mov qword [rax + r12], r10
mov qword [rax + r12 + 8], r15
movabs r8, 0x8080808080808080
and r10, r8
and r15, r8
mov r11, r15
or r11, r10
jne 0x1400a8082
add r12, 0x10
cmp r12, rcx
jbe 0x1400a8007
jmp 0x1400a7869
cmp cl, 0x80
jne 0x1400a81c5
mov rax, qword [rsp + 0x38]
mov word [rax + rbp], 0x82e2
mov r14, rax
mov byte [rax + rbp + 2], 0xac
add rbp, 3
mov r13, rsi
jmp 0x1400a806e
mov r14, r10
mov byte [r10 + rbp], cl
inc rbp
mov qword [rsp + 0x48], rbp
lea rax, [0x1401a7368]
mov r12, r15
jmp 0x1400a77ff
test r10, r10
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
je 0x1400a80a6
bsf rax, r10
shr eax, 3
lea r15, [0x1401a7380]
mov rdx, qword [rsp + 0x68]
jmp 0x1400a80c8
test r15, r15
mov rdx, qword [rsp + 0x68]
je 0x1400a80b6
bsf rax, r15
jmp 0x1400a80bb
mov eax, 0x40
lea r15, [0x1401a7380]
shr eax, 3
add eax, 8
add r12, rax
mov cl, byte [rsi + r12]
jmp 0x1400a78c0
cmp byte [rsp + 0x110], 0
je 0x1400a8141
mov rcx, r14
mov rsi, r9
call fcn.1400a7008
xor ecx, ecx
mov byte [r14], cl
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 2
mov byte [r14 + 9], al
mov byte [r14 + 0xa], cl
mov qword [r14], rsi
jmp 0x1400a82cf
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 1
jmp 0x1400a82cc
xor eax, eax
cmp rdx, rbx
setb al
add r13, rbp
add rbp, qword [rsp + 0x48]
lea rcx, [rsp + 0x38]
and ecx, 0xffff00
or rcx, rax
mov qword [r14], r13
mov qword [r14 + 8], rcx
jmp 0x1400a82cf
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 0
mov qword [r14], r9
jmp 0x1400a82cf
add r15b, 0x30
mov al, 1
mov byte [rdi + 6], al
mov byte [rdi + 7], r15b
mov r14, qword [rsp + 0x58]
mov word [r14 + 8], 0x102
mov byte [r14 + 0xa], al
jmp 0x1400a82cc
add r15b, 0x30
mov al, 1
mov byte [rdi + 6], al
mov byte [rdi + 7], r15b
mov byte [rdi + 8], al
mov al, byte [rsp + 0x68]
mov byte [rdi + 9], al
mov r14, qword [rsp + 0x58]
mov word [r14 + 8], 0x102
mov byte [r14 + 0xa], 2
jmp 0x1400a82cc
mov r14, qword [rsp + 0x58]
mov word [r14 + 8], 0x402
mov byte [r14 + 0xa], 0
inc r13
jmp 0x1400a82cc
cmp byte [rsp + 0x110], 0
je 0x1400a81ef
mov word [r14 + 8], 0x102
jmp 0x1400a82a6
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 2
test cl, cl
js 0x1400a8278
mov word [r14 + 9], 1
jmp 0x1400a82cc
mov byte [rdi + 8], 1
mov byte [rdi + 9], al
mov byte [r14 + 8], 0
jmp 0x1400a8100
cmp byte [rsp + 0x110], 0
je 0x1400a8266
mov word [r14 + 8], 0x202
mov byte [r14 + 0xa], 0
jmp 0x1400a82cc
or r11b, 0x30
mov al, 1
mov byte [rdi + 6], al
mov byte [rdi + 7], r11b
jmp 0x1400a8165
cmp byte [rsp + 0x110], 0
je 0x1400a827d
mov word [r14 + 8], 0x302
mov byte [r14 + 0xa], 0
jmp 0x1400a8290
or r11b, 0x30
mov al, 1
mov byte [rdi + 6], al
mov byte [rdi + 7], r11b
mov byte [rdi + 8], al
mov byte [rdi + 9], cl
mov word [r14 + 8], 0x102
mov byte [r14 + 0xa], 2
jmp 0x1400a8290
mov byte [rdi + 8], 2
mov byte [rdi + 9], al
mov byte [rdi + 0xa], r11b
mov byte [r14 + 8], 0
jmp 0x1400a82cc
inc r13
jmp 0x1400a82c5
mov byte [rdi + 8], 3
mov byte [rdi + 9], al
mov byte [rdi + 0xa], r11b
mov byte [rdi + 0xb], cl
mov byte [r14 + 8], 0
mov qword [r14], rdx
jmp 0x1400a82cf
mov eax, 1
jmp 0x1400a8127
mov word [r14 + 8], 0x402
mov byte [r14 + 0xa], 0
jmp 0x1400a8100
mov byte [r14 + 8], 2
test dl, dl
js 0x1400a82c5
mov word [r14 + 9], 1
jmp 0x1400a8100
mov word [r14 + 9], 2
mov qword [r14], r13
mov qword [r14 + 0x10], rbp
mov rax, r14
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1401a72e0]
mov edx, 0x77c
call fcn.14016c200
lea r8, [0x1401a72e0]
mov edx, 0xce
call fcn.14016c200
lea r8, [0x1401a72c8]
mov edx, 0x77c
jmp 0x1400a835c
lea r8, [0x1401a72c8]
mov edx, 0xce
mov rcx, r9
call fcn.14016c200
lea r8, [0x1401a72e0]
mov edx, 0x65b
call fcn.14016c200
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcgb18030.rsC:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.34_srcdata.rs
mov edx, 0x65
call fcn.14016c200
lea r8, [0x1401a72c8]
mov edx, 0x65b
mov rcx, r10
call fcn.14016c200
lea r8, [0x1401a72e0]
mov edx, 0x3b
call fcn.14016c200
lea r8, [0x1401a72e0]
mov edx, 0x2b
call fcn.14016c200
lea r8, [0x1401a72c8]
mov edx, 0x3b
jmp 0x1400a8326
lea r8, [0x1401a72c8]
mov edx, 0x2b
jmp 0x1400a8326