Function at 0x1800c78f0
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 rsi
push r12
push r14
sub rsp, 0x60
mov r12d, dword [r8]
mov rsi, rcx
mov rcx, qword [rsp + 0xb8]
mov r14, r9
mov qword [rsp + 0x30], rcx
mov rbp, rdx
mov dword [rsp + 0x98], 0
test rdx, rdx
jne 0x1800c7937
xor ebx, ebx
jmp 0x1800c794f
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rbx + rdx], 0
jne 0x1800c7940
and ebx, 0x3fffffff
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r15
test r12b, 0x40
jne 0x1800c7971
cmp byte [0x18015a086], 0
je 0x1800c7e29
cmp ebx, 5
jb 0x1800c7e29
cmp dword [rdx], 0x656c6966
jne 0x1800c7e29
cmp byte [rdx + 4], 0x3a
jne 0x1800c7e29
or r12d, 0x40
mov r8d, ebx
xor edi, edi
mov dword [rsp + 0x20], r12d
xor esi, esi
lea r14d, [rbx + 8]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x1800c79e2
lea rdx, [rbx - 1]
nop dword [rax]
nop word [rax + rax]
xor eax, eax
cmp byte [rcx + rbp], 0x26
sete al
add rdi, rax
xor eax, eax
cmp byte [rcx + rbp + 1], 0x26
sete al
add rcx, 2
add rsi, rax
cmp rcx, rdx
jl 0x1800c79c0
cmp rcx, r8
jge 0x1800c79f3
xor eax, eax
cmp byte [rcx + rbp], 0x26
sete al
add r14, rax
call sym.QoOBJSl.dll_hqlite3_initialize
test eax, eax
jne 0x1800c7ffe
lea rcx, [rsi + rdi]
add rcx, r14
call fcn.180005840
mov rdi, rax
test rax, rax
je 0x1800c7ffe
xor eax, eax
mov dword [rdi], eax
add rdi, 4
cmp byte [rbp + 5], 0x2f
mov qword [rsp + 0x28], rdi
lea ecx, [rax + 5]
jne 0x1800c7a9a
cmp byte [rbp + 6], 0x2f
jne 0x1800c7a9a
lea r8, [rbp + 7]
lea ecx, [rax + 7]
movzx eax, byte [r8]
test al, al
je 0x1800c7a9a
mov rdx, r8
cmp al, 0x2f
je 0x1800c7a57
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1800c7a46
cmp ecx, 7
je 0x1800c7a9a
cmp ecx, 0x10
jne 0x1800c7a7b
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1800c7a7b
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x1800c7a9a
lea edx, [rcx - 7]
mov dword [rsp + 0x98], 1
lea rcx, str.invalid_uri_authority:__.s
call sym.QoOBJSl.dll_hqlite3_mprintf
jmp 0x1800c7f39
movsxd rax, ecx
xor r9d, r9d
movzx edx, byte [rax + rbp]
test dl, dl
je 0x1800c7c29
lea rsi, [0x180134c40]
movsxd rbx, ecx
cmp dl, 0x23
je 0x1800c7c14
inc ecx
cmp dl, 0x25
jne 0x1800c7b82
movsxd rax, ecx
movzx r11d, byte [rax + rbp]
test byte [r11 + rsi], 8
je 0x1800c7b82
movzx r10d, byte [rbx + rbp + 2]
test byte [r10 + rsi], 8
je 0x1800c7b82
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 0x1800c7bfd
movsxd rdx, ecx
add rdx, rbp
movzx eax, byte [rdx]
test al, al
je 0x1800c7c05
cmp al, 0x23
je 0x1800c7c05
test r9d, r9d
jne 0x1800c7b52
cmp al, 0x3f
jmp 0x1800c7b6a
cmp r9d, 1
jne 0x1800c7b62
cmp al, 0x3d
je 0x1800c7c05
jmp 0x1800c7b68
cmp r9d, 2
jne 0x1800c7b70
cmp al, 0x26
je 0x1800c7c05
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1800c7b41
jmp 0x1800c7c05
cmp r9d, 1
jne 0x1800c7bde
cmp dl, 0x26
je 0x1800c7b92
cmp dl, 0x3d
jne 0x1800c7bfd
cmp byte [rdi - 1], 0
jne 0x1800c7bc6
movsxd rdx, ecx
add rdx, rbp
movzx r8d, byte [rdx]
test r8b, r8b
je 0x1800c7c05
cmp r8b, 0x23
je 0x1800c7c05
cmp byte [rdx - 1], 0x26
je 0x1800c7c05
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
movzx r8d, al
test al, al
jne 0x1800c7ba7
jmp 0x1800c7c05
cmp dl, 0x26
jne 0x1800c7bd6
inc r15d
mov byte [rdi], 0
inc rdi
jmp 0x1800c7bfb
mov r9d, 2
jmp 0x1800c7bfb
test r9d, r9d
jne 0x1800c7bea
cmp dl, 0x3f
je 0x1800c7bf5
jmp 0x1800c7bfd
cmp r9d, 2
jne 0x1800c7bfd
cmp dl, 0x26
jne 0x1800c7bfd
mov r9d, 1
xor dl, dl
inc r15d
mov byte [rdi], dl
inc rdi
movsxd rax, ecx
movzx edx, byte [rax + rbp]
test dl, dl
jne 0x1800c7ab3
mov rdi, qword [rsp + 0x28]
cmp r9d, 1
jne 0x1800c7c29
movsxd rax, r15d
inc r15d
mov byte [rax + rdi], 0
xor ecx, ecx
movsxd rax, r15d
mov dword [rax + rdi], ecx
test rdi, rdi
jne 0x1800c7c3a
xor eax, eax
jmp 0x1800c7c4e
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], cl
jne 0x1800c7c41
and eax, 0x3fffffff
lea r8, [rdi + 1]
add r8, rax
cmp byte [r8], cl
je 0x1800c7e79
mov r9d, 0x73
mov ebx, 0x68636163
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
mov esi, 0x65646f6d
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1800c7c80
and edx, 0x3fffffff
lea r14d, [rdx + 1]
add r14, r8
jne 0x1800c7c9f
xor ebp, ebp
xor edi, edi
jmp 0x1800c7cbe
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [r14 + rdi], 0
jne 0x1800c7ca6
mov ebp, edi
and ebp, 0x3fffffff
and edi, 0x3fffffff
cmp edx, 3
jne 0x1800c7ce7
cmp r10w, word [r8]
jne 0x1800c7ded
cmp r9b, byte [r8 + 2]
jne 0x1800c7ded
mov rsi, r14
mov qword [rsp + 0x90], r14
jmp 0x1800c7df5
cmp edx, 5
jne 0x1800c7d18
cmp ebx, dword [r8]
jne 0x1800c7ded
cmp r11b, byte [r8 + 4]
jne 0x1800c7ded
mov r15d, 0x60000
lea rsi, str.shared
mov r12d, r15d
lea r13, str.cache
jmp 0x1800c7d41
cmp edx, 4
jne 0x1800c7ded
cmp esi, dword [r8]
jne 0x1800c7ded
mov r15d, 0x87
lea rsi, [0x18015c830]
and r12d, r15d
lea r13, str.access
mov rcx, qword [rsi]
xor ebx, ebx
test rcx, rcx
je 0x1800c7d8d
nop dword [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800c7d57
and eax, 0x3fffffff
cmp ebp, eax
jne 0x1800c7d7b
mov rdx, rcx
mov r8d, ebp
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800c7daf
inc rbx
mov rax, rbx
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x1800c7d50
mov r8, r14
mov dword [rsp + 0x98], 1
mov rdx, r13
lea rcx, str.no_such__s_mode:__s
call sym.QoOBJSl.dll_hqlite3_mprintf
jmp 0x1800c7f34
add rbx, rbx
mov ecx, dword [rsi + rbx*8 + 8]
test ecx, ecx
je 0x1800c7d8d
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x1800c7e07
mov r12d, dword [rsp + 0x20]
not r15d
mov r9d, 0x73
and r12d, r15d
or r12d, ecx
mov ebx, 0x68636163
mov dword [rsp + 0x20], r12d
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
mov rsi, qword [rsp + 0x90]
lea r8, [rdi + 1]
add r8, r14
cmp byte [r8], 0
je 0x1800c7e81
jmp 0x1800c7c73
mov r8, r14
mov dword [rsp + 0x98], 3
mov rdx, r13
lea rcx, str._s_mode_not_allowed:__s
call sym.QoOBJSl.dll_hqlite3_mprintf
jmp 0x1800c7f34
call sym.QoOBJSl.dll_hqlite3_initialize
test eax, eax
jne 0x1800c7ffe
lea ecx, [rbx + 8]
call fcn.180005840
mov rdi, rax
test rax, rax
je 0x1800c7ffe
xor eax, eax
mov dword [rdi], eax
add rdi, 4
mov qword [rsp + 0x28], rdi
test ebx, ebx
je 0x1800c7e69
mov r8d, ebx
mov rdx, rbp
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
and r12d, 0xffffffbf
mov dword [rbx + rdi], ecx
mov dword [rsp + 0x20], r12d
jmp 0x1800c7e89
mov rsi, qword [rsp + 0x90]
mov r14, qword [rsp + 0xa8]
call sym.QoOBJSl.dll_hqlite3_initialize
test eax, eax
je 0x1800c7e9b
mov qword [r14], 0
jmp 0x1800c7f1a
cmp byte [0x18015a084], 0
jne 0x1800c7ea8
xor edi, edi
jmp 0x1800c7ec4
mov ecx, 2
call qword [0x18015a0f0]
mov rdi, rax
test rax, rax
je 0x1800c7ec4
mov rcx, rax
call qword [0x18015a100]
mov rbx, qword [0x18015cfa8]
test rbx, rbx
je 0x1800c7f00
test rsi, rsi
je 0x1800c7f00
mov r8, qword [rbx + 0x18]
mov rax, rsi
sub r8, rsi
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800c7ef3
inc rax
test ecx, ecx
jne 0x1800c7ee0
test edx, edx
je 0x1800c7f00
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1800c7ed0
test rdi, rdi
je 0x1800c7f0e
mov rcx, rdi
call qword [0x18015a110]
mov qword [r14], rbx
test rbx, rbx
jne 0x1800c7fd7
mov rdx, rsi
mov dword [rsp + 0x98], 1
lea rcx, str.no_such_vfs:__s
call sym.QoOBJSl.dll_hqlite3_mprintf
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
test rdi, rdi
je 0x1800c7fd3
nop word [rax + rax]
cmp byte [rdi - 1], 0
jne 0x1800c7f68
cmp byte [rdi - 2], 0
jne 0x1800c7f68
cmp byte [rdi - 3], 0
jne 0x1800c7f68
cmp byte [rdi - 4], 0
je 0x1800c7f6d
dec rdi
jmp 0x1800c7f50
lea rbx, [rdi - 4]
test rbx, rbx
je 0x1800c7fd3
cmp dword [0x18015a080], 0
je 0x1800c7fca
mov rcx, qword [0x18015d358]
test rcx, rcx
je 0x1800c7f91
call qword [0x18015a100]
mov rcx, rbx
call qword [0x18015a0b8]
dec qword [0x18015d0e8]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x18015d0a0], rdx
call qword [0x18015a0a8]
mov rcx, qword [0x18015d358]
test rcx, rcx
je 0x1800c7fd3
call qword [0x18015a110]
xor eax, eax
jmp 0x1800c7fdc
mov rcx, rbx
call qword [0x18015a0a8]
xor eax, eax
jmp 0x1800c7fdc
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x20]
mov dword [rcx], edx
mov rcx, qword [rsp + 0xb0]
mov qword [rcx], rax
mov eax, dword [rsp + 0x98]
jmp 0x1800c8003
mov eax, 7
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x60
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret