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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r12d, r12d
mov rsi, r9
mov r13d, r8d
mov r10, rcx
test rdx, rdx
je 0x140036aa4
mov r15, qword [rbp + 0x60]
test r15, r15
je 0x140036aa4
test r9, r9
jne 0x140036508
mov dword [r15], r12d
mov r9d, r12d
jmp 0x14003650b
mov r9d, dword [r15]
test byte [rcx + 0x298], 4
mov dword [rbp - 0x20], r9d
mov dword [rbp - 0x28], r9d
je 0x140036594
cmp dword [rcx + 0x1a8], r12d
je 0x140036594
lea r8, [rbp - 0x28]
cmp rdx, rsi
jne 0x14003657b
xor edx, edx
mov ebx, 6
call fcn.14003b5ac
test eax, eax
js 0x140036aa9
lea eax, [r13 - 6]
cmp r13d, eax
jl 0x140036571
mov r13d, eax
sub r13d, dword [rbp - 0x28]
mov dword [rbp + 0x50], r13d
cmp eax, r13d
jl 0x140036571
mov rdx, qword [rbp + 0x48]
mov r9d, dword [rbp - 0x20]
add rdx, 0xc
mov r10, qword [rbp + 0x40]
mov qword [rbp + 0x48], rdx
jmp 0x140036597
mov eax, 0x80004005
jmp 0x140036aa9
mov rdx, rsi
call fcn.14003b56c
test eax, eax
js 0x140036aa9
mov ebx, dword [rbp - 0x28]
mov rdx, qword [rbp + 0x48]
jmp 0x140036597
mov ebx, r12d
mov eax, dword [rbp + 0x68]
or edi, 0xffffffff
and eax, 0x20
mov byte [rbp - 0x30], r12b
or r14d, edi
mov dword [rbp - 0x28], eax
test r13d, r13d
jle 0x140036a26
movsxd r8, r12d
xor r10d, r10d
mov qword [rbp - 0x10], r8
movzx r15d, word [rdx + r8*2]
cmp r15w, 0x3f
je 0x1400369e4
movsxd r11, edi
cmp r15w, 0x25
jne 0x1400369f2
lea eax, [r13 - 2]
cmp r12d, eax
jge 0x1400369f2
movzx ecx, word [rdx + r8*2 + 2]
call fcn.140017348
test eax, eax
je 0x1400369f2
movzx r9d, word [rdx + r8*2 + 4]
movzx ecx, r9w
call fcn.140017348
test eax, eax
je 0x1400369f2
movzx ecx, word [rdx + r8*2 + 2]
call fcn.1400173ac
mov r13d, eax
movzx ecx, r9w
shl r13b, 4
call fcn.1400173ac
add r13b, al
mov byte [rbp - 0x24], r13b
je 0x1400369f2
cmp r13b, 0x7f
jbe 0x1400369a6
xor edx, edx
cmp dword [rbp - 0x28], edx
mov rdx, qword [rbp + 0x48]
je 0x14003685b
cmp edi, 0xffffffff
mov r10, r8
mov eax, r12d
cmovne eax, edi
cmovne r10, r11
mov edi, eax
mov r8d, eax
cmp r14d, 0xffffffff
mov eax, ebx
mov r11, r10
cmovne eax, r14d
mov r14d, eax
mov r9d, eax
mov eax, dword [rbp + 0x50]
add eax, 0xfffffffa
cmp r12d, eax
jg 0x14003685b
mov rax, qword [rbp - 0x10]
cmp word [rdx + rax*2 + 6], r15w
jne 0x14003685b
movzx eax, word [rdx + rax*2 + 8]
movzx ecx, ax
mov word [rbp - 0x2e], ax
call fcn.140017348
test eax, eax
je 0x14003685b
mov rax, qword [rbp - 0x10]
movzx eax, word [rdx + rax*2 + 0xa]
movzx ecx, ax
mov word [rbp - 0x2c], ax
call fcn.140017348
test eax, eax
je 0x14003685b
movzx ecx, word [rbp - 0x2e]
call fcn.1400173ac
movzx ecx, word [rbp - 0x2c]
mov edx, eax
shl dl, 4
mov dword [rbp - 0x1c], edx
call fcn.1400173ac
mov edx, dword [rbp - 0x1c]
add dl, al
mov cl, dl
mov dword [rbp - 0x1c], edx
and cl, 0xc0
cmp cl, 0x80
jne 0x140036857
mov al, r13b
and al, 0xe0
cmp al, 0xc0
je 0x140036945
mov eax, dword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
add eax, 0xfffffff7
cmp r12d, eax
jg 0x14003685b
mov rax, qword [rbp - 0x10]
cmp word [rdx + rax*2 + 0xc], r15w
jne 0x14003685b
movzx eax, word [rdx + rax*2 + 0xe]
movzx ecx, ax
mov word [rbp - 0x2c], ax
call fcn.140017348
test eax, eax
je 0x14003685b
mov rax, qword [rbp - 0x10]
movzx eax, word [rdx + rax*2 + 0x10]
movzx ecx, ax
mov word [rbp - 0x2e], ax
call fcn.140017348
test eax, eax
je 0x14003685b
movzx ecx, word [rbp - 0x2c]
call fcn.1400173ac
movzx ecx, word [rbp - 0x2e]
mov r11d, eax
shl r11b, 4
call fcn.1400173ac
add r11b, al
mov dword [rbp - 0x18], r11d
mov r11, r10
mov cl, byte [rbp - 0x18]
and cl, 0xc0
cmp cl, 0x80
jne 0x140036857
mov al, r13b
and al, 0xf0
cmp al, 0xe0
je 0x140036915
mov eax, dword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
add eax, 0xfffffff4
cmp r12d, eax
jg 0x14003685b
mov rax, qword [rbp - 0x10]
cmp word [rdx + rax*2 + 0x12], r15w
jne 0x14003685b
movzx eax, word [rdx + rax*2 + 0x14]
movzx ecx, ax
mov word [rbp - 0x2c], ax
call fcn.140017348
test eax, eax
je 0x14003685b
mov rax, qword [rbp - 0x10]
movzx eax, word [rdx + rax*2 + 0x16]
movzx ecx, ax
mov word [rbp - 0x2e], ax
call fcn.140017348
test eax, eax
je 0x14003685b
movzx ecx, word [rbp - 0x2c]
call fcn.1400173ac
movzx ecx, word [rbp - 0x2e]
mov r11d, eax
shl r11b, 4
call fcn.1400173ac
add r11b, al
mov dword [rbp - 0x2c], r11d
mov r11, r10
mov cl, byte [rbp - 0x2c]
and cl, 0xc0
cmp cl, 0x80
jne 0x140036857
mov al, r13b
and al, 0xf8
cmp al, 0xf0
jne 0x140036857
lea eax, [rbx + 2]
cmp eax, dword [rbp - 0x20]
jg 0x140036857
mov edx, dword [rbp - 0x1c]
movzx ecx, dl
shr ecx, 4
and ecx, 3
movzx eax, r13b
and eax, 7
shl eax, 2
or ecx, eax
dec ecx
cmp ecx, 0x10000
jl 0x1400368af
mov rdx, qword [rbp + 0x48]
xor r10d, r10d
test byte [rbp + 0x68], 1
mov dword [rbp - 0x28], r10d
jne 0x140036965
cmp edi, 0xffffffff
je 0x1400369f2
cmp r14d, 0xffffffff
je 0x1400369f2
mov r8, r11
mov qword [rbp - 0x10], r11
or r11, 0xffffffffffffffff
mov r12d, edi
mov ebx, r14d
or edi, 0xffffffff
or r14d, r11d
movzx r15d, word [rdx + r8*2]
cmp r15w, 0x3f
je 0x1400369e4
mov r13d, dword [rbp + 0x50]
jmp 0x1400365d0
test rsi, rsi
je 0x1400368e7
cmp ebx, dword [rbp - 0x20]
jge 0x1400368e7
mov eax, 0xff60
and dl, 0xf
or cx, ax
movzx eax, dl
shl cx, 4
or cx, ax
mov al, byte [rbp - 0x18]
shr al, 4
and al, 3
shl cx, 2
movzx eax, al
or cx, ax
movsxd rax, ebx
mov word [rsi + rax*2], cx
mov eax, dword [rbp - 0x18]
inc ebx
and al, 0xf
movzx r15d, al
mov eax, 0xff70
or r15w, ax
mov eax, dword [rbp - 0x2c]
and al, 0x3f
shl r15w, 6
movzx eax, al
or r15w, ax
add r12d, 0xb
jmp 0x1400369f2
mov edx, dword [rbp - 0x1c]
and dl, 0x3f
movzx eax, r13b
shl ax, 6
movzx r15d, dl
or r15w, ax
mov eax, dword [rbp - 0x18]
and al, 0x3f
shl r15w, 6
movzx eax, al
or r15w, ax
add r12d, 8
jmp 0x1400369f2
and r13b, 0x1f
and dl, 0x3f
movzx r15d, r13b
shl r15w, 6
movzx eax, dl
or r15w, ax
add r12d, 5
jmp 0x1400369f2
mov r10, qword [rbp + 0x40]
mov ecx, dword [r10 + 0x2c]
lea eax, [rcx - 0x4b0]
cmp eax, 1
jbe 0x1400369a0
lea r9, [rbp - 0x14]
lea rdx, [rbp - 0x24]
call fcn.140017f98
test eax, eax
je 0x1400369f2
movzx eax, word [rbp - 0x14]
mov r10, qword [rbp + 0x40]
test ax, ax
je 0x1400369f6
movzx r15d, ax
add r12d, 2
jmp 0x1400369f6
movzx r15d, r13b
jmp 0x14003699a
test byte [rbp + 0x68], 8
jne 0x1400369f2
cmp byte [rbp - 0x30], r10b
je 0x1400369ce
cmp r13b, 0x3d
ja 0x1400369ce
movabs rcx, 0x2000084000000000
bt rcx, r13
jae 0x1400369ce
test byte [rbp + 0x68], 0x40
jne 0x1400369f2
cmp r13b, 0x23
jne 0x1400369da
test byte [rbp + 0x68], 4
jne 0x1400369f2
movzx r15d, r13b
add r12d, 2
jmp 0x1400369f2
or edi, 0xffffffff
mov dword [rbp - 0x28], r10d
or r14d, edi
mov byte [rbp - 0x30], 1
mov r10, qword [rbp + 0x40]
mov r9d, dword [rbp - 0x20]
test rsi, rsi
je 0x140036a0c
cmp ebx, r9d
jge 0x140036a0c
movsxd rax, ebx
mov word [rsi + rax*2], r15w
mov r13d, dword [rbp + 0x50]
inc r12d
mov rdx, qword [rbp + 0x48]
inc ebx
cmp r12d, r13d
jl 0x1400365b3
mov r15, qword [rbp + 0x60]
mov eax, r9d
xor edi, edi
sub eax, ebx
test byte [r10 + 0x298], 4
mov dword [rbp + 0x48], eax
je 0x140036a6f
cmp dword [r10 + 0x1a8], edi
je 0x140036a6f
movsxd rax, ebx
mov rcx, rsi
neg rcx
mov rcx, r10
sbb rdx, rdx
lea r8, [rsi + rax*2]
and rdx, r8
lea r8, [rbp + 0x48]
call fcn.14003b5ac
test eax, eax
js 0x140036aa9
mov eax, dword [rbp + 0x48]
mov r9d, dword [rbp - 0x20]
jmp 0x140036a71
mov eax, edi
add ebx, eax
test rsi, rsi
je 0x140036a84
cmp ebx, r9d
jg 0x140036a84
movsxd rcx, ebx
mov word [rsi + rcx*2], di
mov dword [r15], ebx
test rsi, rsi
jne 0x140036a91
lea eax, [rsi + 1]
jmp 0x140036aa9
cmp ebx, r9d
jle 0x140036aa0
mov word [rsi], di
mov eax, 0x8007007a
jmp 0x140036aa9
xor eax, eax
jmp 0x140036aa9
mov eax, 0x80004003
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret