Function at 0x140096ed0
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 r12, r9
mov r15, r8
mov rax, rdx
mov rbx, rcx
movzx ebp, byte [rsp + 0xe0]
mov r11, qword [rsp + 0xd8]
mov r10, qword [rsp + 0xd0]
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
cmp byte [rdx], 0
je 0x140096f88
movzx ecx, byte [rax + 1]
mov byte [rax], 0
test r12, r12
je 0x140096f9c
cmp r11, 2
jbe 0x140096fad
mov qword [rsp + 0x60], rax
movzx eax, byte [r15]
cmp cl, 0x1f
jbe 0x140096fcb
lea r8d, [rax + 0x5f]
lea r9d, [rcx - 0x20]
cmp r8b, 0x5e
jae 0x140096fd9
movzx eax, r9b
imul rsi, rax, 0x5e
movzx eax, r8b
lea r9, [rsi + rax]
add r9, 0xfffffffffffffa7e
add rsi, rax
cmp r9, 0x92e
jae 0x1400970aa
lea rax, [0x14018dbe8]
movzx esi, word [rax + rsi*2 - 0xb04]
jmp 0x140097111
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x28], rbx
xor eax, eax
xor r10d, r10d
jmp 0x140097212
test bpl, bpl
je 0x140096fb3
mov word [rbx + 8], 0x102
mov byte [rbx + 0xa], 0
jmp 0x140096fb7
mov byte [rbx + 8], 1
jmp 0x140096fb7
mov byte [rbx + 8], 0
mov qword [rbx], 0
mov qword [rbx + 0x10], 0
jmp 0x140097a25
lea r8d, [rax + 0x7f]
cmp r8b, 0x7e
jae 0x140096fed
add al, 0xb3
jmp 0x140096ffd
lea ecx, [rax + 0x7f]
cmp cl, 0x20
jae 0x1400970ce
lea ecx, [rax - 0x4d]
jmp 0x14009712e
lea r8d, [rax - 0x61]
cmp r8b, 0x1a
jae 0x1400970db
add al, 0xb9
mov r8d, eax
mov rdx, r11
movzx eax, cl
movzx eax, ax
imul eax, eax, 0xb2
movzx esi, r8b
add esi, eax
mov ecx, 0x437
xor r8d, r8d
lea rax, [0x14018c2b0]
mov r9d, 0xff
mov r11d, 0x437
jmp 0x140097048
mov r11, rcx
sub rcx, r8
jbe 0x14009707d
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x140097040
movzx r8d, dil
cmp r8d, 0xff
jne 0x14009709a
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x140097048
lea rcx, [r8 - 1]
cmp rcx, 0x437
jae 0x140097ba3
lea rcx, [0x14018cb1e]
jmp 0x1400971c9
lea rax, [0x14018cb1e]
movzx esi, word [rax + rcx*2]
jmp 0x1400971d5
cmp esi, 0xa5
jae 0x1400970ee
lea rax, [0x140191474]
movzx esi, word [rax + rsi*2]
cmp esi, 0x800
jae 0x1400971d8
jmp 0x140097a7f
lea ecx, [rax - 0x61]
cmp cl, 0x1a
jae 0x140097122
lea ecx, [rax - 0x47]
jmp 0x14009712e
lea r8d, [rax - 0x41]
cmp r8b, 0x1a
jb 0x140097000
jmp 0x14009798a
lea r9, [rsi - 0xf0e]
cmp r9, 0x1318
jae 0x140097a49
lea rax, str.OsOGP
movzx esi, word [rax + rsi*2 - 0x1e1c]
mov eax, esi
shr eax, 0xc
or al, 0xe0
mov byte [r10], al
mov eax, esi
jmp 0x1400971e6
lea ecx, [rax - 0x41]
cmp cl, 0x1a
jae 0x14009798a
movzx r8d, r9b
imul r8, r8, 0x54
movzx esi, cl
add rsi, r8
cmp rsi, 0xc36
jae 0x14009798a
mov rdx, r11
mov ecx, 0x217
xor r8d, r8d
lea rax, [0x14018d38c]
mov r9d, 0xff
mov r11d, 0x217
jmp 0x140097178
mov r11, rcx
sub rcx, r8
jbe 0x1400971b1
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x140097170
movzx r8d, dil
cmp r8d, 0xff
jne 0x140097a39
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x140097178
lea rcx, [r8 - 1]
cmp rcx, 0x217
jae 0x140097bbd
lea rcx, [0x14018d7ba]
add si, word [rcx + r8*2 - 2]
sub si, word [rax + r8*2 - 2]
mov r11, rdx
movzx eax, si
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [r10], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r10 + 1], al
mov eax, 3
mov ecx, 2
mov qword [rsp + 0x28], rbx
and sil, 0x3f
or sil, 0x80
mov byte [r10 + rcx], sil
mov r10d, 1
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r11
sub r11, rax
jb 0x140097bf1
mov r13, r12
mov edx, ebp
mov r12, r15
add r15, r10
mov r14, qword [rsp + 0x40]
mov r8, r13
mov r9, r13
sub r9, r10
cmp r11, r9
mov rbp, r9
cmovb rbp, r11
lea rsi, [r14 + rax]
mov ecx, r15d
xor ecx, esi
test cl, 7
jne 0x14009726c
mov ecx, r15d
neg ecx
and ecx, 7
lea r8, [rcx + 0x10]
cmp r8, rbp
jbe 0x14009729f
xor ebx, ebx
lea r13, [0x14018c2b0]
cmp rbx, rbp
jae 0x140097937
nop
movzx edi, byte [r15 + rbx]
test dil, dil
js 0x140097380
mov byte [rsi + rbx], dil
inc rbx
cmp rbp, rbx
jne 0x140097280
jmp 0x140097937
test rcx, rcx
je 0x140097875
movzx edi, byte [r15]
test dil, dil
js 0x1400978e8
mov byte [rsi], dil
mov ebx, 1
cmp ecx, 1
lea r13, [0x14018c2b0]
je 0x14009787e
movzx edi, byte [r15 + 1]
test dil, dil
js 0x140097380
mov byte [rsi + 1], dil
mov ebx, 2
cmp ecx, 2
je 0x14009787e
movzx edi, byte [r15 + 2]
test dil, dil
js 0x140097380
mov byte [rsi + 2], dil
mov ebx, 3
cmp ecx, 3
je 0x14009787e
movzx edi, byte [r15 + 3]
test dil, dil
js 0x140097380
mov byte [rsi + 3], dil
mov ebx, 4
cmp ecx, 4
je 0x14009787e
movzx edi, byte [r15 + 4]
test dil, dil
js 0x140097380
mov byte [rsi + 4], dil
mov ebx, 5
cmp ecx, 5
je 0x14009787e
movzx edi, byte [r15 + 5]
test dil, dil
js 0x140097380
mov byte [rsi + 5], dil
mov ebx, 6
cmp ecx, 6
je 0x14009787e
movzx edi, byte [r15 + 6]
test dil, dil
js 0x140097380
mov byte [rsi + 6], dil
mov ebx, 7
jmp 0x14009787e
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov ebp, edx
mov rdx, qword [rsp + 0x30]
add r10, rbx
lea rcx, [rbx + rax]
mov qword [rsp + 0x50], rcx
add rax, rbx
add rax, 2
cmp rax, rdx
lea r14, [0x14018d38c]
jae 0x1400979e6
inc r10
lea r9d, [rdi + 0x7f]
mov rax, rcx
cmp r9b, 0x7d
mov ebx, 0xff
ja 0x1400979a2
cmp r10, r12
jae 0x14009799d
movzx edx, byte [r15 + r10]
lea r11, [r10 + 1]
cmp r9b, 0x1f
jbe 0x140097430
lea ecx, [rdx + 0x5f]
add dil, 0x5f
cmp cl, 0x5e
jae 0x14009743d
movzx edx, dil
imul rdx, rdx, 0x5e
movzx esi, cl
lea r8, [rdx + rsi]
add r8, 0xfffffffffffffa7e
add rdx, rsi
cmp r8, 0x92e
jae 0x14009745c
lea rcx, [0x14018dbe8]
movzx ecx, word [rcx + rdx*2 - 0xb04]
jmp 0x140097643
lea ecx, [rdx + 0x7f]
cmp cl, 0x7e
jae 0x14009744d
add dl, 0xb3
jmp 0x140097458
lea ecx, [rdx + 0x7f]
cmp cl, 0x20
jae 0x1400974a4
lea ecx, [rdx - 0x4d]
jmp 0x14009759d
lea ecx, [rdx - 0x61]
cmp cl, 0x1a
jae 0x1400974b8
add dl, 0xb9
mov ecx, edx
jmp 0x1400974c4
cmp edx, 0xa5
jae 0x140097569
lea rcx, [0x140191474]
movzx ecx, word [rcx + rdx*2]
cmp ecx, 0x800
jae 0x140097561
mov edx, ecx
shr edx, 6
or dl, 0xc0
mov r8, qword [rsp + 0x40]
mov byte [r8 + rax], dl
and cl, 0x3f
or cl, 0x80
mov byte [r8 + rax + 1], cl
add rax, 2
jmp 0x140097673
lea ecx, [rdx - 0x61]
cmp cl, 0x1a
jae 0x140097591
lea ecx, [rdx - 0x47]
jmp 0x14009759d
lea ecx, [rdx - 0x41]
cmp cl, 0x1a
jae 0x140097a07
movzx edx, r9b
imul edx, edx, 0xb2
movzx ecx, cl
add ecx, edx
mov edx, 0x437
xor r9d, r9d
mov esi, 0x437
jmp 0x1400974f8
mov rsi, rdx
sub rdx, r9
jbe 0x140097530
shr rdx, 1
add rdx, r9
xor r8d, r8d
cmp word [r13 + rdx*2], cx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x1400974f0
movzx r8d, r8b
cmp r8d, 0xff
jne 0x140097556
inc rdx
mov r9, rdx
mov rdx, rsi
sub rdx, r9
ja 0x1400974f8
lea rdx, [r9 - 1]
cmp rdx, 0x437
jae 0x140097ba3
lea rdx, [0x14018cb1e]
add cx, word [rdx + r9*2 - 2]
sub cx, word [r13 + r9*2 - 2]
jmp 0x140097561
lea rcx, [0x14018cb1e]
movzx ecx, word [rcx + rdx*2]
movzx ecx, cx
jmp 0x140097643
lea r8, [rdx - 0xf0e]
cmp r8, 0x1318
jae 0x1400976f9
lea rcx, str.OsOGP
movzx ecx, word [rcx + rdx*2 - 0x1e1c]
jmp 0x140097643
lea ecx, [rdx - 0x41]
cmp cl, 0x1a
jae 0x140097a07
movzx r8d, dil
imul r8, r8, 0x54
movzx ecx, cl
add rcx, r8
cmp rcx, 0xc36
jae 0x140097a07
mov edx, 0x217
xor r9d, r9d
mov esi, 0x217
jmp 0x1400975d8
mov rsi, rdx
sub rdx, r9
jbe 0x14009760f
shr rdx, 1
add rdx, r9
xor r8d, r8d
cmp word [r14 + rdx*2], cx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x1400975d0
movzx r8d, r8b
cmp r8d, 0xff
jne 0x140097635
inc rdx
mov r9, rdx
mov rdx, rsi
sub rdx, r9
ja 0x1400975d8
lea rdx, [r9 - 1]
cmp rdx, 0x217
jae 0x140097bbd
lea rdx, [0x14018d7ba]
add cx, word [rdx + r9*2 - 2]
sub cx, word [r14 + r9*2 - 2]
jmp 0x140097640
lea rcx, [0x14018d7ba]
movzx ecx, word [rcx + rdx*2]
movzx ecx, cx
mov edx, ecx
shr edx, 0xc
or dl, 0xe0
mov r8, qword [rsp + 0x40]
mov byte [r8 + rax], dl
mov edx, ecx
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [r8 + rax + 1], dl
and cl, 0x3f
or cl, 0x80
mov byte [r8 + rax + 2], cl
add rax, 3
mov qword [rsp + 0x50], rax
cmp r11, r12
jae 0x1400979b3
lea rcx, [rax + 2]
cmp rcx, qword [rsp + 0x48]
jae 0x1400979c1
movzx edi, byte [r15 + r10 + 1]
add r10, 2
test dil, dil
js 0x1400976e6
nop
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax], dil
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + 1]
mov qword [rsp + 0x50], rax
cmp dil, 0x3b
ja 0x140097862
cmp r12, r10
je 0x14009796b
add rcx, 3
cmp rcx, qword [rsp + 0x48]
jae 0x14009797c
movzx edi, byte [r15 + r10]
inc r10
test dil, dil
jns 0x1400976a0
lea r9d, [rdi + 0x7f]
cmp r9b, 0x7d
jbe 0x1400973cd
jmp 0x1400979a2
cmp r9b, 0x27
jne 0x140097719
cmp cl, 0xf
jae 0x140097719
lea rcx, [0x1401915be]
movzx ecx, word [rcx + rsi*2]
test cx, cx
jne 0x14009772f
jmp 0x140097b55
cmp r9b, 0x28
jne 0x14009776a
cmp cl, 0x10
jae 0x14009776a
lea rcx, [0x1401915dc]
movzx ecx, word [rcx + rsi*2]
mov edx, ecx
shr edx, 6
or dl, 0xc0
mov r8, qword [rsp + 0x40]
mov byte [r8 + rax], dl
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
lea r8, [rdx + 1]
mov qword [rsp + 0x50], r8
and cl, 0x3f
or cl, 0x80
mov byte [rax + rdx + 1], cl
mov rax, qword [rsp + 0x50]
inc rax
jmp 0x140097673
cmp r9b, 0x25
jne 0x140097785
cmp cl, 0x44
jae 0x140097785
lea rcx, [0x1401915fc]
movzx ecx, word [rcx + rsi*2]
jmp 0x140097643
add rdx, 0xffffffffffffff44
cmp rdx, 0x39f
jae 0x140097b55
mov ecx, 0x4d
xor r9d, r9d
mov esi, 0x4d
jmp 0x1400977b0
mov rsi, rcx
sub rcx, r9
jbe 0x1400977ed
shr rcx, 1
add rcx, r9
xor r8d, r8d
lea rdi, [0x140191684]
cmp word [rdi + rcx*2], dx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x1400977a8
movzx r8d, r8b
cmp r8d, 0xff
jne 0x140097817
inc rcx
mov r9, rcx
mov rcx, rsi
sub rcx, r9
ja 0x1400977b0
lea rcx, [r9 - 1]
cmp rcx, 0x4d
jae 0x140097bd7
lea rcx, [0x140191720]
add dx, word [rcx + r9*2 - 2]
lea rcx, [0x140191684]
sub dx, word [rcx + r9*2 - 2]
jmp 0x140097822
lea rdx, [0x140191720]
movzx edx, word [rdx + rcx*2]
movzx ecx, dx
cmp ecx, 0x80
jb 0x140097b55
cmp ecx, 0x800
jae 0x140097643
mov ecx, edx
shr ecx, 6
or cl, 0xc0
mov r8, qword [rsp + 0x40]
mov byte [r8 + rax], cl
and dl, 0x3f
or dl, 0x80
mov byte [r8 + rax + 1], dl
add rax, 2
jmp 0x140097673
mov r11, qword [rsp + 0x48]
cmp r10, r12
jbe 0x14009721c
jmp 0x140097c07
xor ebx, ebx
lea r13, [0x14018c2b0]
lea rcx, [rbp - 0x10]
lea rdi, [r14 + rax]
add rdi, 8
nop word [rax + rax]
mov r8, qword [r15 + rbx]
mov r12, qword [r15 + rbx + 8]
mov qword [rdi + rbx - 8], r8
mov qword [rdi + rbx], r12
movabs r14, 0x8080808080808080
and r8, r14
and r12, r14
mov r14, r12
or r14, r8
jne 0x1400978c8
add rbx, 0x10
cmp rbx, rcx
jbe 0x140097890
jmp 0x140097275
test r8, r8
je 0x1400978fe
tzcnt rcx, r8
shr ecx, 3
mov r12, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
mov ebp, edx
mov rdx, qword [rsp + 0x30]
jmp 0x140097927
xor ebx, ebx
mov ebp, edx
mov r15, r12
mov r12, r13
lea r13, [0x14018c2b0]
jmp 0x14009738c
test r12, r12
mov ebp, edx
mov rdx, qword [rsp + 0x30]
je 0x140097911
tzcnt rcx, r12
jmp 0x140097916
mov ecx, 0x40
mov r12, qword [rsp + 0x38]
shr ecx, 3
add rcx, 8
mov r8, qword [rsp + 0x58]
add rbx, rcx
movzx edi, byte [r15 + rbx]
mov r15, r8
jmp 0x140097391
xor edx, edx
cmp r11, r9
setb dl
add r10, rbp
add rax, rbp
mov rcx, rax
lea rax, [rsp + 0x40]
and rax, 0xffffffffffffff00
or rax, rdx
mov rbx, qword [rsp + 0x28]
mov qword [rbx], r10
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rcx
jmp 0x140097a25
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 0
mov qword [rbx], r12
jmp 0x140097a21
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 1
jmp 0x140097a1e
mov byte [rbx + 8], 2
test al, al
js 0x1400979cf
mov word [rbx + 9], 1
jmp 0x140096fb7
test bpl, bpl
je 0x1400979f0
mov rbx, qword [rsp + 0x28]
mov word [rbx + 8], 0x102
mov byte [rbx + 0xa], 0
jmp 0x140097a1e
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 0
mov qword [rbx], r11
jmp 0x140097a21
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 1
mov qword [rbx], r11
jmp 0x140097a21
mov word [rbx + 9], 2
mov qword [rbx], 1
mov qword [rbx + 0x10], 0
jmp 0x140097a25
mov edx, 1
jmp 0x140097948
mov rcx, qword [rsp + 0x60]
mov byte [rcx], 1
mov byte [rcx + 1], r9b
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 0
jmp 0x140097a1e
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 2
test dl, dl
js 0x140097a98
mov word [rbx + 9], 1
mov qword [rbx], r10
mov qword [rbx + 0x10], rax
mov rax, rbx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x14018d7ba]
movzx esi, word [rax + rcx*2]
jmp 0x1400971d5
cmp cl, 0x27
jne 0x140097a69
cmp r8b, 0xf
jae 0x140097a69
lea rcx, [0x1401915be]
movzx esi, word [rcx + rax*2]
test si, si
jne 0x140097a7f
jmp 0x140097b84
cmp cl, 0x28
jne 0x140097aa6
cmp r8b, 0x10
jae 0x140097aa6
lea rcx, [0x1401915dc]
movzx esi, word [rcx + rax*2]
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [r10], al
mov eax, 2
mov ecx, 1
jmp 0x1400971fb
mov word [rbx + 9], 2
mov qword [rbx], r11
jmp 0x140097a21
cmp cl, 0x25
jne 0x140097ac1
cmp r8b, 0x44
jae 0x140097ac1
lea rcx, [0x1401915fc]
movzx esi, word [rcx + rax*2]
jmp 0x140097111
add rsi, 0xffffffffffffff44
cmp rsi, 0x39f
jae 0x140097b84
mov rdx, r11
mov ecx, 0x4d
xor r8d, r8d
lea rax, [0x140191684]
mov r9d, 0xff
mov r11d, 0x4d
jmp 0x140097afd
mov r11, rcx
sub rcx, r8
jbe 0x140097b32
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x140097af5
movzx r8d, dil
cmp r8d, 0xff
jne 0x140097b6c
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x140097afd
lea rcx, [r8 - 1]
cmp rcx, 0x4d
jae 0x140097bd7
lea rcx, [0x140191720]
add si, word [rcx + r8*2 - 2]
sub si, word [rax + r8*2 - 2]
jmp 0x140097b77
mov rbx, qword [rsp + 0x28]
mov word [rbx + 8], 0x202
mov byte [rbx + 0xa], 0
mov qword [rbx], r11
jmp 0x140097a21
lea rax, [0x140191720]
movzx esi, word [rax + rcx*2]
mov r11, rdx
movzx eax, si
cmp eax, 0x80
jae 0x140097b93
mov word [rbx + 8], 0x202
mov byte [rbx + 0xa], 0
jmp 0x1400979d5
cmp eax, 0x800
jae 0x1400971db
jmp 0x140097a7f
lea r8, str.C:UsersEge.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x437
mov rcx, 0xffffffffffffffff
call fcn.140168c60
ud2
lea r8, str.C:UsersEge.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x217
mov rcx, 0xffffffffffffffff
call fcn.140168c60
ud2
lea r8, str.C:UsersEge.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x4d
mov rcx, 0xffffffffffffffff
call fcn.140168c60
ud2
lea r8, str.C:UsersEge.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srchandles.rs
mov rcx, rax
mov rdx, qword [rsp + 0x30]
call fcn.140169010
ud2
lea r8, str.C:UsersEge.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srchandles.rs
mov rcx, r10
mov rdx, r12
call fcn.140169010
ud2