Function at 0x14019c700
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rdi
push r12
push r14
sub rsp, 0x58
mov r14d, dword [r8]
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x80], 0
mov rbx, rdx
mov dword [rsp + 0x88], r14d
test rdx, rdx
je 0x14019c752
cmp byte [rdx], 0
je 0x14019c74a
inc rbx
cmp byte [rbx], 0
jne 0x14019c742
sub ebx, edx
and ebx, 0x3fffffff
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test r14b, 0x40
jne 0x14019c779
cmp dword [0x1402bc30c], 0
je 0x14019cca4
cmp ebx, 5
jl 0x14019cca4
mov edx, dword [rdx]
lea rcx, [0x140000000]
cmp edx, dword [rcx + 0x24b144]
lea rcx, [rcx + 0x24b144]
jne 0x14019c7a7
movzx edx, byte [rdi + 4]
cmp dl, byte [rcx + 4]
jne 0x14019c7a7
xor eax, eax
jmp 0x14019c7ac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14019cca4
or r14d, 0x40
movsxd r8, ebx
xor esi, esi
xor ebp, ebp
xor r13d, r13d
xor ecx, ecx
lea r12d, [rbx + 2]
mov dword [rsp + 0x88], r14d
cmp r8, 2
jl 0x14019c800
lea rdx, [r8 - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add esi, eax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add ebp, eax
cmp rcx, rdx
jl 0x14019c7e0
cmp rcx, r8
jge 0x14019c811
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add r12d, eax
call fcn.140191d70
test eax, eax
jne 0x14019cd5d
lea ecx, [rsi + rbp]
add ecx, r12d
call fcn.140153e00
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14019cd5d
cmp byte [rdi + 5], 0x2f
jne 0x14019c8de
cmp byte [rdi + 6], 0x2f
jne 0x14019c8de
movzx ecx, byte [rdi + 7]
lea r8, [rdi + 7]
mov r9d, 7
test cl, cl
je 0x14019c8e4
mov rax, r8
cmp cl, 0x2f
je 0x14019c87a
movzx ecx, byte [rax + 1]
inc rax
inc r9d
test cl, cl
jne 0x14019c867
cmp r9d, 7
je 0x14019c8e4
cmp r9d, 0x10
jne 0x14019c8bb
lea r12, [0x140000000]
mov rcx, r8
mov rdx, qword [r12 + 0x24b138]
cmp rdx, qword [r8]
jne 0x14019c8b2
movzx edx, byte [r12 + 0x24b140]
add rcx, 8
cmp dl, byte [rcx]
jne 0x14019c8b2
xor eax, eax
jmp 0x14019c8b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14019c8eb
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.140160530
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x14019cd21
mov r9d, 5
lea r12, [0x140000000]
movsxd rax, r9d
xor r11d, r11d
xor r10d, r10d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x14019ca7f
cmp dl, 0x23
je 0x14019ca6f
inc r9d
cmp dl, 0x25
jne 0x14019c9da
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r12 + 0x2455a0], 8
je 0x14019c9da
movzx eax, byte [rax + rdi + 1]
test byte [rax + r12 + 0x2455a0], 8
je 0x14019c9da
movsx edx, cl
inc r9d
mov ecx, edx
movsxd rax, r9d
inc r9d
movsx r8d, byte [rax + rdi]
sar ecx, 6
mov al, 7
and cl, 1
imul cl
mov ecx, r8d
sar ecx, 6
sub dl, al
and cl, 1
mov al, 7
and edx, 0xf
shl edx, 4
imul cl
movzx ecx, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x14019ca56
movsxd rax, r9d
movsxd rcx, r11d
lea rdx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x14019ca60
cmp al, 0x23
je 0x14019ca60
test r11d, r11d
jne 0x14019c9a9
cmp al, 0x3f
jmp 0x14019c9c1
cmp rcx, 1
jne 0x14019c9b9
cmp al, 0x3d
je 0x14019ca60
jmp 0x14019c9bf
cmp rcx, 2
jne 0x14019c9c7
cmp al, 0x26
je 0x14019ca60
movzx eax, byte [rdx + 1]
inc rdx
inc r9d
test al, al
jne 0x14019c998
jmp 0x14019ca60
cmp r11d, 1
jne 0x14019ca37
cmp dl, 0x26
je 0x14019c9ea
cmp dl, 0x3d
jne 0x14019ca56
cmp byte [r10 + rsi - 1], 0
jne 0x14019ca1d
movsxd rax, r9d
cmp byte [rax + rdi], 0
je 0x14019ca60
movzx ecx, byte [rax + rdi]
nop
cmp cl, 0x23
je 0x14019ca60
cmp byte [rax + rdi - 1], 0x26
je 0x14019ca60
movzx ecx, byte [rax + rdi + 1]
inc rax
inc r9d
test cl, cl
jne 0x14019ca00
jmp 0x14019ca60
cmp dl, 0x26
jne 0x14019ca2f
mov byte [r10 + rsi], 0
inc r13d
inc r10
jmp 0x14019ca54
mov r11d, 2
jmp 0x14019ca54
test r11d, r11d
jne 0x14019ca43
cmp dl, 0x3f
je 0x14019ca4e
jmp 0x14019ca56
cmp r11d, 2
jne 0x14019ca56
cmp dl, 0x26
jne 0x14019ca56
mov r11d, 1
xor dl, dl
mov byte [r10 + rsi], dl
inc r13d
inc r10
movsxd rax, r9d
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x14019c900
cmp r11d, 1
jne 0x14019ca7f
movsxd rax, r13d
inc r13d
mov byte [rax + rsi], 0
movsxd rax, r13d
mov word [rax + rsi], 0
cmp byte [rsi], 0
mov rax, rsi
je 0x14019ca98
inc rax
cmp byte [rax], 0
jne 0x14019ca90
sub eax, esi
and eax, 0x3fffffff
inc eax
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
je 0x14019ccea
mov r15d, dword [str.mode]
nop word [rax + rax]
mov rcx, rdx
inc rcx
cmp byte [rcx], 0
jne 0x14019cac3
sub ecx, edx
and ecx, 0x3fffffff
lea eax, [rcx + 1]
movsxd rbp, eax
add rbp, rdx
mov rbx, rbp
jne 0x14019cae5
xor ebx, ebx
jmp 0x14019cb00
cmp byte [rbp], 0
je 0x14019caf8
nop dword [rax + rax]
inc rbx
cmp byte [rbx], 0
jne 0x14019caf0
sub ebx, ebp
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x14019cb3f
movzx ecx, word [r12 + 0x24b10c]
cmp cx, word [rdx]
jne 0x14019cb25
movzx ecx, byte [r12 + 0x24b10e]
cmp cl, byte [rdx + 2]
jne 0x14019cb25
xor eax, eax
jmp 0x14019cb2a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14019cc55
mov r12, rbp
mov qword [rsp + 0x20], rbp
jmp 0x14019cc5a
cmp ecx, 5
jne 0x14019cb84
lea rax, str.cache
mov ecx, dword [rax]
cmp ecx, dword [rdx]
jne 0x14019cb5e
movzx ecx, byte [rax + 4]
cmp cl, byte [rdx + 4]
jne 0x14019cb5e
xor eax, eax
jmp 0x14019cb63
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14019cc55
mov r12d, 0x60000
lea rsi, str.shared
lea r14, str.cache
mov r13d, r12d
jmp 0x14019cbb0
cmp ecx, 4
jne 0x14019cc55
cmp r15d, dword [rdx]
jne 0x14019cc55
mov r13d, r14d
mov r12d, 7
lea rsi, str.tF__
and r13d, r12d
lea r14, str.access
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x14019cc07
nop word [rax + rax]
mov rax, rcx
test rcx, rcx
je 0x14019cbdf
cmp byte [rcx], 0
je 0x14019cbd8
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x14019cbd0
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x14019cbf5
mov rdx, rcx
movsxd r8, ebx
mov rcx, rbp
call fcn.14010fbe0
test eax, eax
je 0x14019cc2c
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x14019cbc0
lea rcx, str.no_such__s_mode:__s
mov r8, rbp
mov rdx, r14
call fcn.140160530
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x14019cd21
add rdi, rdi
mov eax, dword [rsi + rdi*8 + 8]
test eax, eax
je 0x14019cc07
cmp eax, r13d
jg 0x14019cc74
mov r14d, dword [rsp + 0x88]
not r12d
and r14d, r12d
or r14d, eax
mov dword [rsp + 0x88], r14d
mov r12, qword [rsp + 0x20]
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rbp
cmp byte [rdx], 0
je 0x14019cce3
lea r12, [0x140000000]
jmp 0x14019cac0
lea rcx, str._s_mode_not_allowed:__s
mov r8, rbp
mov rdx, r14
call fcn.140160530
mov dword [rsp + 0x80], 3
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x14019cd2c
call fcn.140191d70
test eax, eax
jne 0x14019cd5d
lea ecx, [rbx + 2]
call fcn.140153e00
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14019cd5d
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rax
mov r8, rbx
call fcn.14010c9b0
mov word [rbx + rsi], 0
jmp 0x14019ccef
mov rsi, qword [rsp + 0x28]
jmp 0x14019ccef
mov r12, qword [rsp + 0x20]
mov rcx, r12
call fcn.140195400
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x14019cd38
lea rcx, str.no_such_vfs:__s
mov rdx, r12
call fcn.140160530
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x80], 1
mov rcx, qword [rsp + 0x28]
call fcn.140143410
xor esi, esi
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x88]
mov dword [rax], ecx
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x80]
mov qword [rcx], rsi
jmp 0x14019cd62
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rbx
ret