Function at 0x1400b1680
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov edi, dword [r8]
mov r13d, edi
and r13d, 0x40
mov r12, rcx
mov rsi, rdx
mov rbp, r8
mov r15, r9
test rdx, rdx
je 0x1400b1990
mov rcx, rdx
call sym.strlen
mov r14d, eax
and r14d, 0x3fffffff
lea ebx, [r14 + 8]
movsxd rbx, ebx
test r13d, r13d
je 0x1400b1770
cmp r14d, 4
jle 0x1400b16e3
cmp dword [rsi], 0x656c6966
je 0x1400b17b3
mov eax, dword [0x14014efd4]
test eax, eax
jne 0x1400b1790
call sym.sqlite3MutexInit
test eax, eax
jne 0x1400b1768
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1400b1768
mov rcx, rbx
call sym.sqlite3Malloc
test rax, rax
je 0x1400b1768
mov dword [rax], 0
lea rbx, [rax + 4]
movsxd r13, r14d
test r14d, r14d
jne 0x1400b17a0
mov dword [rbx + r13], 0
and edi, 0xffffffbf
mov rcx, r12
xor esi, esi
call sym.sqlite3_vfs_find
mov qword [r15], rax
test rax, rax
je 0x1400b19a2
mov rax, qword [rsp + 0xa0]
mov dword [rbp], edi
mov qword [rax], rbx
mov eax, esi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 7
jmp 0x1400b1751
movzx eax, byte [0x14014ee86]
test al, al
jne 0x1400b16d1
mov eax, dword [0x14014efd4]
test eax, eax
je 0x1400b16f1
nop dword [rax]
lock or qword [rsp], 0
jmp 0x1400b1703
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call sym.memcpy
jmp 0x1400b1722
cmp byte [rsi + 4], 0x3a
jne 0x1400b16e3
movsxd rcx, r14d
xor r13d, r13d
or edi, 0x40
mov rax, rsi
add rcx, rsi
nop dword [rax]
xor edx, edx
cmp byte [rax], 0x26
sete dl
add rax, 1
add rbx, rdx
cmp rax, rcx
jne 0x1400b17d0
mov edx, dword [0x14014efd4]
test edx, edx
jne 0x1400b1c74
call sym.sqlite3MutexInit
test eax, eax
jne 0x1400b1768
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1400b1768
mov rcx, rbx
call sym.sqlite3Malloc
test rax, rax
je 0x1400b1768
mov dword [rax], 0
lea rbx, [rax + 4]
movzx eax, byte [rsi + 5]
cmp al, 0x2f
je 0x1400b1c92
test al, al
mov edx, 5
setne cl
cmp al, 0x23
je 0x1400b1da3
test cl, cl
je 0x1400b1da3
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x90], rbp
jmp 0x1400b18af
cmp r9d, 1
je 0x1400b1a08
test r9d, r9d
jne 0x1400b1a35
cmp al, 0x3f
jne 0x1400b1a35
mov r9d, 1
xor eax, eax
mov byte [rbx + r10], al
add r13d, 1
mov edx, ecx
movsxd r8, r13d
movsxd rax, edx
movzx eax, byte [rsi + rax]
cmp al, 0x23
je 0x1400b1a5c
test al, al
je 0x1400b1a5c
lea ecx, [rdx + 1]
mov r10, r8
cmp al, 0x25
jne 0x1400b1868
movsxd rdi, ecx
lea rbp, [0x140176360]
movzx r14d, byte [rsi + rdi]
test byte [rbp + r14], 8
je 0x1400b188b
movzx edi, byte [rsi + rdi + 1]
test byte [rbp + rdi], 8
je 0x1400b188b
movsx r11d, r14b
lea ecx, [rdx + 3]
add edx, 2
mov eax, r11d
movsxd rdx, edx
sar eax, 6
and eax, 1
lea eax, [rax + rax*8]
add eax, r11d
movsx r11d, byte [rsi + rdx]
and eax, 0xf
mov edx, r11d
shl eax, 4
sar edx, 6
and edx, 1
lea edx, [rdx + rdx*8]
add edx, r11d
and edx, 0xf
add edx, eax
mov eax, edx
jne 0x1400b188b
movsxd rcx, ecx
movzx eax, byte [rsi + rcx]
cmp al, 0x23
je 0x1400b1a5c
test al, al
je 0x1400b1a5c
test r9d, r9d
mov rbp, qword [rsp + 0x90]
setne r10b
jmp 0x1400b196a
cmp r9d, 2
jne 0x1400b1951
cmp al, 0x26
je 0x1400b1983
movzx eax, byte [rsi + rcx + 1]
add rcx, 1
cmp al, 0x23
je 0x1400b1dab
test al, al
je 0x1400b1dab
mov edx, ecx
cmp al, 0x3f
jne 0x1400b1979
test r10b, r10b
je 0x1400b1db4
cmp r9d, 1
jne 0x1400b1947
cmp al, 0x3d
jne 0x1400b194d
mov qword [rsp + 0x90], rbp
jmp 0x1400b1898
test r13d, r13d
je 0x1400b19fc
mov ebx, 8
xor r14d, r14d
jmp 0x1400b16e3
mov rdx, r12
lea rcx, str.no_such_vfs:__s
mov esi, 1
call sym.sqlite3_mprintf
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0xa8]
mov qword [rdx], rax
jmp 0x1400b19d4
sub rbx, 1
cmp byte [rbx - 1], 0
jne 0x1400b19d0
cmp byte [rbx - 2], 0
jne 0x1400b19d0
cmp byte [rbx - 3], 0
jne 0x1400b19d0
cmp byte [rbx - 4], 0
jne 0x1400b19d0
lea rcx, [rbx - 4]
xor ebx, ebx
call sym.sqlite3_free
jmp 0x1400b1743
movzx eax, byte [0x14014ee86]
jmp 0x1400b1995
cmp al, 0x26
je 0x1400b1a14
cmp al, 0x3d
jne 0x1400b188b
cmp byte [rbx + r8 - 1], 0
je 0x1400b1d14
cmp al, 0x26
je 0x1400b1c7f
mov r9d, 2
xor eax, eax
jmp 0x1400b188b
cmp r9d, 2
jne 0x1400b188b
cmp al, 0x26
mov edi, 1
sete dl
test dl, dl
cmovne r9d, edi
mov edi, 0
cmovne eax, edi
jmp 0x1400b188b
mov edi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0x90]
add r8, rbx
cmp r9d, 1
je 0x1400b1d65
mov dword [r8], 0
mov rcx, rbx
call sym.strlen
and eax, 0x3fffffff
lea r13, [rbx + rax + 1]
cmp byte [r13], 0
je 0x1400b172d
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r15
nop word cs:[rax + rax]
mov rcx, r13
call sym.strlen
mov r14d, eax
and r14d, 0x3fffffff
lea esi, [r14 + 1]
movsxd rsi, esi
add rsi, r13
mov rcx, rsi
call sym.strlen
mov r15d, eax
and r15d, 0x3fffffff
cmp r14d, 3
je 0x1400b1be0
cmp r14d, 5
je 0x1400b1c38
cmp r14d, 4
jne 0x1400b1ba7
cmp dword [r13], 0x65646f6d
jne 0x1400b1ba7
lea rax, str.access
mov ebx, edi
mov r12d, 0x87
mov qword [rsp + 0x28], rax
and ebx, 0x87
lea rbp, [0x14014db40]
mov r14, qword [rbp]
test r14, r14
je 0x1400b1c08
movsxd r13, r15d
jmp 0x1400b1b61
mov r14, qword [rbp + 0x10]
add rbp, 0x10
test r14, r14
je 0x1400b1c08
mov rcx, r14
call sym.strlen
and eax, 0x3fffffff
cmp r15d, eax
jne 0x1400b1b50
mov r8, r13
mov rdx, r14
mov rcx, rsi
call sym.memcmp
test eax, eax
jne 0x1400b1b50
mov r9d, dword [rbp + 8]
test r9d, r9d
je 0x1400b1c08
mov eax, r9d
and al, 0x7f
cmp eax, ebx
jg 0x1400b1d78
mov eax, r12d
not eax
and eax, edi
mov edi, r9d
or edi, eax
lea edx, [r15 + 1]
movsxd rdx, edx
lea r13, [rsi + rdx]
cmp byte [r13], 0
jne 0x1400b1ac0
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x90]
mov r15, qword [rsp + 0x98]
jmp 0x1400b172d
cmp word [r13], 0x6676
jne 0x1400b1ba7
cmp byte [r13 + 2], 0x73
mov rax, rsi
cmovne rax, qword [rsp + 0x80]
mov qword [rsp + 0x80], rax
jmp 0x1400b1ba7
mov rdx, qword [rsp + 0x28]
mov r8, rsi
lea rcx, str.no_such__s_mode:__s
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x90]
mov esi, 1
call sym.sqlite3_mprintf
jmp 0x1400b19c0
cmp dword [r13], 0x68636163
jne 0x1400b1ba7
cmp byte [r13 + 4], 0x65
jne 0x1400b1ba7
lea rax, str.cache
mov r12d, 0x60000
mov ebx, 0x60000
mov qword [rsp + 0x28], rax
lea rbp, str.shared
jmp 0x1400b1b3b
lock or qword [rsp], 0
jmp 0x1400b180c
add r13d, 1
mov byte [rbx + r8], 0
xor eax, eax
movsxd r10, r13d
jmp 0x1400b188b
cmp byte [rsi + 6], 0x2f
mov edx, 5
jne 0x1400b184d
movzx eax, byte [rsi + 7]
lea r8, [rsi + 7]
test al, al
setne dl
mov ecx, edx
cmp al, 0x2f
je 0x1400b1dee
test dl, dl
je 0x1400b1dee
lea rax, [rsi + 8]
mov edx, 7
jmp 0x1400b1cd0
cmp cl, 0x2f
je 0x1400b1ce1
movzx ecx, byte [rax]
mov r9d, edx
add rax, 1
add edx, 1
test cl, cl
jne 0x1400b1ccb
cmp edx, 0x10
jne 0x1400b1cfa
movabs rax, 0x736f686c61636f6c
cmp qword [rsi + 7], rax
je 0x1400b1dc4
lea edx, [r9 - 6]
lea rcx, str.invalid_uri_authority:__.s
mov esi, 1
call sym.sqlite3_mprintf
jmp 0x1400b19c0
movsxd rax, ecx
add rax, rsi
movzx edx, byte [rax]
cmp dl, 0x23
je 0x1400b1ddd
test dl, dl
je 0x1400b1ddd
mov rbp, qword [rsp + 0x90]
mov edx, ecx
jmp 0x1400b1d45
cmp cl, 0x23
je 0x1400b1d5e
cmp byte [rax - 1], 0x26
je 0x1400b1983
movzx ecx, byte [rax + 1]
add edx, 1
add rax, 1
test cl, cl
jne 0x1400b1d40
mov edi, dword [rsp + 0x20]
add r8, rbx
mov byte [r8], 0
lea r8d, [r13 + 1]
movsxd r8, r8d
add r8, rbx
jmp 0x1400b1a75
mov rdx, qword [rsp + 0x28]
mov r8, rsi
lea rcx, str._s_mode_not_allowed:__s
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x90]
mov esi, 3
call sym.sqlite3_mprintf
jmp 0x1400b19c0
mov r8, rbx
jmp 0x1400b1a75
mov edi, dword [rsp + 0x20]
jmp 0x1400b1a68
mov qword [rsp + 0x90], rbp
xor r9d, r9d
jmp 0x1400b1898
cmp byte [r8 + 8], 0x74
jne 0x1400b1cfa
movzx eax, byte [rsi + 0x10]
test al, al
setne cl
jmp 0x1400b183d
mov edi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0x90]
jmp 0x1400b1d62
mov edx, 7
jmp 0x1400b183d