Function at 0x1400c08f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push r12
push r13
sub rsp, 0x68
mov r13d, dword [r8]
mov rsi, rdx
mov dword [rsp + 0x98], 0
mov r12, rcx
mov rbx, rdx
test rdx, rdx
je 0x1400c0935
cmp byte [rdx], 0
je 0x1400c092d
inc rbx
cmp byte [rbx], 0
jne 0x1400c0925
sub ebx, esi
and ebx, 0x3fffffff
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
test r13b, 0x40
jne 0x1400c095c
cmp dword [0x1400e83ec], 0
je 0x1400c0e6e
cmp ebx, 5
jb 0x1400c0e6e
cmp dword [rdx], 0x656c6966
jne 0x1400c0e6e
cmp byte [rdx + 4], 0x3a
jne 0x1400c0e6e
xor edx, edx
mov r10d, ebx
xor r8d, r8d
lea edi, [rbx + 2]
xor ebp, ebp
or r13d, 0x40
xor ecx, ecx
cmp r10, 2
jb 0x1400c09c1
lea r9, [rbx - 1]
nop dword [rax + rax]
xor eax, eax
cmp byte [rcx + rsi], 0x26
sete al
add edx, eax
xor eax, eax
cmp byte [rcx + rsi + 1], 0x26
sete al
add rcx, 2
add r8d, eax
cmp rcx, r9
jl 0x1400c09a0
cmp rcx, r10
jge 0x1400c09d1
xor eax, eax
cmp byte [rcx + rsi], 0x26
sete al
add edi, eax
lea eax, [r8 + rdx]
add edi, eax
call fcn.1400bd500
test eax, eax
jne 0x1400c0f95
test edi, edi
jle 0x1400c0f95
movsxd rcx, edi
call fcn.14002d7e0
mov qword [rsp + 0x28], rax
mov r14, rax
test rax, rax
je 0x1400c0f95
cmp byte [rsi + 5], 0x2f
mov r9d, 5
mov rdi, rax
jne 0x1400c0a88
cmp byte [rsi + 6], 0x2f
jne 0x1400c0a88
movzx eax, byte [rsi + 7]
lea r8, [rsi + 7]
mov r9d, 7
test al, al
je 0x1400c0a88
mov rcx, r8
nop
cmp al, 0x2f
je 0x1400c0a42
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400c0a30
cmp r9d, 7
je 0x1400c0a88
cmp r9d, 0x10
jne 0x1400c0a68
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1400c0a68
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x1400c0a88
lea edx, [r9 - 7]
mov dword [rsp + 0x98], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.1400300c0
jmp 0x1400c0ee7
movsxd rax, r9d
xor r10d, r10d
movzx ecx, byte [rax + rsi]
test cl, cl
je 0x1400c0c19
mov rbx, rdi
lea r14, [0x1400d1c60]
movsxd r8, r9d
cmp cl, 0x23
je 0x1400c0c0a
inc r9d
cmp cl, 0x25
jne 0x1400c0b75
movsxd rax, r9d
movzx edx, byte [rax + rsi]
test byte [rdx + r14], 8
je 0x1400c0b75
movsxd rax, r9d
movzx r11d, byte [rax + rsi + 1]
test byte [r11 + r14], 8
je 0x1400c0b75
movsx eax, dl
add r9d, 2
sar eax, 6
and al, 1
movsx r8d, r11b
movzx eax, al
imul ecx, eax, 7
sar r8d, 6
and r8b, 1
movzx eax, r8b
sub dl, cl
imul ecx, eax, 7
movzx eax, r11b
and edx, 0xf
add edx, edx
sub al, cl
and eax, 0xf
lea ecx, [rax + rdx*8]
test ecx, ecx
jne 0x1400c0bf4
movsxd rcx, r9d
add rcx, rsi
movzx eax, byte [rcx]
test al, al
je 0x1400c0bfb
cmp al, 0x23
je 0x1400c0bfb
test r10d, r10d
jne 0x1400c0b44
cmp al, 0x3f
jmp 0x1400c0b5c
cmp r10d, 1
jne 0x1400c0b54
cmp al, 0x3d
je 0x1400c0bfb
jmp 0x1400c0b5a
cmp r10d, 2
jne 0x1400c0b62
cmp al, 0x26
je 0x1400c0bfb
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400c0b33
jmp 0x1400c0bfb
cmp r10d, 1
jne 0x1400c0bd5
cmp cl, 0x26
je 0x1400c0b85
cmp cl, 0x3d
jne 0x1400c0bf4
cmp byte [rbx - 1], 0
jne 0x1400c0bbe
lea rcx, [rsi + 1]
add rcx, r8
movzx edx, byte [rcx]
test dl, dl
je 0x1400c0bfb
nop dword [rax]
cmp dl, 0x23
je 0x1400c0bfb
cmp byte [rcx - 1], 0x26
je 0x1400c0bfb
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
movzx edx, al
test al, al
jne 0x1400c0ba0
jmp 0x1400c0bfb
cmp cl, 0x26
jne 0x1400c0bcd
inc ebp
mov byte [rbx], 0
inc rbx
jmp 0x1400c0bf2
mov r10d, 2
jmp 0x1400c0bf2
test r10d, r10d
jne 0x1400c0be1
cmp cl, 0x3f
je 0x1400c0bec
jmp 0x1400c0bf4
cmp r10d, 2
jne 0x1400c0bf4
cmp cl, 0x26
jne 0x1400c0bf4
mov r10d, 1
xor cl, cl
inc ebp
mov byte [rbx], cl
inc rbx
movsxd rax, r9d
movzx ecx, byte [rax + rsi]
test cl, cl
jne 0x1400c0aa4
cmp r10d, 1
jne 0x1400c0c19
movsxd rax, ebp
inc ebp
mov byte [rax + rdi], 0
movsxd rax, ebp
mov word [rax + rdi], 0
mov rax, rdi
cmp byte [rdi], 0
je 0x1400c0c38
nop word [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x1400c0c30
mov rsi, qword [rsp + 0x28]
sub eax, edi
and eax, 0x3fffffff
lea r8d, [rax + 1]
add r8, rdi
cmp byte [r8], 0
je 0x1400c0eac
mov rdx, r8
mov ebp, 0x73
mov r14d, 0x65
inc rdx
cmp byte [rdx], 0
jne 0x1400c0c63
sub edx, r8d
mov qword [rsp + 0x28], rsi
and edx, 0x3fffffff
mov rdi, r12
lea r15d, [rdx + 1]
add r15, r8
mov rbx, r15
jne 0x1400c0c94
xor ebx, ebx
mov qword [rsp + 0x90], r12
jmp 0x1400c0cc1
cmp byte [r15], 0
mov qword [rsp + 0x90], rdi
je 0x1400c0cb8
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x90], rdi
nop
inc rbx
cmp byte [rbx], 0
jne 0x1400c0cb0
sub ebx, r15d
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400c0ce7
mov eax, 0x6676
cmp ax, word [r8]
jne 0x1400c0dfc
cmp bpl, byte [r8 + 2]
jne 0x1400c0dfc
mov r12, r15
jmp 0x1400c0e04
cmp edx, 5
jne 0x1400c0d22
mov eax, 0x68636163
cmp eax, dword [r8]
jne 0x1400c0dfc
cmp r14b, byte [r8 + 4]
jne 0x1400c0dfc
mov dword [rsp + 0x20], 0x60000
lea r14, str.shared
lea rax, str.cache
mov r12d, 0x60000
jmp 0x1400c0d59
cmp edx, 4
jne 0x1400c0dfc
mov eax, 0x65646f6d
cmp eax, dword [r8]
jne 0x1400c0dfc
mov r12d, r13d
mov dword [rsp + 0x20], 0x87
and r12d, 0x87
lea r14, [0x1400e9e50]
lea rax, str.access
mov rcx, qword [r14]
xor ebp, ebp
mov qword [rsp + 0x30], rax
test rcx, rcx
je 0x1400c0e48
cmp byte [rcx], 0
mov rax, rcx
je 0x1400c0d7c
inc rax
cmp byte [rax], 0
jne 0x1400c0d74
sub eax, ecx
mov qword [rsp + 0x90], rdi
and eax, 0x3fffffff
mov edi, r13d
cmp ebx, eax
jne 0x1400c0da4
mov rdx, rcx
mov r8d, ebx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c0dc4
inc rbp
mov rax, rbp
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400c0e43
mov rdi, qword [rsp + 0x90]
jmp 0x1400c0d6c
add rbp, rbp
mov ecx, dword [r14 + rbp*8 + 8]
mov r14, rsi
test ecx, ecx
je 0x1400c0e4d
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x1400c0e1f
mov r13d, dword [rsp + 0x20]
mov ebp, 0x73
not r13d
mov qword [rsp + 0x28], rsi
and r13d, edi
mov r14d, 0x65
or r13d, ecx
mov r12, qword [rsp + 0x90]
mov r8d, ebx
inc r8
add r8, r15
mov rdx, r8
cmp byte [r8], 0
jne 0x1400c0c63
jmp 0x1400c0eac
mov rdx, qword [rsp + 0x30]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
mov dword [rsp + 0x98], 3
call fcn.1400300c0
jmp 0x1400c0ee7
mov r14, rsi
jmp 0x1400c0e4d
mov r14, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
lea rcx, str.no_such__s_mode:__s
mov r8, r15
mov dword [rsp + 0x98], 1
call fcn.1400300c0
jmp 0x1400c0ee7
call fcn.1400bd500
test eax, eax
jne 0x1400c0f95
lea ecx, [rbx + 2]
call fcn.14002d7e0
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400c0f95
mov rdx, rsi
mov r8, rbx
mov rcx, rax
mov rsi, rax
call sub.VCRUNTIME140.dll_memcpy
and r13d, 0xffffffbf
mov word [rbx + rsi], 0
mov rcx, r12
call fcn.14002d090
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test rax, rax
jne 0x1400c0f76
mov rdx, r12
mov dword [rsp + 0x98], 1
lea rcx, str.no_such_vfs:__s
call fcn.1400300c0
mov r14, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
cmp dword [0x1400e83e0], 0
je 0x1400c0f6b
mov rcx, qword [0x1400eb508]
test rcx, rcx
je 0x1400c0f0d
call qword [0x1400e8468]
mov rcx, r14
call qword [0x1400e8420]
mov edx, dword [0x1400eb380]
sub edx, eax
cmp edx, dword [0x1400eb3a8]
mov dword [0x1400eb380], edx
jle 0x1400c0f32
mov dword [0x1400eb3a8], edx
mov eax, dword [0x1400eb3a4]
dec eax
cmp eax, dword [0x1400eb3cc]
mov dword [0x1400eb3a4], eax
jle 0x1400c0f4e
mov dword [0x1400eb3cc], eax
mov rcx, r14
call qword [0x1400e8410]
mov rcx, qword [0x1400eb508]
test rcx, rcx
je 0x1400c0f74
call qword [0x1400e8478]
jmp 0x1400c0f74
mov rcx, r14
call qword [0x1400e8410]
xor esi, esi
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
mov dword [rax], r13d
mov eax, dword [rsp + 0x98]
mov qword [rcx], rsi
jmp 0x1400c0f9a
mov eax, 7
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
pop r13
pop r12
pop rsi
pop rbx
ret