Function at 0x1401128a0
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 0x140112958
movzx ecx, byte [rax + 1]
mov byte [rax], 0
test r12, r12
je 0x14011296c
cmp r11, 2
jbe 0x14011297d
mov qword [rsp + 0x60], rax
movzx eax, byte [r15]
cmp cl, 0x1f
jbe 0x14011299b
lea r8d, [rax + 0x5f]
lea r9d, [rcx - 0x20]
cmp r8b, 0x5e
jae 0x1401129a9
movzx eax, r9b
imul rsi, rax, 0x5e
movzx eax, r8b
lea r9, [rsi + rax]
add r9, 0xfffffffffffffa7e
add rsi, rax
cmp r9, 0x92e
jae 0x140112a7a
lea rax, [0x14022dca0]
movzx esi, word [rax + rsi*2 - 0xb04]
jmp 0x140112ae1
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x28], rbx
xor eax, eax
xor r10d, r10d
jmp 0x140112be2
test bpl, bpl
je 0x140112983
mov word [rbx + 8], 0x102
mov byte [rbx + 0xa], 0
jmp 0x140112987
mov byte [rbx + 8], 1
jmp 0x140112987
mov byte [rbx + 8], 0
mov qword [rbx], 0
mov qword [rbx + 0x10], 0
jmp 0x1401133f5
lea r8d, [rax + 0x7f]
cmp r8b, 0x7e
jae 0x1401129bd
add al, 0xb3
jmp 0x1401129cd
lea ecx, [rax + 0x7f]
cmp cl, 0x20
jae 0x140112a9e
lea ecx, [rax - 0x4d]
jmp 0x140112afe
lea r8d, [rax - 0x61]
cmp r8b, 0x1a
jae 0x140112aab
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, [0x14022c368]
mov r9d, 0xff
mov r11d, 0x437
jmp 0x140112a18
mov r11, rcx
sub rcx, r8
jbe 0x140112a4d
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x140112a10
movzx r8d, dil
cmp r8d, 0xff
jne 0x140112a6a
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x140112a18
lea rcx, [r8 - 1]
cmp rcx, 0x437
jae 0x140113573
lea rcx, [0x14022cbd6]
jmp 0x140112b99
lea rax, [0x14022cbd6]
movzx esi, word [rax + rcx*2]
jmp 0x140112ba5
cmp esi, 0xa5
jae 0x140112abe
lea rax, [0x14023152c]
movzx esi, word [rax + rsi*2]
cmp esi, 0x800
jae 0x140112ba8
jmp 0x14011344f
lea ecx, [rax - 0x61]
cmp cl, 0x1a
jae 0x140112af2
lea ecx, [rax - 0x47]
jmp 0x140112afe
lea r8d, [rax - 0x41]
cmp r8b, 0x1a
jb 0x1401129d0
jmp 0x14011335a
lea r9, [rsi - 0xf0e]
cmp r9, 0x1318
jae 0x140113419
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 0x140112bb6
lea ecx, [rax - 0x41]
cmp cl, 0x1a
jae 0x14011335a
movzx r8d, r9b
imul r8, r8, 0x54
movzx esi, cl
add rsi, r8
cmp rsi, 0xc36
jae 0x14011335a
mov rdx, r11
mov ecx, 0x217
xor r8d, r8d
lea rax, [0x14022d444]
mov r9d, 0xff
mov r11d, 0x217
jmp 0x140112b48
mov r11, rcx
sub rcx, r8
jbe 0x140112b81
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x140112b40
movzx r8d, dil
cmp r8d, 0xff
jne 0x140113409
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x140112b48
lea rcx, [r8 - 1]
cmp rcx, 0x217
jae 0x14011358d
lea rcx, [0x14022d872]
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 0x1401135c1
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 0x140112c3c
mov ecx, r15d
neg ecx
and ecx, 7
lea r8, [rcx + 0x10]
cmp r8, rbp
jbe 0x140112c6f
xor ebx, ebx
lea r13, [0x14022c368]
cmp rbx, rbp
jae 0x140113307
nop
movzx edi, byte [r15 + rbx]
test dil, dil
js 0x140112d50
mov byte [rsi + rbx], dil
inc rbx
cmp rbp, rbx
jne 0x140112c50
jmp 0x140113307
test rcx, rcx
je 0x140113245
movzx edi, byte [r15]
test dil, dil
js 0x1401132b8
mov byte [rsi], dil
mov ebx, 1
cmp ecx, 1
lea r13, [0x14022c368]
je 0x14011324e
movzx edi, byte [r15 + 1]
test dil, dil
js 0x140112d50
mov byte [rsi + 1], dil
mov ebx, 2
cmp ecx, 2
je 0x14011324e
movzx edi, byte [r15 + 2]
test dil, dil
js 0x140112d50
mov byte [rsi + 2], dil
mov ebx, 3
cmp ecx, 3
je 0x14011324e
movzx edi, byte [r15 + 3]
test dil, dil
js 0x140112d50
mov byte [rsi + 3], dil
mov ebx, 4
cmp ecx, 4
je 0x14011324e
movzx edi, byte [r15 + 4]
test dil, dil
js 0x140112d50
mov byte [rsi + 4], dil
mov ebx, 5
cmp ecx, 5
je 0x14011324e
movzx edi, byte [r15 + 5]
test dil, dil
js 0x140112d50
mov byte [rsi + 5], dil
mov ebx, 6
cmp ecx, 6
je 0x14011324e
movzx edi, byte [r15 + 6]
test dil, dil
js 0x140112d50
mov byte [rsi + 6], dil
mov ebx, 7
jmp 0x14011324e
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, [0x14022d444]
jae 0x1401133b6
inc r10
lea r9d, [rdi + 0x7f]
mov rax, rcx
cmp r9b, 0x7d
mov ebx, 0xff
ja 0x140113372
cmp r10, r12
jae 0x14011336d
movzx edx, byte [r15 + r10]
lea r11, [r10 + 1]
cmp r9b, 0x1f
jbe 0x140112e00
lea ecx, [rdx + 0x5f]
add dil, 0x5f
cmp cl, 0x5e
jae 0x140112e0d
movzx edx, dil
imul rdx, rdx, 0x5e
movzx esi, cl
lea r8, [rdx + rsi]
add r8, 0xfffffffffffffa7e
add rdx, rsi
cmp r8, 0x92e
jae 0x140112e2c
lea rcx, [0x14022dca0]
movzx ecx, word [rcx + rdx*2 - 0xb04]
jmp 0x140113013
lea ecx, [rdx + 0x7f]
cmp cl, 0x7e
jae 0x140112e1d
add dl, 0xb3
jmp 0x140112e28
lea ecx, [rdx + 0x7f]
cmp cl, 0x20
jae 0x140112e74
lea ecx, [rdx - 0x4d]
jmp 0x140112f6d
lea ecx, [rdx - 0x61]
cmp cl, 0x1a
jae 0x140112e88
add dl, 0xb9
mov ecx, edx
jmp 0x140112e94
cmp edx, 0xa5
jae 0x140112f39
lea rcx, [0x14023152c]
movzx ecx, word [rcx + rdx*2]
cmp ecx, 0x800
jae 0x140112f31
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 0x140113043
lea ecx, [rdx - 0x61]
cmp cl, 0x1a
jae 0x140112f61
lea ecx, [rdx - 0x47]
jmp 0x140112f6d
lea ecx, [rdx - 0x41]
cmp cl, 0x1a
jae 0x1401133d7
movzx edx, r9b
imul edx, edx, 0xb2
movzx ecx, cl
add ecx, edx
mov edx, 0x437
xor r9d, r9d
mov esi, 0x437
jmp 0x140112ec8
mov rsi, rdx
sub rdx, r9
jbe 0x140112f00
shr rdx, 1
add rdx, r9
xor r8d, r8d
cmp word [r13 + rdx*2], cx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x140112ec0
movzx r8d, r8b
cmp r8d, 0xff
jne 0x140112f26
inc rdx
mov r9, rdx
mov rdx, rsi
sub rdx, r9
ja 0x140112ec8
lea rdx, [r9 - 1]
cmp rdx, 0x437
jae 0x140113573
lea rdx, [0x14022cbd6]
add cx, word [rdx + r9*2 - 2]
sub cx, word [r13 + r9*2 - 2]
jmp 0x140112f31
lea rcx, [0x14022cbd6]
movzx ecx, word [rcx + rdx*2]
movzx ecx, cx
jmp 0x140113013
lea r8, [rdx - 0xf0e]
cmp r8, 0x1318
jae 0x1401130c9
lea rcx, str.OsOGP
movzx ecx, word [rcx + rdx*2 - 0x1e1c]
jmp 0x140113013
lea ecx, [rdx - 0x41]
cmp cl, 0x1a
jae 0x1401133d7
movzx r8d, dil
imul r8, r8, 0x54
movzx ecx, cl
add rcx, r8
cmp rcx, 0xc36
jae 0x1401133d7
mov edx, 0x217
xor r9d, r9d
mov esi, 0x217
jmp 0x140112fa8
mov rsi, rdx
sub rdx, r9
jbe 0x140112fdf
shr rdx, 1
add rdx, r9
xor r8d, r8d
cmp word [r14 + rdx*2], cx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x140112fa0
movzx r8d, r8b
cmp r8d, 0xff
jne 0x140113005
inc rdx
mov r9, rdx
mov rdx, rsi
sub rdx, r9
ja 0x140112fa8
lea rdx, [r9 - 1]
cmp rdx, 0x217
jae 0x14011358d
lea rdx, [0x14022d872]
add cx, word [rdx + r9*2 - 2]
sub cx, word [r14 + r9*2 - 2]
jmp 0x140113010
lea rcx, [0x14022d872]
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 0x140113383
lea rcx, [rax + 2]
cmp rcx, qword [rsp + 0x48]
jae 0x140113391
movzx edi, byte [r15 + r10 + 1]
add r10, 2
test dil, dil
js 0x1401130b6
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 0x140113232
cmp r12, r10
je 0x14011333b
add rcx, 3
cmp rcx, qword [rsp + 0x48]
jae 0x14011334c
movzx edi, byte [r15 + r10]
inc r10
test dil, dil
jns 0x140113070
lea r9d, [rdi + 0x7f]
cmp r9b, 0x7d
jbe 0x140112d9d
jmp 0x140113372
cmp r9b, 0x27
jne 0x1401130e9
cmp cl, 0xf
jae 0x1401130e9
lea rcx, [0x140231676]
movzx ecx, word [rcx + rsi*2]
test cx, cx
jne 0x1401130ff
jmp 0x140113525
cmp r9b, 0x28
jne 0x14011313a
cmp cl, 0x10
jae 0x14011313a
lea rcx, [0x140231694]
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 0x140113043
cmp r9b, 0x25
jne 0x140113155
cmp cl, 0x44
jae 0x140113155
lea rcx, [0x1402316b4]
movzx ecx, word [rcx + rsi*2]
jmp 0x140113013
add rdx, 0xffffffffffffff44
cmp rdx, 0x39f
jae 0x140113525
mov ecx, 0x4d
xor r9d, r9d
mov esi, 0x4d
jmp 0x140113180
mov rsi, rcx
sub rcx, r9
jbe 0x1401131bd
shr rcx, 1
add rcx, r9
xor r8d, r8d
lea rdi, [0x14023173c]
cmp word [rdi + rcx*2], dx
setne r8b
cmovb r8d, ebx
cmp r8b, 1
je 0x140113178
movzx r8d, r8b
cmp r8d, 0xff
jne 0x1401131e7
inc rcx
mov r9, rcx
mov rcx, rsi
sub rcx, r9
ja 0x140113180
lea rcx, [r9 - 1]
cmp rcx, 0x4d
jae 0x1401135a7
lea rcx, [0x1402317d8]
add dx, word [rcx + r9*2 - 2]
lea rcx, [0x14023173c]
sub dx, word [rcx + r9*2 - 2]
jmp 0x1401131f2
lea rdx, [0x1402317d8]
movzx edx, word [rdx + rcx*2]
movzx ecx, dx
cmp ecx, 0x80
jb 0x140113525
cmp ecx, 0x800
jae 0x140113013
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 0x140113043
mov r11, qword [rsp + 0x48]
cmp r10, r12
jbe 0x140112bec
jmp 0x1401135d7
xor ebx, ebx
lea r13, [0x14022c368]
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 0x140113298
add rbx, 0x10
cmp rbx, rcx
jbe 0x140113260
jmp 0x140112c45
test r8, r8
je 0x1401132ce
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 0x1401132f7
xor ebx, ebx
mov ebp, edx
mov r15, r12
mov r12, r13
lea r13, [0x14022c368]
jmp 0x140112d5c
test r12, r12
mov ebp, edx
mov rdx, qword [rsp + 0x30]
je 0x1401132e1
tzcnt rcx, r12
jmp 0x1401132e6
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 0x140112d61
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 0x1401133f5
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 0
mov qword [rbx], r12
jmp 0x1401133f1
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 1
jmp 0x1401133ee
mov byte [rbx + 8], 2
test al, al
js 0x14011339f
mov word [rbx + 9], 1
jmp 0x140112987
test bpl, bpl
je 0x1401133c0
mov rbx, qword [rsp + 0x28]
mov word [rbx + 8], 0x102
mov byte [rbx + 0xa], 0
jmp 0x1401133ee
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 0
mov qword [rbx], r11
jmp 0x1401133f1
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 1
mov qword [rbx], r11
jmp 0x1401133f1
mov word [rbx + 9], 2
mov qword [rbx], 1
mov qword [rbx + 0x10], 0
jmp 0x1401133f5
mov edx, 1
jmp 0x140113318
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 0x1401133ee
mov rbx, qword [rsp + 0x28]
mov byte [rbx + 8], 2
test dl, dl
js 0x140113468
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, [0x14022d872]
movzx esi, word [rax + rcx*2]
jmp 0x140112ba5
cmp cl, 0x27
jne 0x140113439
cmp r8b, 0xf
jae 0x140113439
lea rcx, [0x140231676]
movzx esi, word [rcx + rax*2]
test si, si
jne 0x14011344f
jmp 0x140113554
cmp cl, 0x28
jne 0x140113476
cmp r8b, 0x10
jae 0x140113476
lea rcx, [0x140231694]
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 0x140112bcb
mov word [rbx + 9], 2
mov qword [rbx], r11
jmp 0x1401133f1
cmp cl, 0x25
jne 0x140113491
cmp r8b, 0x44
jae 0x140113491
lea rcx, [0x1402316b4]
movzx esi, word [rcx + rax*2]
jmp 0x140112ae1
add rsi, 0xffffffffffffff44
cmp rsi, 0x39f
jae 0x140113554
mov rdx, r11
mov ecx, 0x4d
xor r8d, r8d
lea rax, [0x14023173c]
mov r9d, 0xff
mov r11d, 0x4d
jmp 0x1401134cd
mov r11, rcx
sub rcx, r8
jbe 0x140113502
shr rcx, 1
add rcx, r8
xor edi, edi
cmp word [rax + rcx*2], si
setne dil
cmovb edi, r9d
cmp dil, 1
je 0x1401134c5
movzx r8d, dil
cmp r8d, 0xff
jne 0x14011353c
inc rcx
mov r8, rcx
mov rcx, r11
sub rcx, r8
ja 0x1401134cd
lea rcx, [r8 - 1]
cmp rcx, 0x4d
jae 0x1401135a7
lea rcx, [0x1402317d8]
add si, word [rcx + r8*2 - 2]
sub si, word [rax + r8*2 - 2]
jmp 0x140113547
mov rbx, qword [rsp + 0x28]
mov word [rbx + 8], 0x202
mov byte [rbx + 0xa], 0
mov qword [rbx], r11
jmp 0x1401133f1
lea rax, [0x1402317d8]
movzx esi, word [rax + rcx*2]
mov r11, rdx
movzx eax, si
cmp eax, 0x80
jae 0x140113563
mov word [rbx + 8], 0x202
mov byte [rbx + 0xa], 0
jmp 0x1401133a5
cmp eax, 0x800
jae 0x140112bab
jmp 0x14011344f
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x437
mov rcx, 0xffffffffffffffff
call fcn.140207890
ud2
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x217
mov rcx, 0xffffffffffffffff
call fcn.140207890
ud2
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x4d
mov rcx, 0xffffffffffffffff
call fcn.140207890
ud2
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srchandles.rs
mov rcx, rax
mov rdx, qword [rsp + 0x30]
call fcn.140207bf0
ud2
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srchandles.rs
mov rcx, r10
mov rdx, r12
call fcn.140207bf0
ud2