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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor r12d, r12d
mov rsi, r9
mov r13d, r8d
mov rbp, rdx
mov r14, rcx
cmp rdx, r12
jne 0x140024a26
mov eax, 0x80004003
jmp 0x14002504e
mov r15, qword [rsp + 0xb0]
cmp r15, r12
je 0x140024a1c
cmp r9, r12
jne 0x140024a3b
mov dword [r15], r12d
test byte [rcx + 0x298], 4
mov edi, dword [r15]
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x98], edi
je 0x140024aec
add rcx, 0x150
mov rax, qword [rcx]
call qword [rax + 0x48]
cmp eax, r12d
je 0x140024aec
lea r8, [rsp + 0x98]
mov rcx, r14
cmp rbp, rsi
jne 0x140024ad2
xor edx, edx
call fcn.140024320
cmp eax, r12d
jl 0x14002504e
lea r8, [rsp + 0x3c]
mov rcx, r14
call fcn.14002435c
cmp eax, r12d
jl 0x14002504e
movsxd rbx, dword [rsp + 0x98]
mov eax, r13d
sub eax, ebx
cmp r13d, eax
jge 0x140024abe
mov eax, 0x80004005
jmp 0x14002504e
mov r13d, eax
sub r13d, dword [rsp + 0x3c]
cmp eax, r13d
jl 0x140024ab4
lea rbp, [rbp + rbx*2]
jmp 0x140024aef
mov rdx, rsi
call fcn.140024320
cmp eax, r12d
jl 0x14002504e
mov ebx, dword [rsp + 0x98]
jmp 0x140024aef
mov ebx, r12d
mov ecx, dword [rsp + 0xb8]
xor eax, eax
mov byte [rsp + 0x38], r12b
and ecx, 0x20
mov dword [rsp + 0x4c], ecx
or ecx, 0xffffffff
or dword [rsp + 0x34], ecx
cmp r13d, eax
mov dword [rsp + 0x30], ecx
jle 0x140024e7f
movsxd rax, ecx
movsxd rdi, r12d
mov qword [rsp + 0x50], rax
mov r15w, word [rbp + rdi*2]
cmp r15w, 0x3f
je 0x140024ffe
cmp r15w, 0x25
jne 0x140024e52
lea eax, [r13 - 2]
cmp r12d, eax
jge 0x140024e52
movzx ecx, word [rbp + rdi*2 + 2]
call fcn.14001acb0
xor ecx, ecx
cmp eax, ecx
je 0x140024e4e
movzx ecx, word [rbp + rdi*2 + 4]
call fcn.14001acb0
xor ecx, ecx
cmp eax, ecx
je 0x140024e4e
movzx ecx, word [rbp + rdi*2 + 2]
call fcn.14002476c
movzx ecx, word [rbp + rdi*2 + 4]
mov r8d, eax
shl r8b, 4
call fcn.14002476c
add r8b, al
mov byte [rsp + 0x98], r8b
je 0x140024e4e
cmp r8b, 0x7f
jbe 0x140024fa7
cmp dword [rsp + 0x4c], 0
je 0x140024dde
mov eax, dword [rsp + 0x30]
cmp eax, 0xffffffff
jne 0x140024bc8
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x50], rdi
mov edx, dword [rsp + 0x34]
lea eax, [r13 - 6]
cmp edx, 0xffffffff
cmove edx, ebx
cmp r12d, eax
mov dword [rsp + 0x34], edx
jg 0x140024de2
cmp word [rbp + rdi*2 + 6], 0x25
jne 0x140024de2
movzx ecx, word [rbp + rdi*2 + 8]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 0xa]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 8]
call fcn.14002476c
movzx ecx, word [rbp + rdi*2 + 0xa]
mov r9d, eax
shl r9b, 4
call fcn.14002476c
add r9b, al
mov cl, r9b
mov dword [rsp + 0x3c], r9d
and cl, 0xc0
cmp cl, 0x80
jne 0x140024dd6
mov r8b, byte [rsp + 0x98]
mov cl, r8b
and cl, 0xe0
cmp cl, 0xc0
je 0x140024f17
lea eax, [r13 - 9]
cmp r12d, eax
jg 0x140024dde
cmp word [rbp + rdi*2 + 0xc], 0x25
jne 0x140024dde
movzx ecx, word [rbp + rdi*2 + 0xe]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 0x10]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 0xe]
call fcn.14002476c
movzx ecx, word [rbp + rdi*2 + 0x10]
mov r9d, eax
shl r9b, 4
call fcn.14002476c
add r9b, al
mov cl, r9b
mov dword [rsp + 0x40], r9d
and cl, 0xc0
cmp cl, 0x80
jne 0x140024dd6
mov r8b, byte [rsp + 0x98]
mov cl, r8b
and cl, 0xf0
cmp cl, 0xe0
je 0x140024ee6
lea eax, [r13 - 0xc]
cmp r12d, eax
jg 0x140024dde
cmp word [rbp + rdi*2 + 0x12], 0x25
jne 0x140024dde
movzx ecx, word [rbp + rdi*2 + 0x14]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 0x16]
call fcn.14001acb0
test eax, eax
je 0x140024dd6
movzx ecx, word [rbp + rdi*2 + 0x14]
call fcn.14002476c
movzx ecx, word [rbp + rdi*2 + 0x16]
mov r9d, eax
shl r9b, 4
call fcn.14002476c
add r9b, al
mov cl, r9b
and cl, 0xc0
cmp cl, 0x80
jne 0x140024dd6
mov r8b, byte [rsp + 0x98]
mov cl, r8b
and cl, 0xf8
cmp cl, 0xf0
jne 0x140024dde
mov r10d, dword [rsp + 0x44]
lea eax, [rbx + 2]
cmp eax, r10d
jg 0x140024dde
mov ecx, dword [rsp + 0x3c]
movzx eax, r8b
and eax, 7
movzx edx, cl
shr edx, 4
shl eax, 2
and edx, 3
or edx, eax
dec edx
cmp edx, 0x10000
jge 0x140024dde
xor eax, eax
cmp rsi, rax
je 0x140024e23
cmp ebx, r10d
jge 0x140024e23
mov eax, 0xff60
and cl, 0xf
or dx, ax
movzx ecx, cl
shl dx, 4
or cx, dx
mov edx, dword [rsp + 0x40]
mov al, dl
shl cx, 2
shr al, 4
and al, 3
movzx eax, al
or cx, ax
movsxd rax, ebx
mov word [rsi + rax*2], cx
jmp 0x140024e27
mov r8b, byte [rsp + 0x98]
mov edx, dword [rsp + 0x34]
and dword [rsp + 0x4c], 0
test byte [rsp + 0xb8], 1
jne 0x140024f39
mov ecx, dword [rsp + 0x30]
cmp ecx, 0xffffffff
je 0x140024e52
cmp edx, 0xffffffff
je 0x140024e52
mov rdi, qword [rsp + 0x50]
or qword [rsp + 0x50], 0xffffffffffffffff
mov r12d, ecx
or ecx, 0xffffffff
mov ebx, edx
or dword [rsp + 0x34], ecx
mov dword [rsp + 0x30], ecx
jmp 0x140024b23
mov edx, dword [rsp + 0x40]
and dl, 0xf
mov eax, 0xff70
and r9b, 0x3f
movzx r15d, dl
inc ebx
or r15w, ax
movzx eax, r9b
shl r15w, 6
or r15w, ax
add r12d, 0xb
mov ecx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x44]
xor edx, edx
cmp rsi, rdx
je 0x140024e69
cmp ebx, edi
jge 0x140024e69
movsxd rax, ebx
mov word [rsi + rax*2], r15w
inc r12d
inc ebx
cmp r12d, r13d
jl 0x140024b18
mov r15, qword [rsp + 0xb0]
mov eax, edi
sub eax, ebx
test byte [r14 + 0x298], 4
mov dword [rsp + 0x98], eax
je 0x140025019
lea rcx, [r14 + 0x150]
mov rax, qword [rcx]
call qword [rax + 0x48]
xor ebp, ebp
cmp eax, ebp
je 0x14002501b
movsxd rax, ebx
mov rcx, rsi
neg rcx
lea r8, [rsi + rax*2]
mov rcx, r14
sbb rdx, rdx
and rdx, r8
lea r8, [rsp + 0x98]
call fcn.14002435c
cmp eax, ebp
jl 0x14002504e
mov eax, dword [rsp + 0x98]
jmp 0x14002501d
mov ecx, dword [rsp + 0x3c]
movzx eax, r8b
and r9b, 0x3f
shl ax, 6
and cl, 0x3f
movzx r15d, cl
or r15w, ax
movzx eax, r9b
shl r15w, 6
or r15w, ax
add r12d, 8
jmp 0x140024e4e
and r8b, 0x1f
and r9b, 0x3f
movzx r15d, r8b
movzx eax, r9b
shl r15w, 6
or r15w, ax
add r12d, 5
jmp 0x140024e4e
mov ecx, dword [r14 + 0x2c]
cmp ecx, 0x4b0
je 0x140024ff1
cmp ecx, 0x4b1
je 0x140024ff1
mov rax, qword [r14 + 8]
lea r9, [rsp + 0x48]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov r8d, 1
mov dword [rsp + 0x20], 1
call fcn.1400209a0
xor ecx, ecx
cmp eax, ecx
je 0x140024e4e
movzx eax, word [rsp + 0x48]
cmp ax, cx
mov ecx, dword [rsp + 0x30]
je 0x140024e52
mov r15w, ax
add r12d, 2
jmp 0x140024e52
test byte [rsp + 0xb8], 8
jne 0x140024e4e
xor ecx, ecx
cmp byte [rsp + 0x38], cl
je 0x140024fdd
cmp r8b, 0x3d
je 0x140024fcf
cmp r8b, 0x26
je 0x140024fcf
cmp r8b, 0x2b
jne 0x140024fdd
test byte [rsp + 0xb8], 0x40
jne 0x140024e4e
cmp r8b, 0x23
jne 0x140024ff1
test byte [rsp + 0xb8], 4
jne 0x140024e4e
movzx r15d, r8b
add r12d, 2
jmp 0x140024e4e
xor eax, eax
or ecx, 0xffffffff
mov byte [rsp + 0x38], 1
or dword [rsp + 0x34], ecx
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x30], ecx
jmp 0x140024e52
xor ebp, ebp
mov eax, ebp
add ebx, eax
cmp rsi, rbp
je 0x14002502f
cmp ebx, edi
jg 0x14002502f
movsxd rcx, ebx
mov word [rsi + rcx*2], bp
mov dword [r15], ebx
cmp rsi, rbp
jne 0x14002503e
mov eax, 1
jmp 0x14002504e
cmp ebx, edi
jle 0x14002504c
mov word [rsi], bp
mov eax, 0x8007007a
jmp 0x14002504e
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret