Function at 0x1400a7193
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 0x1400a71fa
cmp r10, 2
jbe 0x1400a78ec
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 0x1400a7201
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 0x1400a78fc
cmp r9, r13
je 0x1400a81e4
lea rbx, [rbp + 3]
cmp rbx, r10
jae 0x1400a8218
mov cl, byte [r8 + r13]
mov byte [r14], 0
cmp al, 1
je 0x1400a72eb
movzx eax, al
cmp eax, 2
jne 0x1400a7334
add cl, 0x7f
cmp cl, 0x7d
ja 0x1400a8263
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 0x1400a7658
lea edx, [rcx - 0x30]
cmp dl, 9
jbe 0x1400a7391
cmp r11b, 0x1f
jbe 0x1400a7403
lea eax, [rcx + 0x5f]
cmp al, 0x5e
jae 0x1400a74eb
movzx r12d, al
cmp byte [rsp + 0x78], 0x48
jae 0x1400a7697
add r12d, dword [rsp + 0x80]
lea rax, [0x1404a33d8]
movzx eax, word [rax + r12*2]
jmp 0x1400a774b
add cl, 0xd0
cmp cl, 9
ja 0x1400a8285
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 0x1400a73a6
cmp r12d, 0x1d21
jne 0x1400a748e
mov rsi, qword [rsp + 0x38]
mov word [rsi + rbp], 0x9fee
mov byte [rsi + rbp + 2], 0x87
jmp 0x1400a7772
mov byte [rdi + 8], 2
mov byte [rdi + 9], r11b
mov byte [rdi + 0xa], dl
mov al, 2
mov r15d, edx
jmp 0x1400a7658
lea rax, [r12 - 0x2e248]
cmp rax, 0x100000
jae 0x1400a82b2
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 0x1400a7651
lea eax, [rcx - 0x40]
cmp al, 0x3e
jbe 0x1400a7418
cmp cl, 0xfe
jg 0x1400a82e1
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, [0x14049fac4]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r10, rdx
test rax, rax
je 0x1400a7598
mov rcx, r10
dec rcx
cmp rcx, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a83fa
lea rax, [0x1404a09bc]
add r12w, word [rax + r10*2 - 2]
lea rax, [0x14049fac4]
sub r12w, word [rax + r10*2 - 2]
jmp 0x1400a75b6
mov rsi, r10
mov word [rsp + 0x26], r12w
mov edx, 0xce
lea rcx, [0x1404a6a8e]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a75fd
mov rcx, r9
dec rcx
cmp rcx, 0xce
jae 0x1400a840b
lea rax, [0x1404a6c2a]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1404a6a8e]
sub r12w, word [rax + r9*2 - 2]
jmp 0x1400a7616
lea eax, [rcx - 0x40]
cmp al, 0x3e
jbe 0x1400a7500
cmp cl, 0xa0
jg 0x1400a82e1
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 0x1400a76c9
mov r12d, r15d
mov r15, rdi
mov rdi, r14
mov r14, r10
mov word [rsp + 0x26], si
mov edx, 0x65b
lea rcx, [0x1404a18b4]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r10, rdx
test rax, rax
je 0x1400a777e
mov rcx, r10
dec rcx
cmp rcx, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r11, qword [rsp + 0x60]
jae 0x1400a843e
lea rax, [0x1404a256a]
add si, word [rax + r10*2 - 2]
lea rax, [0x1404a18b4]
sub si, word [rax + r10*2 - 2]
jmp 0x1400a77a6
cmp r10, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a841c
lea rax, [0x1404a09bc]
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 0x1400a765b
cmp r9, 0xce
jae 0x1400a842a
lea rax, [0x1404a6c2a]
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 0x1400a7666
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 0x1400a7293
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 0x1400a7772
cmp r11d, 0x20
je 0x1400a7800
cmp r11d, 0x25
je 0x1400a77e8
cmp r11d, 0x27
jne 0x1400a7847
cmp al, 0x20
jae 0x1400a786b
lea rax, [0x1404a69a0]
jmp 0x1400a7807
add r12, rax
cmp r12d, 0x360
jae 0x1400a7729
mov rsi, r10
mov word [rsp + 0x26], r12w
mov edx, 0x3b
lea rcx, [0x1404a3220]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a78c0
mov rcx, r9
dec rcx
cmp rcx, 0x3b
jae 0x1400a8474
lea rax, [0x1404a3298]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1404a3220]
jmp 0x1400a74e0
lea rcx, [r12 - 0x22db]
cmp rcx, 0x65
jae 0x1400a844f
lea rax, [0x1404a330e]
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 0x1400a765b
cmp r10, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r11, qword [rsp + 0x60]
jae 0x1400a8460
lea rax, [0x1404a256a]
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 0x1400a765b
add cl, 0x20
cmp cl, 0x15
ja 0x1400a786b
movzx eax, cl
lea rcx, [0x1404a6974]
movzx eax, word [rcx + rax*2]
jmp 0x1400a780c
lea rax, [0x1404a68b8]
movzx eax, word [rax + r12*2]
cmp ax, 0x800
jae 0x1400a782f
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 0x1400a764d
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov rsi, qword [rsp + 0x38]
mov byte [rsi + rbp], dl
jmp 0x1400a775d
cmp r11b, 0x76
jbe 0x1400a786b
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 0x1400a767a
mov rsi, r10
add r12d, dword [rsp + 0x74]
mov word [rsp + 0x26], r12w
mov edx, 0x2b
lea rcx, [0x1404a69e0]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a78d6
mov rcx, r9
dec rcx
cmp rcx, 0x2b
jae 0x1400a8485
lea rax, [0x1404a6a38]
add r12w, word [rax + r9*2 - 2]
lea rax, [0x1404a69e0]
jmp 0x1400a74e0
cmp r9, 0x3b
jae 0x1400a8496
lea rax, [0x1404a3298]
jmp 0x1400a7611
cmp r9, 0x2b
jae 0x1400a84a4
lea rax, [0x1404a6a38]
jmp 0x1400a7611
mov byte [r14 + 8], 1
and qword [r14], 0
xor ebp, ebp
jmp 0x1400a83df
mov r14, qword [rsp + 0x38]
lea rax, [0x1404a7428]
lea r12, [0x1404a7440]
mov r15, qword [rsp + 0x40]
mov rcx, r13
mov rdx, r8
mov r8, r9
mov r9, rax
call fcn.14003ce6a
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.14003ce6a
cmp rdx, rbx
mov rbp, rbx
cmovb rbp, rdx
mov ecx, eax
xor ecx, esi
test cl, 7
je 0x1400a795e
xor r12d, r12d
mov r14, qword [rsp + 0x58]
jmp 0x1400a7979
mov r10d, esi
neg r10d
and r10d, 7
lea rcx, [r10 + 0x10]
cmp rcx, rbp
mov r14, qword [rsp + 0x58]
jbe 0x1400a799d
xor r12d, r12d
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
cmp r12, rbp
jae 0x1400a8227
mov cl, byte [rsi + r12]
test cl, cl
js 0x1400a79c4
mov byte [rax + r12], cl
inc r12
jmp 0x1400a7983
xor r12d, r12d
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
cmp r10, r12
je 0x1400a8113
mov cl, byte [rsi + r12]
test cl, cl
js 0x1400a79c4
mov byte [rax + r12], cl
inc r12
jmp 0x1400a79aa
lea r15, [0x1404a7440]
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 0x1400a83a5
inc r13
mov rsi, r13
lea eax, [rcx + 0x7f]
cmp al, 0x7d
ja 0x1400a814f
cmp rsi, r9
jae 0x1400a82cb
mov dl, byte [r8 + rsi]
lea r13, [rsi + 1]
lea r11d, [rdx - 0x30]
movzx r10d, al
cmp r11b, 9
jbe 0x1400a7a97
cmp al, 0x1f
jbe 0x1400a7b26
lea r11d, [rdx + 0x5f]
cmp r11b, 0x5e
jae 0x1400a7bff
lea r10d, [rcx + 0x50]
movzx r8d, r11b
cmp r10b, 0x48
jae 0x1400a7d4f
movzx eax, r10b
imul eax, eax, 0x5e
add eax, r8d
lea rcx, [0x1404a33d8]
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 0x1400a7e70
cmp r13, r9
jae 0x1400a8310
mov cl, byte [r8 + rsi + 1]
add cl, 0x7f
cmp cl, 0x7d
ja 0x1400a832b
lea rdx, [rsi + 2]
cmp rdx, r9
jae 0x1400a833d
mov al, byte [r8 + rsi + 2]
add al, 0xd0
cmp al, 9
ja 0x1400a8355
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 0x1400a7ba5
cmp ebx, 0x1d21
jne 0x1400a7c9c
mov r10, qword [rsp + 0x38]
mov word [r10 + rbp], 0x9fee
mov byte [r10 + rbp + 2], 0x87
jmp 0x1400a7e68
lea eax, [rdx - 0x40]
cmp al, 0x3e
jbe 0x1400a7b3b
cmp dl, 0xfe
jg 0x1400a83c0
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, [0x14049fac4]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r10, rdx
test rax, rax
je 0x1400a7cf5
mov rcx, r10
dec rcx
cmp rcx, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a83fa
lea rax, [0x1404a09bc]
add si, word [rax + r10*2 - 2]
lea rax, [0x14049fac4]
sub si, word [rax + r10*2 - 2]
jmp 0x1400a7d13
lea rax, [rbx - 0x2e248]
cmp rax, 0x100000
jae 0x1400a83af
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 0x1400a7e6d
lea eax, [rdx - 0x40]
cmp al, 0x3e
jbe 0x1400a7c14
cmp dl, 0xa0
jg 0x1400a83c0
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 0x1400a7d91
mov word [rsp + 0x26], bx
mov edx, 0x65b
lea rcx, [0x1404a18b4]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r10, rdx
test rax, rax
je 0x1400a7ed1
mov rcx, r10
dec rcx
cmp rcx, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jae 0x1400a843e
lea rax, [0x1404a256a]
add bx, word [rax + r10*2 - 2]
lea rax, [0x1404a18b4]
sub bx, word [rax + r10*2 - 2]
jmp 0x1400a7ef4
mov word [rsp + 0x26], bx
mov edx, 0xce
lea rcx, [0x1404a6a8e]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a7df6
mov rcx, r9
dec rcx
cmp rcx, 0xce
jae 0x1400a840b
lea rax, [0x1404a6c2a]
add bx, word [rax + r9*2 - 2]
lea rax, [0x1404a6a8e]
sub bx, word [rax + r9*2 - 2]
jmp 0x1400a7e0f
cmp r10, 0x77c
mov r9, qword [rsp + 0x30]
jae 0x1400a841c
lea rax, [0x1404a09bc]
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 0x1400a7e70
cmp cl, 0xa1
je 0x1400a7f44
movzx r10d, cl
cmp r10d, 0xa6
je 0x1400a7efc
cmp r10d, 0xa8
jne 0x1400a7f7e
cmp r11b, 0x20
jae 0x1400a7f9b
lea rax, [0x1404a69a0]
movzx eax, word [rax + r8*2]
jmp 0x1400a7f16
add rsi, rax
cmp esi, 0x360
jae 0x1400a7ea7
mov word [rsp + 0x26], si
mov edx, 0x3b
lea rcx, [0x1404a3220]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a7ffd
mov rcx, r9
dec rcx
cmp rcx, 0x3b
jae 0x1400a8474
lea rax, [0x1404a3298]
add si, word [rax + r9*2 - 2]
lea rax, [0x1404a3220]
sub si, word [rax + r9*2 - 2]
jmp 0x1400a8013
cmp r9, 0xce
jae 0x1400a842a
lea rax, [0x1404a6c2a]
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 0x1400a7e42
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 0x1400a7e6d
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 0x1400a8381
lea rax, [rbp + 3]
cmp rax, qword [rsp + 0x40]
jae 0x1400a821d
mov cl, byte [r8 + r13]
inc r13
mov rsi, r13
test cl, cl
js 0x1400a79f7
jmp 0x1400a8174
lea rcx, [rsi - 0x22db]
cmp rcx, 0x65
mov r8, qword [rsp + 0x28]
jae 0x1400a844f
lea rax, [0x1404a330e]
movzx eax, word [rax + rsi*2 - 0x45b6]
jmp 0x1400a7d1b
cmp r10, 0x65b
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jae 0x1400a8460
lea rax, [0x1404a256a]
movzx ebx, word [rax + r10*2]
movzx eax, bx
jmp 0x1400a7d1b
add dl, 0x20
cmp dl, 0x15
ja 0x1400a7f9b
movzx eax, dl
lea rcx, [0x1404a6974]
movzx eax, word [rcx + rax*2]
mov r10, qword [rsp + 0x38]
cmp ax, 0x800
jae 0x1400a80eb
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 0x1400a7a8d
lea rax, [0x1404a68b8]
movzx eax, word [rax + r8*2]
mov r10, qword [rsp + 0x38]
cmp ax, 0x800
mov r8, qword [rsp + 0x28]
jae 0x1400a80ff
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 0x1400a80b4
cmp al, 0x76
jbe 0x1400a7f9b
add cl, 8
movzx eax, cl
imul eax, eax, 0x5e
add eax, r8d
add eax, 0xffffe234
movzx ecx, ax
jmp 0x1400a7a60
add cl, 0x5e
movzx eax, cl
imul esi, eax, 0x5e
add esi, r8d
mov word [rsp + 0x26], si
mov edx, 0x2b
lea rcx, [0x1404a69e0]
lea r8, [rsp + 0x26]
call fcn.1400a63c5
mov r9, rdx
test rax, rax
je 0x1400a8070
mov rcx, r9
dec rcx
cmp rcx, 0x2b
jae 0x1400a8485
lea rax, [0x1404a6a38]
add si, word [rax + r9*2 - 2]
lea rax, [0x1404a69e0]
sub si, word [rax + r9*2 - 2]
jmp 0x1400a8086
cmp r9, 0x3b
jae 0x1400a8496
lea rax, [0x1404a3298]
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 0x1400a8043
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 0x1400a80b4
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 0x1400a7d45
cmp r9, 0x2b
jae 0x1400a84a4
lea rax, [0x1404a6a38]
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 0x1400a80be
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 0x1400a7e70
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 0x1400a7d45
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov byte [r10 + rbp], dl
jmp 0x1400a7a71
movzx ecx, ax
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov byte [r10 + rbp], dl
jmp 0x1400a7d2e
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 0x1400a8192
add r12, 0x10
cmp r12, rcx
jbe 0x1400a8117
jmp 0x1400a7979
cmp cl, 0x80
jne 0x1400a82d5
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 0x1400a817e
mov r14, r10
mov byte [r10 + rbp], cl
inc rbp
mov qword [rsp + 0x48], rbp
lea rax, [0x1404a7428]
mov r12, r15
jmp 0x1400a790f
test r10, r10
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
je 0x1400a81b6
bsf rax, r10
shr eax, 3
lea r15, [0x1404a7440]
mov rdx, qword [rsp + 0x68]
jmp 0x1400a81d8
test r15, r15
mov rdx, qword [rsp + 0x68]
je 0x1400a81c6
bsf rax, r15
jmp 0x1400a81cb
mov eax, 0x40
lea r15, [0x1404a7440]
shr eax, 3
add eax, 8
add r12, rax
mov cl, byte [rsi + r12]
jmp 0x1400a79d0
cmp byte [rsp + 0x110], 0
je 0x1400a8251
mov rcx, r14
mov rsi, r9
call fcn.1400a7118
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 0x1400a83df
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 1
jmp 0x1400a83dc
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 0x1400a83df
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 0
mov qword [r14], r9
jmp 0x1400a83df
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 0x1400a83dc
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 0x1400a83dc
mov r14, qword [rsp + 0x58]
mov word [r14 + 8], 0x402
mov byte [r14 + 0xa], 0
inc r13
jmp 0x1400a83dc
cmp byte [rsp + 0x110], 0
je 0x1400a82ff
mov word [r14 + 8], 0x102
jmp 0x1400a83b6
mov r14, qword [rsp + 0x58]
mov byte [r14 + 8], 2
test cl, cl
js 0x1400a8388
mov word [r14 + 9], 1
jmp 0x1400a83dc
mov byte [rdi + 8], 1
mov byte [rdi + 9], al
mov byte [r14 + 8], 0
jmp 0x1400a8210
cmp byte [rsp + 0x110], 0
je 0x1400a8376
mov word [r14 + 8], 0x202
mov byte [r14 + 0xa], 0
jmp 0x1400a83dc
or r11b, 0x30
mov al, 1
mov byte [rdi + 6], al
mov byte [rdi + 7], r11b
jmp 0x1400a8275
cmp byte [rsp + 0x110], 0
je 0x1400a838d
mov word [r14 + 8], 0x302
mov byte [r14 + 0xa], 0
jmp 0x1400a83a0
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 0x1400a83a0
mov byte [rdi + 8], 2
mov byte [rdi + 9], al
mov byte [rdi + 0xa], r11b
mov byte [r14 + 8], 0
jmp 0x1400a83dc
inc r13
jmp 0x1400a83d5
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 0x1400a83df
mov eax, 1
jmp 0x1400a8237
mov word [r14 + 8], 0x402
mov byte [r14 + 0xa], 0
jmp 0x1400a8210
mov byte [r14 + 8], 2
test dl, dl
js 0x1400a83d5
mov word [r14 + 9], 1
jmp 0x1400a8210
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, [0x1404a73a0]
mov edx, 0x77c
call fcn.14016c310
lea r8, [0x1404a73a0]
mov edx, 0xce
call fcn.14016c310
lea r8, [0x1404a7388]
mov edx, 0x77c
jmp 0x1400a846c
lea r8, [0x1404a7388]
mov edx, 0xce
mov rcx, r9
call fcn.14016c310
lea r8, [0x1404a73a0]
mov edx, 0x65b
call fcn.14016c310
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.14016c310
lea r8, [0x1404a7388]
mov edx, 0x65b
mov rcx, r10
call fcn.14016c310
lea r8, [0x1404a73a0]
mov edx, 0x3b
call fcn.14016c310
lea r8, [0x1404a73a0]
mov edx, 0x2b
call fcn.14016c310
lea r8, [0x1404a7388]
mov edx, 0x3b
jmp 0x1400a8436
lea r8, [0x1404a7388]
mov edx, 0x2b
jmp 0x1400a8436