Function at 0x1400ca1d8
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 0x1400ca220
mov ebx, r12d
jmp 0x1400ca235
cmp byte [rdx], r12b
je 0x1400ca22d
inc rbx
cmp byte [rbx], r12b
jne 0x1400ca225
sub ebx, edx
and ebx, 0x3fffffff
test r15b, 0x40
jne 0x1400ca248
cmp dword [0x14016219c], r12d
je 0x1400ca673
cmp ebx, 5
jl 0x1400ca673
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x1400ca673
mov al, byte [rdx + 4]
cmp al, byte [0x140121448]
jne 0x1400ca673
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 0x1400ca2a0
cmp byte [rdx + rdi], bl
mov eax, r12d
sete al
inc rdx
add ecx, eax
cmp rdx, r8
jl 0x1400ca28d
call fcn.14009b034
mov rsi, rax
test rax, rax
jne 0x1400ca2b7
mov eax, 7
jmp 0x1400ca70b
mov dl, 0x2f
cmp byte [rdi + 5], dl
jne 0x1400ca320
cmp byte [rdi + 6], dl
jne 0x1400ca320
lea r8, [rdi + 7]
mov r9d, 7
mov al, byte [r8]
test al, al
je 0x1400ca326
mov rcx, r8
cmp al, dl
je 0x1400ca2e7
inc rcx
inc r9d
mov al, byte [rcx]
test al, al
jne 0x1400ca2d7
cmp r9d, 7
je 0x1400ca326
cmp r9d, 0x10
jne 0x1400ca30b
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x1400ca30b
mov al, byte [0x140121458]
cmp al, byte [r8 + 8]
je 0x1400ca326
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.14009acf8
jmp 0x1400ca6c4
mov r9d, 5
movsxd rax, r9d
mov r10d, r12d
mov dl, byte [rax + rdi]
test dl, dl
je 0x1400ca4b0
mov r11, r12
mov r13b, 0x23
lea r15, [0x14011c910]
cmp dl, r13b
je 0x1400ca499
inc r9d
cmp dl, 0x25
jne 0x1400ca419
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r15], 8
je 0x1400ca419
movzx eax, byte [rax + rdi + 1]
test byte [rax + r15], 8
je 0x1400ca419
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 0x1400ca482
movsxd rax, r9d
lea rcx, [rax + rdi]
mov al, byte [rcx]
test al, al
je 0x1400ca48b
movsxd rdx, r10d
cmp al, r13b
je 0x1400ca48b
test r10d, r10d
jne 0x1400ca3e7
cmp al, 0x3f
je 0x1400ca48b
cmp rdx, 1
jne 0x1400ca3fd
cmp al, 0x3d
je 0x1400ca48b
cmp al, bl
je 0x1400ca48b
cmp rdx, 2
jne 0x1400ca40b
cmp al, bl
je 0x1400ca48b
inc rcx
inc r9d
mov al, byte [rcx]
test al, al
jne 0x1400ca3d1
jmp 0x1400ca48b
cmp r10d, 1
jne 0x1400ca465
cmp dl, bl
je 0x1400ca428
cmp dl, 0x3d
jne 0x1400ca482
cmp byte [r11 + rsi - 1], r12b
jne 0x1400ca44e
movsxd rax, r9d
jmp 0x1400ca445
cmp cl, r13b
je 0x1400ca48b
cmp byte [rax + rdi - 1], bl
je 0x1400ca48b
inc r9d
inc rax
mov cl, byte [rax + rdi]
test cl, cl
jne 0x1400ca434
jmp 0x1400ca48b
cmp dl, bl
jne 0x1400ca45d
mov byte [r11 + rsi], r12b
inc ebp
inc r11
jmp 0x1400ca47f
mov r10d, 2
jmp 0x1400ca47f
test r10d, r10d
jne 0x1400ca46f
cmp dl, 0x3f
je 0x1400ca479
cmp r10d, 2
jne 0x1400ca482
cmp dl, bl
jne 0x1400ca482
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 0x1400ca344
mov r15d, dword [rsp + 0x80]
cmp r10d, 1
jne 0x1400ca4b0
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 0x1400ca4c8
inc rax
cmp byte [rax], r12b
jne 0x1400ca4c0
sub eax, esi
and eax, 0x3fffffff
inc eax
movsxd rcx, eax
add rcx, rsi
cmp byte [rcx], r12b
je 0x1400ca69d
mov rdx, rcx
inc rdx
cmp byte [rdx], r12b
jne 0x1400ca4e3
sub edx, ecx
and edx, 0x3fffffff
lea eax, [rdx + 1]
movsxd rdi, eax
add rdi, rcx
mov rbx, rdi
jne 0x1400ca506
mov ebx, r12d
jmp 0x1400ca51b
cmp byte [rdi], r12b
je 0x1400ca513
inc rbx
cmp byte [rbx], r12b
jne 0x1400ca50b
sub ebx, edi
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400ca544
movzx eax, word [0x14012147c]
cmp ax, word [rcx]
jne 0x1400ca544
mov al, byte [0x14012147e]
cmp al, byte [rcx + 2]
jne 0x1400ca544
mov r14, rdi
mov qword [rsp + 0x20], rdi
jmp 0x1400ca62c
mov r14, r12
mov r13, r12
mov ebp, r12d
cmp edx, 5
jne 0x1400ca585
mov eax, dword [str.cache]
cmp eax, dword [rcx]
jne 0x1400ca624
mov al, byte [0x140121484]
cmp al, byte [rcx + 4]
jne 0x1400ca624
mov ebp, 0x60000
lea r14, str.shared
lea r13, str.cache
mov r12d, ebp
cmp edx, 4
jne 0x1400ca5ab
mov eax, dword [str.mode]
cmp eax, dword [rcx]
jne 0x1400ca5ab
lea ebp, [rdx + 3]
mov r12d, r15d
lea r14, [0x140161f80]
and r12d, ebp
lea r13, str.access
test r14, r14
je 0x1400ca624
mov rcx, qword [r14]
xor r15d, r15d
test rcx, rcx
je 0x1400ca65c
cmp byte [rcx], 0
mov rax, rcx
je 0x1400ca5cf
inc rax
cmp byte [rax], 0
jne 0x1400ca5c7
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1400ca5ec
mov rdx, rcx
movsxd r8, ebx
mov rcx, rdi
call fcn.1400ec970
test eax, eax
je 0x1400ca5fb
inc r15
mov rax, r15
add rax, rax
mov rcx, qword [r14 + rax*8]
jmp 0x1400ca5b6
add r15, r15
mov eax, dword [r14 + r15*8 + 8]
test eax, eax
je 0x1400ca65c
cmp eax, r12d
jg 0x1400ca63a
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 0x1400ca4d7
lea rcx, str._s_mode_not_allowed:__s
mov r8, rdi
mov rdx, r13
call fcn.14009acf8
mov dword [rsp + 0x88], 3
xor r12d, r12d
jmp 0x1400ca6cf
lea rcx, str.no_such__s_mode:__s
mov r8, rdi
mov rdx, r13
call fcn.14009acf8
xor r12d, r12d
jmp 0x1400ca6c4
lea ecx, [rbx + 2]
call fcn.14009b034
mov rsi, rax
test rax, rax
je 0x1400ca2ad
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rax
mov r8, rbx
call fcn.1400e7dd0
mov word [rbx + rsi], r12w
mov rcx, r14
call fcn.140099220
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x1400ca6e8
lea rcx, str.no_such_vfs:__s
mov rdx, r14
call fcn.14009acf8
mov dword [rsp + 0x88], 1
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
mov rcx, rsi
call fcn.14009b0b8
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