Function at 0x140230730
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x60], xmm9
movaps xmmword [rsp + 0x70], xmm10
mov esi, dword [r8]
test rdx, rdx
mov r12, rcx
mov rbx, rdx
mov rbp, r8
mov r14, r9
je 0x140230ce0
mov rcx, rdx
call sym.strlen
mov r15d, eax
mov rdx, rax
and r15d, 0x3fffffff
test sil, 0x40
lea r13d, [r15 + 8]
movsxd rdi, r13d
je 0x140230820
cmp r15d, 4
jle 0x1402307af
cmp dword [rbx], 0x656c6966
je 0x14023089f
call sym.sqlite3_initialize
test eax, eax
jne 0x140230840
mov eax, dword [0x1402b2060]
test eax, eax
jne 0x140230880
mov ecx, r13d
call qword [0x1402b2080]
test rax, rax
je 0x140230840
mov dword [rax], 0
lea r13, [rax + 4]
test r15d, r15d
movsxd rdi, r15d
jne 0x140230cf8
mov dword [r13 + rdi], 0
and esi, 0xffffffbf
mov rcx, r12
xor ebx, ebx
call sym.sqlite3_vfs_find
test rax, rax
mov qword [r14], rax
je 0x140230d0b
mov rax, qword [rsp + 0xf0]
mov dword [rbp], esi
mov qword [rax], r13
jmp 0x140230845
cmp byte [0x1402b2066], 0
je 0x1402307af
cmp r15d, 4
jg 0x1402307a3
jmp 0x1402307af
mov ebx, 7
movaps xmm6, xmmword [rsp + 0x30]
mov eax, ebx
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x1402b1d00]
test rcx, rcx
je 0x140230892
call qword [0x1402b20e0]
mov rcx, rdi
call sym.sqlite3Malloc.part.0
jmp 0x1402307d3
cmp byte [rbx + 4], 0x3a
jne 0x1402307af
lea ecx, [r15 - 1]
xor eax, eax
cmp ecx, 0xe
jbe 0x140231123
mov ecx, r15d
mov rax, rbx
pxor xmm4, xmm4
pxor xmm6, xmm6
shr ecx, 4
movdqa xmm7, xmmword [0x140336130]
pxor xmm5, xmm5
pxor xmm3, xmm3
movdqa xmm8, xmmword [0x140336120]
shl rcx, 4
add rcx, rbx
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
cmp rcx, rax
pcmpeqb xmm0, xmm8
pand xmm0, xmm7
movdqa xmm2, xmm0
punpckhbw xmm0, xmm6
movdqa xmm9, xmm0
punpcklbw xmm2, xmm6
movdqa xmm1, xmm2
punpckhwd xmm2, xmm5
punpckhwd xmm0, xmm5
punpcklwd xmm1, xmm5
movdqa xmm10, xmm1
punpckldq xmm1, xmm3
punpcklwd xmm9, xmm5
punpckhdq xmm10, xmm3
paddq xmm1, xmm10
movdqa xmm10, xmm2
punpckldq xmm2, xmm3
punpckhdq xmm10, xmm3
paddq xmm2, xmm10
paddq xmm1, xmm2
movdqa xmm2, xmm9
punpckldq xmm9, xmm3
punpckhdq xmm2, xmm3
paddq xmm9, xmm2
movdqa xmm2, xmm0
punpckldq xmm0, xmm3
paddq xmm1, xmm9
punpckhdq xmm2, xmm3
paddq xmm0, xmm2
paddq xmm0, xmm1
paddq xmm4, xmm0
jne 0x1402308f0
movdqa xmm0, xmm4
mov eax, edx
psrldq xmm0, 8
and eax, 0x3ffffff0
paddq xmm4, xmm0
movq r13, xmm4
add r13, rdi
cmp r15d, eax
je 0x140230b38
movsxd rdx, eax
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 1]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 2]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 3]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 4]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 5]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 6]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 7]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 8]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 9]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xa]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xb]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xc]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xd]
cmp r15d, edx
jle 0x140230b38
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
add eax, 0xe
movzx edx, dl
add r13, rdx
cmp r15d, eax
jle 0x140230b38
cdqe
cmp byte [rbx + rax], 0x26
sete al
movzx eax, al
add r13, rax
nop word [rax + rax]
call sym.sqlite3_initialize
test eax, eax
mov edi, eax
jne 0x140230840
mov rcx, r13
call sym.sqlite3Malloc
test rax, rax
je 0x140230840
mov dword [rax], 0
lea r13, [rax + 4]
movzx eax, byte [rbx + 5]
or esi, 0x40
cmp al, 0x2f
je 0x140230fd9
test al, al
mov r11d, 5
setne dl
cmp al, 0x23
je 0x14023113a
test dl, dl
je 0x14023113a
xor r10d, r10d
xor edx, edx
mov dword [rsp + 0x20], esi
mov qword [rsp + 0xe0], rbp
jmp 0x140230be7
cmp edi, 1
je 0x140230d68
test edi, edi
jne 0x140230d97
cmp al, 0x3f
jne 0x140230d97
mov edi, 1
xor eax, eax
movsxd r9, r8d
mov byte [r13 + rcx], al
movzx eax, byte [rbx + r9]
add r10d, 1
test al, al
je 0x140230db0
cmp al, 0x23
je 0x140230db0
movsxd rdx, r10d
mov r11d, r8d
lea r8d, [r11 + 1]
cmp al, 0x25
mov rcx, rdx
jne 0x140230ba0
lea rbp, [0x14033c880]
movsxd r9, r8d
movzx r15d, byte [rbx + r9]
test byte [rbp + r15], 8
mov rsi, r15
je 0x140230bc3
movzx r15d, byte [rbx + r9 + 1]
test byte [rbp + r15], 8
je 0x140230bc3
lea r9d, [r11 + 2]
movsx esi, sil
lea r8d, [r11 + 3]
mov eax, esi
movsxd r9, r9d
sar eax, 6
and eax, 1
lea eax, [rax + rax*8]
add eax, esi
movsx esi, byte [rbx + r9]
and eax, 0xf
shl eax, 4
mov r9d, esi
sar r9d, 6
and r9d, 1
lea r11d, [r9 + r9*8]
movsxd r9, r8d
add r11d, esi
and r11d, 0xf
add r11d, eax
mov eax, r11d
jne 0x140230bc3
movzx eax, byte [rbx + r9]
cmp al, 0x23
je 0x1402311a7
test al, al
je 0x1402311a7
cmp edi, 1
je 0x14023105e
test edi, edi
mov rbp, qword [rsp + 0xe0]
setne cl
jmp 0x140230cb2
movzx eax, byte [rbx + r9 + 1]
add r9, 1
cmp al, 0x23
je 0x140231142
test al, al
je 0x140231142
cmp al, 0x3f
mov r8d, r9d
jne 0x140230cc1
test cl, cl
je 0x14023114e
cmp edi, 2
jne 0x140230c98
cmp al, 0x26
jne 0x140230c98
mov qword [rsp + 0xe0], rbp
jmp 0x140230be4
mov edi, 8
mov r13d, 8
xor r15d, r15d
jmp 0x1402307af
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call sym.memcpy
jmp 0x1402307ee
lea rcx, str.no_such_vfs:__s
mov rdx, r12
mov ebx, 1
call sym.sqlite3_mprintf
nop
mov rdx, qword [rsp + 0xf8]
mov qword [rdx], rax
jmp 0x140230d34
sub r13, 1
cmp byte [r13 - 1], 0
jne 0x140230d30
cmp byte [r13 - 2], 0
jne 0x140230d30
cmp byte [r13 - 3], 0
jne 0x140230d30
cmp byte [r13 - 4], 0
jne 0x140230d30
lea rcx, [r13 - 4]
xor r13d, r13d
call sym.sqlite3_free
jmp 0x140230810
cmp al, 0x26
je 0x140230d74
cmp al, 0x3d
jne 0x140230bc0
cmp byte [r13 + rdx - 1], 0
je 0x1402310d6
cmp al, 0x26
je 0x140230fc2
mov edi, 2
xor eax, eax
movsxd r9, r8d
jmp 0x140230bc3
cmp edi, 2
jne 0x140230bc0
cmp al, 0x26
je 0x140230bb9
jmp 0x140230bc0
mov esi, dword [rsp + 0x20]
movsxd rcx, r10d
mov rbp, qword [rsp + 0xe0]
lea rdx, [r13 + rcx]
cmp edi, 1
je 0x140231099
mov dword [rdx], 0
mov rcx, r13
call sym.strlen
and eax, 0x3fffffff
lea rdi, [r13 + rax + 1]
cmp byte [rdi], 0
je 0x1402307fa
mov qword [rsp + 0x20], r13
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xe8], r14
nop dword [rax + rax]
mov rcx, rdi
call sym.strlen
mov r14d, eax
and r14d, 0x3fffffff
lea ebx, [r14 + 1]
movsxd rbx, ebx
add rbx, rdi
mov rcx, rbx
call sym.strlen
mov r12d, eax
and r12d, 0x3fffffff
cmp r14d, 3
je 0x140230f30
cmp r14d, 5
je 0x140230f88
cmp r14d, 4
jne 0x140230ef2
cmp dword [rdi], 0x65646f6d
jne 0x140230ef2
lea rax, str.access
mov r15d, esi
mov r14d, 0xffffff78
and r15d, 0x87
mov qword [rsp + 0x28], rax
lea rbp, str.fL3_
mov r13, qword [rbp]
test r13, r13
je 0x140230f58
movsxd rdi, r12d
jmp 0x140230eb1
mov r13, qword [rbp + 0x10]
add rbp, 0x10
test r13, r13
je 0x140230f58
mov rcx, r13
call sym.strlen
and eax, 0x3fffffff
cmp r12d, eax
jne 0x140230ea0
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140230ea0
mov eax, dword [rbp + 8]
test eax, eax
je 0x140230f58
mov edx, eax
and dl, 0x7f
cmp edx, r15d
jg 0x1402310ab
and r14d, esi
or eax, r14d
mov esi, eax
lea r8d, [r12 + 1]
movsxd r8, r8d
lea rdi, [rbx + r8]
cmp byte [rdi], 0
jne 0x140230e10
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
jmp 0x1402307fa
cmp word [rdi], 0x6676
jne 0x140230ef2
cmp byte [rdi + 2], 0x73
mov rax, rbx
cmovne rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
jmp 0x140230ef2
mov rdx, qword [rsp + 0x28]
lea rcx, str.no_such__s_mode:__s
mov r8, rbx
mov ebx, 1
mov r13, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
call sym.sqlite3_mprintf
jmp 0x140230d20
cmp dword [rdi], 0x68636163
jne 0x140230ef2
cmp byte [rdi + 4], 0x65
jne 0x140230ef2
lea rax, str.cache
mov r14d, 0xfff9ffff
mov r15d, 0x60000
mov qword [rsp + 0x28], rax
lea rbp, str.pL3_
jmp 0x140230e8b
add r10d, 1
mov byte [r13 + rdx], 0
xor eax, eax
movsxd r9, r8d
movsxd rcx, r10d
jmp 0x140230bc3
cmp byte [rbx + 6], 0x2f
mov r11d, 5
jne 0x140230b8c
movzx eax, byte [rbx + 7]
lea r8, [rbx + 7]
test al, al
setne cl
cmp al, 0x2f
mov edx, ecx
je 0x14023117b
test cl, cl
je 0x14023117b
lea rax, [rbx + 8]
mov r11d, 7
jmp 0x140231019
cmp dl, 0x2f
je 0x14023102b
movzx edx, byte [rax]
mov ecx, r11d
add rax, 1
add r11d, 1
test dl, dl
jne 0x140231014
cmp r11d, 0x10
jne 0x140231045
movabs rax, 0x736f686c61636f6c
cmp qword [rbx + 7], rax
je 0x140231162
lea edx, [rcx - 6]
mov ebx, 1
lea rcx, str.invalid_uri_authority:__.s
call sym.sqlite3_mprintf
jmp 0x140230d20
mov rbp, qword [rsp + 0xe0]
jmp 0x140231074
cmp al, 0x23
je 0x140231092
cmp al, 0x26
je 0x140231197
cmp al, 0x3d
je 0x140231197
movzx eax, byte [rbx + r9 + 1]
add r9, 1
test al, al
jne 0x140231070
mov esi, dword [rsp + 0x20]
add rdx, r13
mov byte [rdx], 0
lea edx, [r10 + 1]
movsxd rdx, edx
add rdx, r13
jmp 0x140230dcd
mov rdx, qword [rsp + 0x28]
lea rcx, str._s_mode_not_allowed:__s
mov r8, rbx
mov ebx, 3
mov r13, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
call sym.sqlite3_mprintf
jmp 0x140230d20
movsxd rcx, r8d
add rcx, rbx
movzx eax, byte [rcx]
test al, al
je 0x140231186
cmp al, 0x23
je 0x140231186
mov rbp, qword [rsp + 0xe0]
jmp 0x140231118
movzx eax, byte [rcx + 1]
add r8d, 1
add rcx, 1
test al, al
je 0x140231092
cmp al, 0x23
je 0x140231092
cmp byte [rcx - 1], 0x26
jne 0x140231100
jmp 0x140230cca
xor r13d, r13d
cmp byte [rbx], 0x26
mov edx, 1
sete r13b
add r13, rdi
jmp 0x1402309cb
mov rdx, r13
jmp 0x140230dcd
mov esi, dword [rsp + 0x20]
add rdx, r13
jmp 0x140230dcd
mov qword [rsp + 0xe0], rbp
xor edi, edi
mov eax, 0x3f
jmp 0x140230be4
cmp byte [r8 + 8], 0x74
jne 0x140231045
movzx eax, byte [rbx + 0x10]
test al, al
setne dl
jmp 0x140230b7c
mov r11d, 7
jmp 0x140230b7c
mov esi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x140231096
mov qword [rsp + 0xe0], rbp
mov r8d, r9d
jmp 0x140230be4
mov esi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x140230dbf