Function at 0x4bba50
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, 0x98
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
movups xmmword [rsp + 0x60], xmm8
movups xmmword [rsp + 0x70], xmm9
movups xmmword [rsp + 0x80], xmm10
mov r13d, dword [r8]
mov edi, r13d
and edi, 0x40
mov qword [rsp + 0xf0], r8
mov r12, rcx
mov r14, rdx
mov qword [rsp + 0xf8], r9
test rdx, rdx
je 0x4bbf98
mov rcx, rdx
call sub.msvcrt.dll_strlen
mov ebx, eax
and ebx, 0x3fffffff
lea r15d, [rbx + 8]
movsxd rsi, r15d
test edi, edi
jne 0x4bbb90
cmp byte [0x0060de66], 0
jne 0x4bbb90
call fcn.0046ee70
test eax, eax
jne 0x4bbf88
mov rcx, rsi
call fcn.00410f70
test rax, rax
je 0x4bbf88
mov dword [rax], 0
lea r15, [rax + 4]
movsxd rsi, ebx
test ebx, ebx
jne 0x4bbfa8
and r13d, 0xffffffbf
mov dword [r15 + rsi], 0
mov dword [rsp + 0x28], r13d
mov rcx, r12
xor r13d, r13d
call fcn.0046efb0
mov rsi, qword [rsp + 0xf8]
mov qword [rsi], rax
test rax, rax
je 0x4bbfc0
mov rax, qword [rsp + 0xf0]
mov esi, dword [rsp + 0x28]
mov dword [rax], esi
mov rax, qword [rsp + 0x100]
mov qword [rax], r15
movups xmm6, xmmword [rsp + 0x40]
movups xmm7, xmmword [rsp + 0x50]
mov eax, r13d
movups xmm8, xmmword [rsp + 0x60]
movups xmm9, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ebx, 4
jle 0x4bbad6
cmp dword [r14], 0x656c6966
jne 0x4bbad6
cmp byte [r14 + 4], 0x3a
jne 0x4bbad6
lea eax, [rbx - 1]
cmp eax, 0xe
jbe 0x4bc36b
mov edx, ebx
pxor xmm1, xmm1
pxor xmm6, xmm6
mov rax, r14
shr edx, 4
movdqu xmm7, xmmword [0x006264e0]
pxor xmm5, xmm5
pxor xmm4, xmm4
movdqu xmm8, xmmword [0x006264d0]
shl rdx, 4
add rdx, r14
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
pcmpeqb xmm0, xmm8
pand xmm0, xmm7
movdqu xmm3, xmm0
punpckhbw xmm0, xmm6
punpcklbw xmm3, xmm6
movdqu xmm9, xmm0
punpckhwd xmm0, xmm5
movdqu xmm2, xmm3
punpckhwd xmm3, xmm5
punpcklwd xmm9, xmm5
punpcklwd xmm2, xmm5
movdqu xmm10, xmm2
punpckldq xmm2, xmm4
punpckhdq xmm10, xmm4
paddq xmm2, xmm10
movdqu xmm10, xmm3
punpckldq xmm3, xmm4
punpckhdq xmm10, xmm4
paddq xmm3, xmm10
paddq xmm2, xmm3
movdqu xmm3, xmm9
punpckldq xmm9, xmm4
punpckhdq xmm3, xmm4
paddq xmm9, xmm3
movdqu xmm3, xmm0
punpckhdq xmm0, xmm4
punpckldq xmm3, xmm4
paddq xmm1, xmm0
paddq xmm9, xmm3
paddq xmm2, xmm9
paddq xmm1, xmm2
cmp rdx, rax
jne 0x4bbbf0
movdqu xmm0, xmm1
mov eax, ebx
psrldq xmm0, 8
and eax, 0xfffffff0
paddq xmm1, xmm0
movq r15, xmm1
add r15, rsi
test ebx, 0xc000000f
je 0x4bbe38
movsxd rdx, eax
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 1]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
add eax, 2
movzx edx, dl
add r15, rdx
cmp ebx, eax
jle 0x4bbe38
movsxd rdx, eax
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 1]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 2]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 3]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 4]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 5]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 6]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 7]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 8]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 9]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 0xa]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
movzx edx, dl
add r15, rdx
lea edx, [rax + 0xb]
cmp ebx, edx
jle 0x4bbe38
movsxd rdx, edx
cmp byte [r14 + rdx], 0x26
sete dl
add eax, 0xc
movzx edx, dl
add r15, rdx
cmp ebx, eax
jle 0x4bbe38
cdqe
cmp byte [r14 + rax], 0x26
sete al
movzx eax, al
add r15, rax
nop dword [rax]
call fcn.0046ee70
mov ebx, eax
test eax, eax
jne 0x4bbf88
mov rcx, r15
call fcn.00410f70
test rax, rax
je 0x4bbf88
or r13d, 0x40
mov dword [rax], 0
cmp byte [r14 + 5], 0x2f
lea r15, [rax + 4]
mov dword [rsp + 0x28], r13d
je 0x4bc2a9
movzx eax, byte [r14 + 5]
mov r11d, 5
test al, al
setne cl
cmp al, 0x23
je 0x4bc479
xor r10d, r10d
xor edx, edx
test cl, cl
jne 0x4bbeea
jmp 0x4bc479
cmp r10d, 1
je 0x4bc058
add ebx, 1
movsxd rdx, ebx
lea r11, [r15 + rdx]
test r10d, r10d
jne 0x4bc030
cmp al, 0x3f
jne 0x4bc030
mov r10d, 1
xor eax, eax
mov byte [r9], al
movzx eax, byte [r8]
cmp al, 0x23
je 0x4bc0a8
test al, al
je 0x4bc0a8
movsxd rdx, ebx
mov r11d, ecx
lea ecx, [r11 + 1]
lea r9, [r15 + rdx]
movsxd rsi, ecx
lea r8, [r14 + rsi]
cmp al, 0x25
jne 0x4bbea0
movzx ebp, byte [r8]
lea r13, [0x00625c40]
test byte [r13 + rbp], 8
je 0x4bc020
movzx esi, byte [r14 + rsi + 1]
test byte [r13 + rsi], 8
je 0x4bc020
movsx edi, bpl
lea r8d, [r11 + 2]
mov eax, edi
movsxd r8, r8d
sar eax, 6
and eax, 1
lea ecx, [rdi + rax*8]
add eax, ecx
lea ecx, [r11 + 3]
movsx r11d, byte [r14 + r8]
and eax, 0xf
mov r8d, r11d
shl eax, 4
sar r8d, 6
and r8d, 1
lea r11d, [r11 + r8*8]
lea esi, [r11 + r8]
movsxd r11, ecx
and esi, 0xf
lea r8, [r14 + r11]
add eax, esi
je 0x4bc416
add ebx, 1
movsxd rdx, ebx
lea r11, [r15 + rdx]
jmp 0x4bbecd
mov r13d, 7
jmp 0x4bbb52
mov esi, 8
xor ebx, ebx
jmp 0x4bbad6
mov r8, rsi
mov rdx, r14
mov rcx, r15
call sub.msvcrt.dll_memcpy
jmp 0x4bbb09
mov rdx, r12
lea rcx, str.no_such_vfs:__s
mov r13d, 1
call fcn.004b8690
mov rsi, qword [rsp + 0x108]
mov qword [rsi], rax
jmp 0x4bbfec
sub r15, 1
cmp byte [r15 - 1], 0
jne 0x4bbfe8
cmp byte [r15 - 2], 0
jne 0x4bbfe8
cmp byte [r15 - 3], 0
jne 0x4bbfe8
cmp byte [r15 - 4], 0
jne 0x4bbfe8
lea rcx, [r15 - 4]
xor r15d, r15d
call fcn.0040c4a0
jmp 0x4bbb39
cmp r10d, 1
je 0x4bc090
add ebx, 1
movsxd rdx, ebx
lea r11, [r15 + rdx]
cmp r10d, 2
jne 0x4bbecd
cmp al, 0x26
mov esi, 1
cmove r10d, esi
mov esi, 0
cmove eax, esi
jmp 0x4bbecd
cmp al, 0x26
je 0x4bc060
cmp al, 0x3d
jne 0x4bc090
cmp byte [r15 + rdx - 1], 0
je 0x4bc337
lea edx, [rbx + 1]
movsxd r11, edx
add r11, r15
cmp al, 0x26
je 0x4bc291
mov ebx, edx
mov r10d, 2
xor eax, eax
jmp 0x4bbecd
add ebx, 1
mov r10d, 1
movsxd rdx, ebx
lea r11, [r15 + rdx]
jmp 0x4bbecd
mov r11, r9
cmp r10d, 1
je 0x4bc2f1
mov dword [r11], 0
mov rcx, r15
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
lea rdi, [r15 + rax + 1]
cmp byte [rdi], 0
je 0x4bbb1a
mov qword [rsp + 0x30], r15
mov ebp, dword [rsp + 0x28]
nop dword [rax]
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov r13d, eax
and eax, 0x3fffffff
lea rsi, [rdi + rax + 1]
and r13d, 0x3fffffff
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov ebx, eax
and ebx, 0x3fffffff
cmp r13d, 3
je 0x4bc1e8
cmp r13d, 5
je 0x4bc240
cmp r13d, 4
jne 0x4bc1e0
cmp dword [rdi], 0x65646f6d
jne 0x4bc1e0
mov eax, ebp
mov dword [rsp + 0x2c], 0xffffff78
lea r13, [0x0060ce00]
and eax, 0x87
mov dword [rsp + 0x28], eax
lea rax, str.access
mov qword [rsp + 0x38], rax
mov r15, qword [r13]
test r15, r15
je 0x4bc208
movsxd rdi, ebx
jmp 0x4bc181
mov r15, qword [r13 + 0x10]
add r13, 0x10
test r15, r15
je 0x4bc208
mov rcx, r15
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
cmp ebx, eax
jne 0x4bc170
mov r8, rdi
mov rdx, r15
mov rcx, rsi
mov r14, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4bc170
mov eax, dword [r13 + 8]
test eax, eax
je 0x4bc208
mov edx, eax
and dl, 0x7f
cmp edx, dword [rsp + 0x28]
jg 0x4bc304
and ebp, dword [rsp + 0x2c]
or ebp, eax
lea rdi, [rsi + r14 + 1]
cmp byte [rdi], 0
jne 0x4bc0e0
mov dword [rsp + 0x28], ebp
mov r15, qword [rsp + 0x30]
jmp 0x4bbb1a
movsxd r14, ebx
jmp 0x4bc1c4
cmp word [rdi], 0x6676
je 0x4bc280
mov eax, 1
test eax, eax
movsxd r14, ebx
cmove r12, rsi
jmp 0x4bc1c4
mov rdx, qword [rsp + 0x38]
mov r8, rsi
mov r15, qword [rsp + 0x30]
mov dword [rsp + 0x28], ebp
lea rcx, str.no_such__s_mode:__s
mov r13d, 1
call fcn.004b8690
mov rsi, qword [rsp + 0x108]
mov qword [rsi], rax
jmp 0x4bbfec
cmp dword [rdi], 0x68636163
jne 0x4bc1e0
cmp byte [rdi + 4], 0x65
jne 0x4bc1e0
lea rax, str.cache
mov dword [rsp + 0x2c], 0xfff9ffff
lea r13, str.shared
mov dword [rsp + 0x28], 0x60000
mov qword [rsp + 0x38], rax
jmp 0x4bc15c
xor eax, eax
cmp byte [rdi + 2], 0x73
jne 0x4bc1f3
jmp 0x4bc1f8
add ebx, 2
mov byte [r9], 0
xor eax, eax
mov r9, r11
movsxd rdx, ebx
lea r11, [r15 + rdx]
jmp 0x4bbecd
cmp byte [r14 + 6], 0x2f
je 0x4bc390
mov eax, 0x2f
mov ecx, 1
mov r11d, 5
jmp 0x4bbe86
cmp al, 0x23
je 0x4bc2ee
mov ecx, r11d
cmp al, 0x26
je 0x4bc363
cmp al, 0x3d
je 0x4bc363
movzx eax, byte [r14 + r11 + 1]
add r11, 1
test al, al
jne 0x4bc2c9
mov r11, r9
mov byte [r11], 0
lea r11d, [rbx + 1]
movsxd r11, r11d
add r11, r15
jmp 0x4bc0b2
mov rdx, qword [rsp + 0x38]
mov r8, rsi
mov r15, qword [rsp + 0x30]
mov dword [rsp + 0x28], ebp
lea rcx, str._s_mode_not_allowed:__s
mov r13d, 3
call fcn.004b8690
mov rsi, qword [rsp + 0x108]
mov qword [rsi], rax
jmp 0x4bbfec
movzx eax, byte [r8]
cmp al, 0x23
je 0x4bc2ee
test al, al
jne 0x4bc35c
jmp 0x4bc2ee
movzx eax, byte [r8 + 1]
add ecx, 1
add r8, 1
test al, al
je 0x4bc2ee
cmp al, 0x23
je 0x4bc2ee
cmp byte [r8 - 1], 0x26
jne 0x4bc348
mov r11, r9
jmp 0x4bbed4
xor eax, eax
cmp byte [r14], 0x26
sete al
xor r15d, r15d
add rax, rsi
cmp byte [r14 + 1], 0x26
sete r15b
add r15, rax
mov eax, 2
jmp 0x4bbce9
movzx eax, byte [r14 + 7]
lea r8, [r14 + 7]
test al, al
setne dl
mov ecx, edx
cmp al, 0x2f
je 0x4bc489
test dl, dl
je 0x4bc489
lea rax, [r14 + 8]
mov r11d, 7
jmp 0x4bc3c5
cmp dl, 0x2f
je 0x4bc3d7
movzx edx, byte [rax]
mov ecx, r11d
add rax, 1
add r11d, 1
test dl, dl
jne 0x4bc3c0
cmp r11d, 0x10
jne 0x4bc3f1
movabs rax, 0x736f686c61636f6c
cmp qword [r14 + 7], rax
je 0x4bc494
lea edx, [rcx - 6]
lea rcx, str.invalid_uri_authority:__.s
mov r13d, 1
call fcn.004b8690
mov rsi, qword [rsp + 0x108]
mov qword [rsi], rax
jmp 0x4bbfec
movzx eax, byte [r8]
test al, al
je 0x4bc0a5
cmp al, 0x23
je 0x4bc0a5
test r10d, r10d
setne r8b
cmp r10d, 1
jne 0x4bc460
jmp 0x4bc2cd
cmp r10d, 2
jne 0x4bc44e
cmp al, 0x26
je 0x4bbee7
movzx eax, byte [r14 + r11 + 1]
add r11, 1
test al, al
je 0x4bc481
cmp al, 0x23
je 0x4bc481
mov ecx, r11d
cmp al, 0x3f
jne 0x4bc440
test r8b, r8b
jne 0x4bc440
xor r10d, r10d
mov eax, 0x3f
jmp 0x4bbee7
mov r11, r15
jmp 0x4bc0b2
mov r11, r9
jmp 0x4bc0b2
mov r11d, 7
jmp 0x4bbe86
cmp byte [r8 + 8], 0x74
jne 0x4bc3f1
movzx eax, byte [r14 + 0x10]
test al, al
setne cl
jmp 0x4bbe86