Function at 0x1400c3fa0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r13, qword [rsp + 0xa8]
mov r15, r9
mov r12d, dword [r8]
mov r14, rdx
mov dword [rsp + 0x88], 0
mov rbp, rcx
test rdx, rdx
jne 0x1400c3fe5
xor ebx, ebx
jmp 0x1400c3fff
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1400c3ff0
and ebx, 0x3fffffff
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
test r12b, 0x40
jne 0x1400c401c
cmp dword [0x1400e60ac], 0
je 0x1400c44ff
cmp ebx, 5
jb 0x1400c44ff
cmp dword [rdx], 0x656c6966
jne 0x1400c44ff
cmp byte [rdx + 4], 0x3a
jne 0x1400c44ff
or r12d, 0x40
mov r8d, ebx
xor edi, edi
mov dword [rsp + 0x20], r12d
xor esi, esi
lea ebp, [rbx + 2]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x1400c4084
lea rdx, [rbx - 1]
nop dword [rax]
xor eax, eax
cmp byte [rcx + r14], 0x26
sete al
add rdi, rax
xor eax, eax
cmp byte [rcx + r14 + 1], 0x26
sete al
add rcx, 2
add rsi, rax
cmp rcx, rdx
jl 0x1400c4060
cmp rcx, r8
jge 0x1400c4096
xor eax, eax
cmp byte [rcx + r14], 0x26
sete al
add rbp, rax
call fcn.1400c0790
test eax, eax
jne 0x1400c469d
lea rcx, [rsi + rdi]
add rcx, rbp
call fcn.140016080
mov qword [rsp + 0x28], rax
mov rsi, rax
test rax, rax
je 0x1400c469d
cmp byte [r14 + 5], 0x2f
mov ecx, 5
jne 0x1400c413c
cmp byte [r14 + 6], 0x2f
jne 0x1400c413c
movzx eax, byte [r14 + 7]
lea r8, [r14 + 7]
mov ecx, 7
test al, al
je 0x1400c413c
mov rdx, r8
cmp al, 0x2f
je 0x1400c40f9
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1400c40e8
cmp ecx, 7
je 0x1400c413c
cmp ecx, 0x10
jne 0x1400c411d
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1400c411d
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x1400c413c
lea edx, [rcx - 7]
mov dword [rsp + 0x88], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.140018d70
jmp 0x1400c4614
movsxd rax, ecx
xor r9d, r9d
movzx edx, byte [rax + r14]
test dl, dl
je 0x1400c42d4
mov rdi, rsi
lea rbp, [0x1400cc590]
nop dword [rax]
movsxd rbx, ecx
cmp dl, 0x23
je 0x1400c42c4
inc ecx
cmp dl, 0x25
jne 0x1400c4231
movsxd rax, ecx
movzx r11d, byte [rax + r14]
test byte [r11 + rbp], 8
je 0x1400c4231
movzx r10d, byte [rbx + r14 + 2]
test byte [r10 + rbp], 8
je 0x1400c4231
movzx edx, r11b
movsx eax, r11b
sar eax, 6
and al, 1
movsx r8d, r10b
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, r10b
and edx, 0xf
shl edx, 4
sub al, cl
lea ecx, [rbx + 3]
and eax, 0xf
add edx, eax
jne 0x1400c42ac
movsxd rdx, ecx
add rdx, r14
movzx eax, byte [rdx]
test al, al
je 0x1400c42b4
nop
cmp al, 0x23
je 0x1400c42b4
test r9d, r9d
jne 0x1400c4201
cmp al, 0x3f
jmp 0x1400c4219
cmp r9d, 1
jne 0x1400c4211
cmp al, 0x3d
je 0x1400c42b4
jmp 0x1400c4217
cmp r9d, 2
jne 0x1400c421f
cmp al, 0x26
je 0x1400c42b4
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1400c41f0
jmp 0x1400c42b4
cmp r9d, 1
jne 0x1400c428d
cmp dl, 0x26
je 0x1400c4241
cmp dl, 0x3d
jne 0x1400c42ac
cmp byte [rdi - 1], 0
jne 0x1400c4275
movsxd rdx, ecx
add rdx, r14
movzx r8d, byte [rdx]
test r8b, r8b
je 0x1400c42b4
cmp r8b, 0x23
je 0x1400c42b4
cmp byte [rdx - 1], 0x26
je 0x1400c42b4
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
movzx r8d, al
test al, al
jne 0x1400c4256
jmp 0x1400c42b4
cmp dl, 0x26
jne 0x1400c4285
inc r15d
mov byte [rdi], 0
inc rdi
jmp 0x1400c42aa
mov r9d, 2
jmp 0x1400c42aa
test r9d, r9d
jne 0x1400c4299
cmp dl, 0x3f
je 0x1400c42a4
jmp 0x1400c42ac
cmp r9d, 2
jne 0x1400c42ac
cmp dl, 0x26
jne 0x1400c42ac
mov r9d, 1
xor dl, dl
inc r15d
mov byte [rdi], dl
inc rdi
movsxd rax, ecx
movzx edx, byte [rax + r14]
test dl, dl
jne 0x1400c4160
cmp r9d, 1
jne 0x1400c42d4
movsxd rax, r15d
inc r15d
mov byte [rax + rsi], 0
movsxd rax, r15d
mov word [rax + rsi], 0
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x1400c42e4
and eax, 0x3fffffff
lea r8, [rax + 1]
add r8, rsi
cmp byte [r8], 0
je 0x1400c4553
mov r9d, 0x73
mov edi, 0x68636163
mov esi, 0x65646f6d
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
nop dword [rax]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1400c4330
and edx, 0x3fffffff
lea r14d, [rdx + 1]
add r14, r8
jne 0x1400c434f
xor ebp, ebp
xor ebx, ebx
jmp 0x1400c436e
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], 0
jne 0x1400c4356
mov ebp, ebx
and ebp, 0x3fffffff
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400c4397
cmp r10w, word [r8]
jne 0x1400c44aa
cmp r9b, byte [r8 + 2]
jne 0x1400c44aa
mov rbp, r14
mov qword [rsp + 0x80], r14
jmp 0x1400c44b2
cmp edx, 5
jne 0x1400c43c8
cmp edi, dword [r8]
jne 0x1400c44aa
cmp r11b, byte [r8 + 4]
jne 0x1400c44aa
mov r15d, 0x60000
lea rsi, str._o_r_
mov r12d, r15d
lea r13, str.cache
jmp 0x1400c43f1
cmp edx, 4
jne 0x1400c44aa
cmp esi, dword [r8]
jne 0x1400c44aa
mov r15d, 0x87
lea rsi, str.Po_r_
and r12d, r15d
lea r13, str.access
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x1400c443d
nop dword [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400c4407
and eax, 0x3fffffff
cmp ebp, eax
jne 0x1400c442b
mov rdx, rcx
mov r8d, ebp
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c4467
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x1400c4400
mov r8, r14
mov dword [rsp + 0x88], 1
mov rdx, r13
lea rcx, str.no_such__s_mode:__s
call fcn.140018d70
mov r13, qword [rsp + 0xa8]
jmp 0x1400c4614
add rdi, rdi
mov ecx, dword [rsi + rdi*8 + 8]
test ecx, ecx
je 0x1400c443d
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x1400c44d5
mov r12d, dword [rsp + 0x20]
not r15d
mov r9d, 0x73
and r12d, r15d
or r12d, ecx
mov edi, 0x68636163
mov dword [rsp + 0x20], r12d
mov esi, 0x65646f6d
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
mov rbp, qword [rsp + 0x80]
lea r8, [rbx + 1]
add r8, r14
cmp byte [r8], 0
jne 0x1400c4320
mov rsi, qword [rsp + 0x28]
mov r13, qword [rsp + 0xa8]
jmp 0x1400c455b
mov r8, r14
mov dword [rsp + 0x88], 3
mov rdx, r13
lea rcx, str._s_mode_not_allowed:__s
call fcn.140018d70
mov r13, qword [rsp + 0xa8]
jmp 0x1400c4614
call fcn.1400c0790
test eax, eax
jne 0x1400c469d
lea ecx, [rbx + 2]
call fcn.140016080
mov qword [rsp + 0x28], rax
mov rsi, rax
test rax, rax
je 0x1400c469d
test ebx, ebx
je 0x1400c453b
mov r8d, ebx
mov rdx, r14
mov rcx, rax
mov edi, ebx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400c453d
xor edi, edi
mov eax, ebx
and r12d, 0xffffffbf
mov byte [rdi + rsi], 0
mov dword [rsp + 0x20], r12d
mov byte [rax + rsi + 1], 0
jmp 0x1400c4563
mov rbp, qword [rsp + 0x80]
mov r15, qword [rsp + 0x98]
call fcn.1400c0790
test eax, eax
je 0x1400c4578
mov qword [r15], 0
jmp 0x1400c45fa
cmp dword [0x1400e60a4], 0
jne 0x1400c4585
xor edi, edi
jmp 0x1400c45a1
mov ecx, 2
call qword [0x1400e6120]
mov rdi, rax
test rax, rax
je 0x1400c45a1
mov rcx, rax
call qword [0x1400e6130]
mov rbx, qword [0x1400e8868]
test rbx, rbx
je 0x1400c45e0
test rbp, rbp
je 0x1400c45e0
mov r8, qword [rbx + 0x18]
mov rax, rbp
sub r8, rbp
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400c45d3
inc rax
test ecx, ecx
jne 0x1400c45c0
test edx, edx
je 0x1400c45e0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400c45b2
test rdi, rdi
je 0x1400c45ee
mov rcx, rdi
call qword [0x1400e6140]
mov qword [r15], rbx
test rbx, rbx
jne 0x1400c467b
mov rdx, rbp
mov dword [rsp + 0x88], 1
lea rcx, str.no_such_vfs:__s
call fcn.140018d70
mov qword [r13], rax
cmp dword [0x1400e60a0], 0
je 0x1400c466e
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400c4633
call qword [0x1400e6130]
mov rcx, qword [rsp + 0x28]
call qword [0x1400e60e8]
dec qword [0x1400e89b8]
movsxd rcx, eax
sub qword [0x1400e8970], rcx
mov rcx, qword [rsp + 0x28]
call qword [0x1400e60d8]
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400c4679
call qword [0x1400e6140]
jmp 0x1400c4679
mov rcx, qword [rsp + 0x28]
call qword [0x1400e60d8]
xor esi, esi
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x20]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rsi
jmp 0x1400c46a2
mov eax, 7
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret