Function at 0x140237a00
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 0x140237fb0
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 0x140237af0
cmp r15d, 4
jle 0x140237a7f
cmp dword [rbx], 0x656c6966
je 0x140237b6f
call sym.sqlite3_initialize
test eax, eax
jne 0x140237b10
mov eax, dword [0x1402b90a0]
test eax, eax
jne 0x140237b50
mov ecx, r13d
call qword [0x1402b90c0]
test rax, rax
je 0x140237b10
mov dword [rax], 0
lea r13, [rax + 4]
test r15d, r15d
movsxd rdi, r15d
jne 0x140237fc8
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 0x140237fdb
mov rax, qword [rsp + 0xf0]
mov dword [rbp], esi
mov qword [rax], r13
jmp 0x140237b15
cmp byte [0x1402b90a6], 0
je 0x140237a7f
cmp r15d, 4
jg 0x140237a73
jmp 0x140237a7f
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 [0x1402b8d40]
test rcx, rcx
je 0x140237b62
call qword [0x1402b9120]
mov rcx, rdi
call sym.sqlite3Malloc.part.0
jmp 0x140237aa3
cmp byte [rbx + 4], 0x3a
jne 0x140237a7f
lea ecx, [r15 - 1]
xor eax, eax
cmp ecx, 0xe
jbe 0x1402383f3
mov ecx, r15d
mov rax, rbx
pxor xmm4, xmm4
pxor xmm6, xmm6
shr ecx, 4
movdqa xmm7, xmmword [0x14031f910]
pxor xmm5, xmm5
pxor xmm3, xmm3
movdqa xmm8, xmmword [0x14031f900]
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 0x140237bc0
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 0x140237e08
movsxd rdx, eax
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 1]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 2]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 3]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 4]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 5]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 6]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 7]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 8]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 9]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xa]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xb]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xc]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
movzx edx, dl
add r13, rdx
lea edx, [rax + 0xd]
cmp r15d, edx
jle 0x140237e08
movsxd rdx, edx
cmp byte [rbx + rdx], 0x26
sete dl
add eax, 0xe
movzx edx, dl
add r13, rdx
cmp r15d, eax
jle 0x140237e08
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 0x140237b10
mov rcx, r13
call sym.sqlite3Malloc
test rax, rax
je 0x140237b10
mov dword [rax], 0
lea r13, [rax + 4]
movzx eax, byte [rbx + 5]
or esi, 0x40
cmp al, 0x2f
je 0x1402382a9
test al, al
mov r11d, 5
setne dl
cmp al, 0x23
je 0x14023840a
test dl, dl
je 0x14023840a
xor r10d, r10d
xor edx, edx
mov dword [rsp + 0x20], esi
mov qword [rsp + 0xe0], rbp
jmp 0x140237eb7
cmp edi, 1
je 0x140238038
test edi, edi
jne 0x140238067
cmp al, 0x3f
jne 0x140238067
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 0x140238080
cmp al, 0x23
je 0x140238080
movsxd rdx, r10d
mov r11d, r8d
lea r8d, [r11 + 1]
cmp al, 0x25
mov rcx, rdx
jne 0x140237e70
lea rbp, [0x140326460]
movsxd r9, r8d
movzx r15d, byte [rbx + r9]
test byte [rbp + r15], 8
mov rsi, r15
je 0x140237e93
movzx r15d, byte [rbx + r9 + 1]
test byte [rbp + r15], 8
je 0x140237e93
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 0x140237e93
movzx eax, byte [rbx + r9]
cmp al, 0x23
je 0x140238477
test al, al
je 0x140238477
cmp edi, 1
je 0x14023832e
test edi, edi
mov rbp, qword [rsp + 0xe0]
setne cl
jmp 0x140237f82
movzx eax, byte [rbx + r9 + 1]
add r9, 1
cmp al, 0x23
je 0x140238412
test al, al
je 0x140238412
cmp al, 0x3f
mov r8d, r9d
jne 0x140237f91
test cl, cl
je 0x14023841e
cmp edi, 2
jne 0x140237f68
cmp al, 0x26
jne 0x140237f68
mov qword [rsp + 0xe0], rbp
jmp 0x140237eb4
mov edi, 8
mov r13d, 8
xor r15d, r15d
jmp 0x140237a7f
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call sym.memcpy
jmp 0x140237abe
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 0x140238004
sub r13, 1
cmp byte [r13 - 1], 0
jne 0x140238000
cmp byte [r13 - 2], 0
jne 0x140238000
cmp byte [r13 - 3], 0
jne 0x140238000
cmp byte [r13 - 4], 0
jne 0x140238000
lea rcx, [r13 - 4]
xor r13d, r13d
call sym.sqlite3_free
jmp 0x140237ae0
cmp al, 0x26
je 0x140238044
cmp al, 0x3d
jne 0x140237e90
cmp byte [r13 + rdx - 1], 0
je 0x1402383a6
cmp al, 0x26
je 0x140238292
mov edi, 2
xor eax, eax
movsxd r9, r8d
jmp 0x140237e93
cmp edi, 2
jne 0x140237e90
cmp al, 0x26
je 0x140237e89
jmp 0x140237e90
mov esi, dword [rsp + 0x20]
movsxd rcx, r10d
mov rbp, qword [rsp + 0xe0]
lea rdx, [r13 + rcx]
cmp edi, 1
je 0x140238369
mov dword [rdx], 0
mov rcx, r13
call sym.strlen
and eax, 0x3fffffff
lea rdi, [r13 + rax + 1]
cmp byte [rdi], 0
je 0x140237aca
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 0x140238200
cmp r14d, 5
je 0x140238258
cmp r14d, 4
jne 0x1402381c2
cmp dword [rdi], 0x65646f6d
jne 0x1402381c2
lea rax, str.access
mov r15d, esi
mov r14d, 0xffffff78
and r15d, 0x87
mov qword [rsp + 0x28], rax
lea rbp, [0x1402b7ea0]
mov r13, qword [rbp]
test r13, r13
je 0x140238228
movsxd rdi, r12d
jmp 0x140238181
mov r13, qword [rbp + 0x10]
add rbp, 0x10
test r13, r13
je 0x140238228
mov rcx, r13
call sym.strlen
and eax, 0x3fffffff
cmp r12d, eax
jne 0x140238170
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140238170
mov eax, dword [rbp + 8]
test eax, eax
je 0x140238228
mov edx, eax
and dl, 0x7f
cmp edx, r15d
jg 0x14023837b
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 0x1402380e0
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
jmp 0x140237aca
cmp word [rdi], 0x6676
jne 0x1402381c2
cmp byte [rdi + 2], 0x73
mov rax, rbx
cmovne rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
jmp 0x1402381c2
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 0x140237ff0
cmp dword [rdi], 0x68636163
jne 0x1402381c2
cmp byte [rdi + 4], 0x65
jne 0x1402381c2
lea rax, str.cache
mov r14d, 0xfff9ffff
mov r15d, 0x60000
mov qword [rsp + 0x28], rax
lea rbp, str.shared
jmp 0x14023815b
add r10d, 1
mov byte [r13 + rdx], 0
xor eax, eax
movsxd r9, r8d
movsxd rcx, r10d
jmp 0x140237e93
cmp byte [rbx + 6], 0x2f
mov r11d, 5
jne 0x140237e5c
movzx eax, byte [rbx + 7]
lea r8, [rbx + 7]
test al, al
setne cl
cmp al, 0x2f
mov edx, ecx
je 0x14023844b
test cl, cl
je 0x14023844b
lea rax, [rbx + 8]
mov r11d, 7
jmp 0x1402382e9
cmp dl, 0x2f
je 0x1402382fb
movzx edx, byte [rax]
mov ecx, r11d
add rax, 1
add r11d, 1
test dl, dl
jne 0x1402382e4
cmp r11d, 0x10
jne 0x140238315
movabs rax, 0x736f686c61636f6c
cmp qword [rbx + 7], rax
je 0x140238432
lea edx, [rcx - 6]
mov ebx, 1
lea rcx, str.invalid_uri_authority:__.s
call sym.sqlite3_mprintf
jmp 0x140237ff0
mov rbp, qword [rsp + 0xe0]
jmp 0x140238344
cmp al, 0x23
je 0x140238362
cmp al, 0x26
je 0x140238467
cmp al, 0x3d
je 0x140238467
movzx eax, byte [rbx + r9 + 1]
add r9, 1
test al, al
jne 0x140238340
mov esi, dword [rsp + 0x20]
add rdx, r13
mov byte [rdx], 0
lea edx, [r10 + 1]
movsxd rdx, edx
add rdx, r13
jmp 0x14023809d
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 0x140237ff0
movsxd rcx, r8d
add rcx, rbx
movzx eax, byte [rcx]
test al, al
je 0x140238456
cmp al, 0x23
je 0x140238456
mov rbp, qword [rsp + 0xe0]
jmp 0x1402383e8
movzx eax, byte [rcx + 1]
add r8d, 1
add rcx, 1
test al, al
je 0x140238362
cmp al, 0x23
je 0x140238362
cmp byte [rcx - 1], 0x26
jne 0x1402383d0
jmp 0x140237f9a
xor r13d, r13d
cmp byte [rbx], 0x26
mov edx, 1
sete r13b
add r13, rdi
jmp 0x140237c9b
mov rdx, r13
jmp 0x14023809d
mov esi, dword [rsp + 0x20]
add rdx, r13
jmp 0x14023809d
mov qword [rsp + 0xe0], rbp
xor edi, edi
mov eax, 0x3f
jmp 0x140237eb4
cmp byte [r8 + 8], 0x74
jne 0x140238315
movzx eax, byte [rbx + 0x10]
test al, al
setne dl
jmp 0x140237e4c
mov r11d, 7
jmp 0x140237e4c
mov esi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x140238366
mov qword [rsp + 0xe0], rbp
mov r8d, r9d
jmp 0x140237eb4
mov esi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x14023808f