Function at 0x1400c9e18
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r15d, dword [r8]
xor r12d, r12d
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x20], rcx
mov rbx, rdx
mov dword [rsp + 0x80], r15d
mov dword [rsp + 0x88], r12d
test rdx, rdx
jne 0x1400c9e60
mov ebx, r12d
jmp 0x1400c9e75
cmp byte [rdx], r12b
je 0x1400c9e6d
inc rbx
cmp byte [rbx], r12b
jne 0x1400c9e65
sub ebx, edx
and ebx, 0x3fffffff
test r15b, 0x40
jne 0x1400c9e88
cmp dword [0x14016219c], r12d
je 0x1400ca2b3
cmp ebx, 5
jl 0x1400ca2b3
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x1400ca2b3
mov al, byte [rdx + 4]
cmp al, byte [0x140121508]
jne 0x1400ca2b3
movsxd r8, ebx
or r15d, 0x40
lea ecx, [rbx + 2]
mov ebp, r12d
mov rdx, r12
mov bl, 0x26
mov dword [rsp + 0x80], r15d
test r8, r8
jle 0x1400c9ee0
cmp byte [rdx + rdi], bl
mov eax, r12d
sete al
inc rdx
add ecx, eax
cmp rdx, r8
jl 0x1400c9ecd
call fcn.14009ac74
mov rsi, rax
test rax, rax
jne 0x1400c9ef7
mov eax, 7
jmp 0x1400ca34b
mov dl, 0x2f
cmp byte [rdi + 5], dl
jne 0x1400c9f60
cmp byte [rdi + 6], dl
jne 0x1400c9f60
lea r8, [rdi + 7]
mov r9d, 7
mov al, byte [r8]
test al, al
je 0x1400c9f66
mov rcx, r8
cmp al, dl
je 0x1400c9f27
inc rcx
inc r9d
mov al, byte [rcx]
test al, al
jne 0x1400c9f17
cmp r9d, 7
je 0x1400c9f66
cmp r9d, 0x10
jne 0x1400c9f4b
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x1400c9f4b
mov al, byte [0x140121518]
cmp al, byte [r8 + 8]
je 0x1400c9f66
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.14009a938
jmp 0x1400ca304
mov r9d, 5
movsxd rax, r9d
mov r10d, r12d
mov dl, byte [rax + rdi]
test dl, dl
je 0x1400ca0f0
mov r11, r12
mov r13b, 0x23
lea r15, [0x14011c9d0]
cmp dl, r13b
je 0x1400ca0d9
inc r9d
cmp dl, 0x25
jne 0x1400ca059
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r15], 8
je 0x1400ca059
movzx eax, byte [rax + rdi + 1]
test byte [rax + r15], 8
je 0x1400ca059
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
mov cl, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x1400ca0c2
movsxd rax, r9d
lea rcx, [rax + rdi]
mov al, byte [rcx]
test al, al
je 0x1400ca0cb
movsxd rdx, r10d
cmp al, r13b
je 0x1400ca0cb
test r10d, r10d
jne 0x1400ca027
cmp al, 0x3f
je 0x1400ca0cb
cmp rdx, 1
jne 0x1400ca03d
cmp al, 0x3d
je 0x1400ca0cb
cmp al, bl
je 0x1400ca0cb
cmp rdx, 2
jne 0x1400ca04b
cmp al, bl
je 0x1400ca0cb
inc rcx
inc r9d
mov al, byte [rcx]
test al, al
jne 0x1400ca011
jmp 0x1400ca0cb
cmp r10d, 1
jne 0x1400ca0a5
cmp dl, bl
je 0x1400ca068
cmp dl, 0x3d
jne 0x1400ca0c2
cmp byte [r11 + rsi - 1], r12b
jne 0x1400ca08e
movsxd rax, r9d
jmp 0x1400ca085
cmp cl, r13b
je 0x1400ca0cb
cmp byte [rax + rdi - 1], bl
je 0x1400ca0cb
inc r9d
inc rax
mov cl, byte [rax + rdi]
test cl, cl
jne 0x1400ca074
jmp 0x1400ca0cb
cmp dl, bl
jne 0x1400ca09d
mov byte [r11 + rsi], r12b
inc ebp
inc r11
jmp 0x1400ca0bf
mov r10d, 2
jmp 0x1400ca0bf
test r10d, r10d
jne 0x1400ca0af
cmp dl, 0x3f
je 0x1400ca0b9
cmp r10d, 2
jne 0x1400ca0c2
cmp dl, bl
jne 0x1400ca0c2
mov r10d, 1
mov dl, r12b
mov byte [r11 + rsi], dl
inc ebp
inc r11
movsxd rax, r9d
mov dl, byte [rax + rdi]
test dl, dl
jne 0x1400c9f84
mov r15d, dword [rsp + 0x80]
cmp r10d, 1
jne 0x1400ca0f0
movsxd rax, ebp
inc ebp
mov byte [rax + rsi], r12b
movsxd rax, ebp
mov word [rax + rsi], r12w
mov rax, rsi
cmp byte [rsi], r12b
je 0x1400ca108
inc rax
cmp byte [rax], r12b
jne 0x1400ca100
sub eax, esi
and eax, 0x3fffffff
inc eax
movsxd rcx, eax
add rcx, rsi
cmp byte [rcx], r12b
je 0x1400ca2dd
mov rdx, rcx
inc rdx
cmp byte [rdx], r12b
jne 0x1400ca123
sub edx, ecx
and edx, 0x3fffffff
lea eax, [rdx + 1]
movsxd rdi, eax
add rdi, rcx
mov rbx, rdi
jne 0x1400ca146
mov ebx, r12d
jmp 0x1400ca15b
cmp byte [rdi], r12b
je 0x1400ca153
inc rbx
cmp byte [rbx], r12b
jne 0x1400ca14b
sub ebx, edi
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400ca184
movzx eax, word [0x14012153c]
cmp ax, word [rcx]
jne 0x1400ca184
mov al, byte [0x14012153e]
cmp al, byte [rcx + 2]
jne 0x1400ca184
mov r14, rdi
mov qword [rsp + 0x20], rdi
jmp 0x1400ca26c
mov r14, r12
mov r13, r12
mov ebp, r12d
cmp edx, 5
jne 0x1400ca1c5
mov eax, dword [str.cache]
cmp eax, dword [rcx]
jne 0x1400ca264
mov al, byte [0x140121544]
cmp al, byte [rcx + 4]
jne 0x1400ca264
mov ebp, 0x60000
lea r14, str.shared
lea r13, str.cache
mov r12d, ebp
cmp edx, 4
jne 0x1400ca1eb
mov eax, dword [str.mode]
cmp eax, dword [rcx]
jne 0x1400ca1eb
lea ebp, [rdx + 3]
mov r12d, r15d
lea r14, [0x140161f80]
and r12d, ebp
lea r13, str.access
test r14, r14
je 0x1400ca264
mov rcx, qword [r14]
xor r15d, r15d
test rcx, rcx
je 0x1400ca29c
cmp byte [rcx], 0
mov rax, rcx
je 0x1400ca20f
inc rax
cmp byte [rax], 0
jne 0x1400ca207
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1400ca22c
mov rdx, rcx
movsxd r8, ebx
mov rcx, rdi
call fcn.1400ec5b0
test eax, eax
je 0x1400ca23b
inc r15
mov rax, r15
add rax, rax
mov rcx, qword [r14 + rax*8]
jmp 0x1400ca1f6
add r15, r15
mov eax, dword [r14 + r15*8 + 8]
test eax, eax
je 0x1400ca29c
cmp eax, r12d
jg 0x1400ca27a
mov r15d, dword [rsp + 0x80]
not ebp
and r15d, ebp
or r15d, eax
mov dword [rsp + 0x80], r15d
mov r14, qword [rsp + 0x20]
xor r12d, r12d
lea eax, [rbx + 1]
movsxd rcx, eax
add rcx, rdi
jmp 0x1400ca117
lea rcx, str._s_mode_not_allowed:__s
mov r8, rdi
mov rdx, r13
call fcn.14009a938
mov dword [rsp + 0x88], 3
xor r12d, r12d
jmp 0x1400ca30f
lea rcx, str.no_such__s_mode:__s
mov r8, rdi
mov rdx, r13
call fcn.14009a938
xor r12d, r12d
jmp 0x1400ca304
lea ecx, [rbx + 2]
call fcn.14009ac74
mov rsi, rax
test rax, rax
je 0x1400c9eed
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rax
mov r8, rbx
call fcn.1400e7a10
mov word [rbx + rsi], r12w
mov rcx, r14
call fcn.140098e60
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x1400ca328
lea rcx, str.no_such_vfs:__s
mov rdx, r14
call fcn.14009a938
mov dword [rsp + 0x88], 1
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
mov rcx, rsi
call fcn.14009acf8
mov rsi, r12
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rsi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret