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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, r9
mov rsi, r8
mov r15, rdx
mov r13, rcx
mov ebx, dword [r8]
test rdx, rdx
je 0x14005e803
mov rcx, r15
call fcn.140200880
mov r12, rax
and r12d, 0x3fffffff
jmp 0x14005e806
xor r12d, r12d
mov eax, ebx
and eax, 0x40
shr eax, 6
cmp byte [0x1402a68b6], 0
setne cl
or cl, al
cmp cl, 1
jne 0x14005e83f
cmp r12d, 5
jb 0x14005e83f
mov eax, dword [r15]
xor eax, dword [0x1402b3d00]
mov cl, byte [r15 + 4]
xor cl, byte [0x1402b3d04]
movzx ecx, cl
or ecx, eax
je 0x14005e88f
call fcn.14001d86a
mov ebp, 7
test eax, eax
jne 0x14005e97b
lea ecx, [r12 + 2]
call fcn.140020939
test rax, rax
je 0x14005e97b
mov rcx, rax
mov r14, rdi
mov rdi, r13
mov r13d, r12d
test r12d, r12d
je 0x14005e919
mov r12, rcx
mov rdx, r15
mov r8, r13
call fcn.140201ae0
mov rax, r13
jmp 0x14005e91e
lea r14d, [r12 + 2]
mov eax, r12d
xor ecx, ecx
xor edx, edx
cmp byte [r15 + rcx], 0x26
sete dl
add r14, rdx
inc rcx
cmp rax, rcx
jne 0x14005e899
call fcn.14001d86a
mov ebp, 7
test eax, eax
jne 0x14005e97b
mov rcx, r14
call fcn.140020939
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14005e97b
or ebx, 0x40
mov edx, 5
cmp byte [r15 + 5], 0x2f
jne 0x14005e98e
cmp byte [r15 + 6], 0x2f
mov r12, qword [rsp + 0x28]
jne 0x14005e993
mov edx, 7
movzx eax, byte [r15 + rdx]
test eax, eax
je 0x14005ed0c
cmp eax, 0x2f
je 0x14005ed0c
inc rdx
jmp 0x14005e8fe
xor eax, eax
mov r12, rcx
xor ecx, ecx
mov byte [r12 + rax], cl
mov byte [r13 + r12 + 1], cl
and ebx, 0xffffffbf
mov r13, rdi
mov rdi, r14
mov rcx, r13
call fcn.14005ef2f
mov qword [rdi], rax
xor ebp, ebp
test rax, rax
jne 0x14005e96e
lea rcx, [0x1402b3ec0]
mov rdx, r13
call fcn.14004ff8b
mov ebp, 1
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
mov rcx, r12
call fcn.14001efe2
xor r12d, r12d
mov rax, qword [rsp + 0xc0]
mov dword [rsi], ebx
mov qword [rax], r12
mov eax, ebp
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, qword [rsp + 0x28]
xor r8d, r8d
lea rcx, [0x1402a79a0]
xor eax, eax
mov qword [rsp + 0x30], rdi
movsxd r9, eax
mov r10d, edx
movsxd rdi, r10d
movzx r11d, byte [r15 + rdi]
test r11d, r11d
je 0x14005eb15
cmp r11d, 0x23
je 0x14005eb15
lea rdx, [rdi + 1]
cmp r11b, 0x25
jne 0x14005ea7a
movzx r14d, byte [r15 + rdx]
mov r11b, 0x25
test byte [r14 + rcx], 8
je 0x14005ea7a
movzx edi, byte [rdi + r15 + 2]
test byte [rdi + rcx], 8
je 0x14005ea7a
lea edx, [r14 + r14]
sar dl, 7
and dl, 9
add dl, r14b
shl dl, 4
add r10d, 3
lea r11d, [rdi + rdi]
sar r11b, 7
and r11b, 9
add r11b, dil
and r11b, 0xf
or r11b, dl
jne 0x14005eac1
movsxd r10, r10d
movzx edx, byte [r15 + r10]
test edx, edx
je 0x14005e9aa
cmp edx, 0x23
je 0x14005e9aa
test r8d, r8d
jne 0x14005ea4d
cmp dl, 0x3f
je 0x14005e9aa
cmp r8d, 1
jne 0x14005ea66
cmp edx, 0x26
je 0x14005e9aa
cmp edx, 0x3d
jne 0x14005ea75
jmp 0x14005e9aa
cmp r8d, 2
jne 0x14005ea75
cmp dl, 0x26
je 0x14005e9aa
inc r10
jmp 0x14005ea29
cmp r8d, 1
jne 0x14005ead2
cmp r11b, 0x3d
je 0x14005ea90
movzx r8d, r11b
cmp r8d, 0x26
jne 0x14005eb02
cmp byte [r12 + r9 - 1], 0
jne 0x14005eaeb
movsxd r10, edx
movzx edx, byte [r15 + r10]
test edx, edx
je 0x14005eab6
cmp edx, 0x23
je 0x14005eab6
cmp byte [r15 + r10 - 1], 0x26
je 0x14005eab6
inc r10
jmp 0x14005ea9b
mov r8d, 1
jmp 0x14005e9aa
mov edx, r10d
movsxd r9, eax
inc eax
mov byte [r12 + r9], r11b
jmp 0x14005e9a4
test r8d, r8d
jne 0x14005eadd
cmp r11b, 0x3f
je 0x14005eafa
cmp r8d, 2
jne 0x14005eac4
cmp r11b, 0x26
je 0x14005eafa
jmp 0x14005eac4
cmp r11b, 0x26
jne 0x14005eb0a
lea eax, [r9 + 1]
mov byte [r12 + r9], 0
mov r8d, 1
jmp 0x14005eb10
mov r8d, 1
jmp 0x14005eac4
mov r8d, 2
xor r11d, r11d
jmp 0x14005eac4
cmp r8d, 1
jne 0x14005eb24
lea eax, [r9 + 1]
mov byte [r12 + r9], 0
cdqe
mov word [r12 + rax], 0
mov rcx, r12
call fcn.140200880
and eax, 0x3fffffff
cmp byte [rax + r12 + 1], 0
mov rdi, qword [rsp + 0x30]
je 0x14005e932
mov qword [rsp + 0x48], r13
lea r13, [rax + r12]
inc r13
lea r14, [0x1402b3d80]
mov rcx, r13
call fcn.140200880
mov rbp, rax
and ebp, 0x3fffffff
lea r15, [r13 + 1]
add r15, rbp
mov rcx, r15
call fcn.140200880
mov rdi, rax
mov r12d, edi
and r12d, 0x3fffffff
cmp ebp, 5
je 0x14005ebc8
cmp ebp, 4
je 0x14005ec01
cmp ebp, 3
mov rdi, qword [rsp + 0x30]
jne 0x14005ec12
movzx eax, word [0x1402b3d60]
xor ax, word [r13]
mov cl, byte [0x1402b3d62]
xor cl, byte [r13 + 2]
movzx ecx, cl
or cx, ax
jne 0x14005ec12
mov qword [rsp + 0x48], r15
jmp 0x14005ec12
mov eax, dword [0x1402b3d80]
xor eax, dword [r13]
mov cl, byte [0x1402b3d84]
xor cl, byte [r13 + 4]
movzx ecx, cl
or ecx, eax
jne 0x14005ec0d
mov dword [rsp + 0x3c], 0x60000
mov dword [rsp + 0x38], 0xfff9ffff
lea rcx, [0x140237a50]
mov qword [rsp + 0x40], r14
jmp 0x14005ec4f
mov eax, dword [0x1402b3de0]
cmp eax, dword [r13]
je 0x14005ec29
mov rdi, qword [rsp + 0x30]
lea r13, [r12 + r15]
inc r13
cmp byte [r13], 0
jne 0x14005eb5e
jmp 0x14005ed52
mov eax, ebx
and eax, 0x87
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x38], 0xffffff78
lea rcx, [0x140237a80]
lea rax, str..V_n_
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rcx
mov rbp, qword [rcx]
test rbp, rbp
je 0x14005ece9
and edi, 0x3fffffff
mov rax, qword [rsp + 0x50]
lea r13, [rax + 0x10]
xor r14d, r14d
mov rcx, rbp
call fcn.140200880
and eax, 0x3fffffff
cmp r12d, eax
jne 0x14005ec96
mov rcx, r15
mov rdx, rbp
mov r8, rdi
call fcn.1402019e0
test eax, eax
je 0x14005eca8
inc r14
mov rbp, qword [r13]
add r13, 0x10
test rbp, rbp
jne 0x14005ec72
jmp 0x14005ece9
mov eax, r14d
shl rax, 4
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax + 8]
test eax, eax
je 0x14005ece9
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [rsp + 0x3c]
jg 0x14005ed6b
mov ecx, dword [rsp + 0x38]
and ecx, ebx
or eax, ecx
mov ebx, eax
mov rdi, qword [rsp + 0x30]
lea r14, [0x1402b3d80]
jmp 0x14005ec12
lea rcx, [0x1402b3e80]
mov rdx, qword [rsp + 0x40]
mov r8, r15
call fcn.14004ff8b
mov ebp, 1
mov r12, qword [rsp + 0x28]
jmp 0x14005e958
cmp edx, 7
je 0x14005e993
cmp edx, 0x10
jne 0x14005ed37
mov rax, qword [0x1402b3d20]
xor rax, qword [r15 + 7]
mov cl, byte [0x1402b3d28]
xor cl, byte [r15 + 0xf]
movzx ecx, cl
or rcx, rax
je 0x14005ed61
add r15, 7
add edx, 0xfffffff9
lea rcx, [0x1402b3d40]
mov r8, r15
call fcn.14004ff8b
jmp 0x14005e953
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x28]
jmp 0x14005e932
mov edx, 0x10
jmp 0x14005e993
lea rcx, [0x1402b3ea0]
mov rdx, qword [rsp + 0x40]
mov r8, r15
call fcn.14004ff8b
mov ebp, 3
jmp 0x14005ed02