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

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x60
mov eax, dword [rdx]
xor esi, esi
mov r14, rdx
mov rbx, rcx
cmp eax, 0x3c
jne 0x1400f9d19
mov rax, qword [rcx]
lea edx, [rsi + 9]
call qword [rax + 0xc0]
jmp 0x1400fa388
cmp eax, 0x3a
jne 0x1400f9d31
mov rax, qword [rcx]
mov edx, 0xa
call qword [rax + 0xc0]
jmp 0x1400fa388
cmp eax, 0x3b
jne 0x1400f9d40
call fcn.1400f8710
jmp 0x1400fa388
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x90], r12
cmp eax, 0x42
jne 0x1400f9e09
cmp byte [rcx + 0xb19], sil
jne 0x1400fa378
mov rax, qword [rcx + 0x768]
cmp qword [rcx + 0x758], rax
jne 0x1400f9daf
mov rax, qword [rcx + 0x770]
cmp qword [rcx + 0x760], rax
jne 0x1400f9daf
lea rdi, [rcx + 0x700]
call fcn.1400f9880
mov rdx, rax
mov r8d, 1
mov rcx, rdi
call fcn.14008a650
mov dl, 1
mov rcx, rbx
call fcn.1400fb9d0
jmp 0x1400f9dbb
lea rdi, [rcx + 0x700]
call fcn.1400f8c40
lea rcx, [rbx + 0x680]
cmp qword [rcx + 0x38], rsi
je 0x1400fa378
mov r8, qword [0x1404157b8]
mov rax, qword [0x1404157b0]
inc r8
mov rdx, r8
and r8d, 1
shr rdx, 1
dec rax
and rdx, rax
mov rax, qword [0x1404157a8]
mov rdx, qword [rax + rdx*8]
mov qword [rdx + r8*8], rdi
mov rdx, rbx
call fcn.140102f10
jmp 0x1400fa378
cmp eax, 2
jne 0x1400f9e2a
cmp byte [rdx + 5], sil
je 0x1400f9e2a
cmp byte [rdx + 4], sil
jne 0x1400f9e2a
cmp byte [rdx + 6], sil
jne 0x1400f9e2a
cmp byte [rdx + 7], sil
jne 0x1400f9e2a
mov cl, 1
jmp 0x1400f9e2c
xor cl, cl
test cl, cl
je 0x1400f9e3d
mov rcx, rbx
call fcn.1400f8b10
jmp 0x1400fa378
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
cmp eax, 0x17
jne 0x1400f9e96
cmp byte [rdx + 5], sil
je 0x1400fa1b7
cmp byte [rdx + 4], sil
jne 0x1400fa1b7
cmp byte [rdx + 6], sil
jne 0x1400fa1b7
cmp byte [rdx + 7], sil
jne 0x1400fa1b7
mov rcx, rbx
call fcn.1400f8b10
cmp byte [rbx + 0xb19], sil
jne 0x1400fa36e
mov rcx, rbx
call fcn.1400f8c40
jmp 0x1400fa36e
cmp eax, 0x15
jne 0x1400f9ed0
cmp byte [rdx + 5], sil
je 0x1400fa1b7
cmp byte [rdx + 4], sil
jne 0x1400fa1b7
cmp byte [rdx + 6], sil
jne 0x1400fa1b7
cmp byte [rdx + 7], sil
jne 0x1400fa1b7
mov rcx, rbx
call fcn.1400fb7c0
jmp 0x1400fa36e
test eax, eax
jne 0x1400f9f4a
cmp byte [rdx + 5], sil
je 0x1400fa1b7
cmp byte [rdx + 4], sil
jne 0x1400fa1b7
cmp byte [rdx + 6], sil
jne 0x1400fa1b7
cmp byte [rdx + 7], sil
jne 0x1400fa1b7
mov qword [rbx + 0x758], rsi
mov qword [rbx + 0x760], rsi
mov rcx, qword [rbx + 0x728]
mov rdx, qword [rbx + 0x730]
sub rdx, rcx
sar rdx, 5
mov rax, rdx
shl rax, 5
mov rax, qword [rax + rcx - 0x10]
mov qword [rsp + 0x20], rax
lea rax, [rdx - 1]
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rbx + 0x768], xmm0
jmp 0x1400fa366
cmp eax, 0x3d
jne 0x1400f9fff
mov r8, qword [rbx + 0x748]
cmp qword [rbx + 0x770], r8
jne 0x1400f9fec
movss xmm1, dword [rbx + 0x408]
xorps xmm0, xmm0
subss xmm1, dword [rbx + 0xc8c]
mov eax, dword [rbx + 0x720]
xor ecx, ecx
subss xmm1, dword [rbx + 0xcac]
maxss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm1, dword [rbx + 0xccc]
subss xmm1, dword [rbx + 0xcec]
divss xmm1, xmm0
movss xmm0, dword [0x1402a6558]
comiss xmm1, xmm0
jb 0x1400f9fcd
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x1400f9fcd
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov rcx, r8
sub rcx, rax
inc rcx
lea rdx, [rax - 1]
cmp r8, rdx
cmovb rcx, rsi
mov r8, rcx
mov qword [rbx + 0x770], r8
mov qword [rbx + 0x768], rsi
jmp 0x1400fa351
cmp eax, 0x3e
jne 0x1400fa0ea
mov r9, qword [rbx + 0x728]
mov rcx, qword [rbx + 0x730]
mov rax, qword [rbx + 0x748]
sub rcx, r9
add rax, qword [rbx + 0x750]
sar rcx, 5
cmp rax, rcx
jbe 0x1400fa039
lea rax, [rcx - 1]
jmp 0x1400fa0ce
mov r8, qword [rbx + 0x770]
dec rax
cmp r8, rax
jne 0x1400fa0ce
movss xmm1, dword [rbx + 0x408]
xorps xmm0, xmm0
subss xmm1, dword [rbx + 0xc8c]
mov eax, dword [rbx + 0x720]
xor edx, edx
subss xmm1, dword [rbx + 0xcac]
maxss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm1, dword [rbx + 0xccc]
subss xmm1, dword [rbx + 0xcec]
divss xmm1, xmm0
movss xmm0, dword [0x1402a6558]
comiss xmm1, xmm0
jb 0x1400fa0b2
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x1400fa0b2
movabs rax, 0x8000000000000000
mov rdx, rax
cvttss2si rax, xmm1
add rdx, rax
lea rax, [rcx + 2]
add rdx, r8
cmp rdx, rax
lea rax, [rcx - 1]
jae 0x1400fa0ce
lea rax, [rdx - 2]
mov qword [rbx + 0x770], rax
shl rax, 5
mov rax, qword [rax + r9 + 0x10]
mov qword [rbx + 0x768], rax
jmp 0x1400fa351
cmp eax, 0x47
jne 0x1400fa1b7
cmp byte [rdx + 5], sil
jne 0x1400fa1b7
cmp byte [rdx + 4], sil
jne 0x1400fa1b7
cmp byte [rdx + 7], sil
jne 0x1400fa1b7
mov r8, qword [rbx + 0x758]
mov rcx, qword [rbx + 0x768]
cmp r8, rcx
jne 0x1400fa134
mov rax, qword [rbx + 0x770]
cmp qword [rbx + 0x760], rax
je 0x1400fa16c
cmp byte [rdx + 6], sil
jne 0x1400fa16c
mov rax, qword [rbx + 0x760]
cmp rax, qword [rbx + 0x770]
jb 0x1400fa226
jne 0x1400fa159
cmp r8, rcx
jb 0x1400fa226
movups xmm0, xmmword [rbx + 0x768]
movups xmmword [rbx + 0x758], xmm0
jmp 0x1400fa351
test rcx, rcx
je 0x1400fa181
lea rax, [rcx - 1]
mov qword [rbx + 0x768], rax
jmp 0x1400fa351
mov rcx, qword [rbx + 0x770]
test rcx, rcx
je 0x1400fa351
dec rcx
mov qword [rbx + 0x770], rcx
mov rax, qword [rbx + 0x728]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x10]
mov qword [rbx + 0x768], rcx
jmp 0x1400fa351
cmp eax, 0x48
jne 0x1400fa293
cmp byte [rdx + 5], sil
jne 0x1400fa293
cmp byte [rdx + 4], sil
jne 0x1400fa293
cmp byte [rdx + 7], sil
jne 0x1400fa293
mov r8, qword [rbx + 0x758]
mov rcx, qword [rbx + 0x768]
cmp r8, rcx
jne 0x1400fa201
mov rax, qword [rbx + 0x770]
cmp qword [rbx + 0x760], rax
je 0x1400fa239
cmp byte [rdx + 6], sil
jne 0x1400fa239
mov rax, qword [rbx + 0x760]
cmp rax, qword [rbx + 0x770]
ja 0x1400fa226
jne 0x1400fa351
cmp r8, rcx
jbe 0x1400fa351
movups xmm0, xmmword [rbx + 0x758]
movups xmmword [rbx + 0x768], xmm0
jmp 0x1400fa351
mov rdx, qword [rbx + 0x770]
mov r8, qword [rbx + 0x728]
mov rax, rdx
shl rax, 5
cmp rcx, qword [rax + r8 + 0x10]
jne 0x1400fa283
mov rax, qword [rbx + 0x730]
lea rcx, [rdx + 1]
sub rax, r8
sar rax, 5
cmp rcx, rax
jae 0x1400fa351
mov qword [rbx + 0x770], rcx
mov qword [rbx + 0x768], rsi
jmp 0x1400fa351
lea rax, [rcx + 1]
mov qword [rbx + 0x768], rax
jmp 0x1400fa351
cmp eax, 0x47
jne 0x1400fa408
cmp byte [rdx + 5], sil
je 0x1400fa408
cmp byte [rdx + 4], sil
jne 0x1400fa408
cmp byte [rdx + 7], sil
jne 0x1400fa408
mov qword [rsp + 0x80], rbp
xor bpl, bpl
mov qword [rsp + 0x58], r13
mov r13, qword [rbx + 0x770]
add r13, 1
je 0x1400fa344
mov qword [rsp + 0x50], r15
lea r12d, [rax - 0x46]
lea r15, [rbx + 0x728]
nop word [rax + rax]
mov rdi, qword [rbx + 0x768]
test rdi, rdi
je 0x1400fa3ba
lea rsi, [rdi - 1]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x770]
mov rdx, rsi
shl rcx, 5
add rcx, qword [r15]
call fcn.140089810
mov ecx, dword [rax]
call fcn.14008ac10
test bpl, bpl
je 0x1400fa39f
test al, al
je 0x1400fa3a9
mov qword [rbx + 0x768], rdi
xor esi, esi
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x80]
cmp byte [r14 + 6], 0
jne 0x1400fa366
movups xmm0, xmmword [rbx + 0x768]
movups xmmword [rbx + 0x758], xmm0
mov rcx, rbx
call fcn.1400ffa50
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
mov rdi, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
mov byte [rbx + 0x7a0], 1
mov qword [rbx + 0x578], rsi
add rsp, 0x60
pop r14
pop rsi
pop rbx
ret
test al, al
movzx ebp, bpl
cmove ebp, r12d
dec rsi
sub rdi, r12
jne 0x1400fa310
test bpl, bpl
jne 0x1400fa3fa
mov rcx, qword [rbx + 0x770]
test rcx, rcx
je 0x1400fa3e5
dec rcx
mov qword [rbx + 0x770], rcx
mov rax, qword [r15]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x10]
mov qword [rbx + 0x768], rcx
jmp 0x1400fa3ec
lea r15, [rbx + 0x728]
sub r13, r12
jne 0x1400fa2f0
jmp 0x1400fa33d
xor esi, esi
mov qword [rbx + 0x768], rsi
jmp 0x1400fa33f
cmp eax, 0x48
jne 0x1400fa42c
cmp byte [rdx + 5], sil
je 0x1400fa42c
cmp byte [rdx + 4], sil
jne 0x1400fa42c
cmp byte [rdx + 7], sil
jne 0x1400fa42c
mov rcx, rbx
call fcn.1400fb660
jmp 0x1400fa351
cmp eax, 0x49
jne 0x1400fa4a8
cmp byte [rdx + 4], sil
jne 0x1400fa4a8
cmp byte [rdx + 7], sil
jne 0x1400fa4a8
mov eax, dword [rbx + 0x720]
xorps xmm0, xmm0
movss xmm6, dword [rbx + 0x79c]
cvtsi2ss xmm0, rax
mulss xmm0, dword [0x140298698]
subss xmm6, xmm0
mov rcx, qword [rbx + 0xaf0]
movss xmm7, dword [rbx + 0x798]
call fcn.140139cd0
mov eax, eax
lea rdx, [rsp + 0x20]
xorps xmm0, xmm0
movaps xmm1, xmm7
mov rcx, rbx
cvtsi2ss xmm0, rax
subss xmm6, xmm0
unpcklps xmm1, xmm6
movq r8, xmm1
call fcn.1400f9500
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x768], xmm0
jmp 0x1400fa351
cmp eax, 0x4a
jne 0x1400fa4d9
cmp byte [rdx + 4], sil
jne 0x1400fa4d9
cmp byte [rdx + 7], sil
jne 0x1400fa4d9
mov eax, dword [rbx + 0x720]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
mulss xmm6, dword [0x1402986ac]
addss xmm6, dword [rbx + 0x79c]
jmp 0x1400fa45f
cmp eax, 0x40
jne 0x1400fa4fc
cmp byte [rdx + 5], sil
jne 0x1400fa4fc
cmp byte [rdx + 4], sil
jne 0x1400fa4fc
cmp byte [rdx + 7], sil
jne 0x1400fa4fc
mov qword [rbx + 0x768], rsi
jmp 0x1400fa351
cmp eax, 0x3f
jne 0x1400fa51f
cmp byte [rdx + 5], sil
jne 0x1400fa51f
cmp byte [rdx + 4], sil
jne 0x1400fa51f
cmp byte [rdx + 7], sil
jne 0x1400fa51f
mov rcx, qword [rbx + 0x770]
jmp 0x1400fa19b
cmp eax, 0x40
jne 0x1400fa555
cmp byte [rdx + 5], sil
je 0x1400fa36e
cmp byte [rdx + 4], sil
jne 0x1400fa36e
cmp byte [rdx + 7], sil
jne 0x1400fa36e
mov qword [rbx + 0x768], rsi
mov qword [rbx + 0x770], rsi
jmp 0x1400fa351
cmp eax, 0x3f
jne 0x1400fa36e
cmp byte [rdx + 5], sil
je 0x1400fa36e
cmp byte [rdx + 4], sil
jne 0x1400fa36e
cmp byte [rdx + 7], sil
jne 0x1400fa36e
mov rdx, qword [rbx + 0x728]
mov rax, qword [rbx + 0x730]
sub rax, rdx
sar rax, 5
lea rcx, [rax - 1]
shl rax, 5
mov rax, qword [rax + rdx - 0x10]
mov qword [rbx + 0x768], rax
mov qword [rbx + 0x770], rcx
jmp 0x1400fa351