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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov r8d, 0x50000001
mov rbx, rcx
call fcn.14005d500
cmp dword [rbx + 4], 0x7b
mov r14d, 0x5002000a
mov r12d, eax
jne 0x140058c12
mov rcx, rbx
call fcn.14005c0e0
xor edi, edi
mov dword [rbp + 0x44], 9
cmp dword [rbx + 4], 0x100
mov r13d, r12d
mov dword [rbp + 0x40], edi
mov r15, qword [rbx + 0x10]
mov rcx, rbx
jne 0x140058c2a
cmp dword [rbx + 0xc], 0
mov esi, 0xa
jne 0x140058c8e
call fcn.14005c0e0
cmp dword [rbx + 4], 0x3d
jne 0x140058ad6
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
mov rcx, rbx
cmp dword [rbx + 0x6c], 0x14
jg 0x140058c6a
lea rdx, [rbp + 0x40]
call fcn.14005bb50
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.14005b7f0
dec dword [rbx + 0x6c]
mov edx, dword [rbp + 0x40]
mov qword [rbp + 0x50], 0
mov r8d, dword [rbp + 0x44]
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x140058528
mov rcx, rbx
call fcn.14005c0e0
xor r8d, r8d
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x1400584c8
mov rcx, rbx
cmp eax, 0x3a
jne 0x140058c35
call fcn.14005c0e0
xor r8d, r8d
lea rdx, [rbp + 0x58]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x40], 0
mov r8d, dword [rbp + 0x5c]
mov edx, dword [rbp + 0x58]
cmovne edx, dword [rbp + 0x50]
cmp dword [rbp + 0x54], r8d
mov dword [rbp + 0x40], edx
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
jmp 0x1400584c0
cmp eax, 0x104
jne 0x140058569
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 2
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x40], 0
jne 0x140058596
cmp dword [rbp + 0x50], 0
jne 0x140058596
mov edx, edi
mov r8d, 9
mov dword [rbp + 0x40], edx
mov dword [rbp + 0x44], r8d
jmp 0x1400584c0
cmp eax, 0x105
jne 0x1400585ad
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 3
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x40], 0
je 0x140058555
cmp dword [rbp + 0x50], 0
je 0x140058555
mov edx, 1
mov r8d, 9
mov dword [rbp + 0x40], edx
mov dword [rbp + 0x44], r8d
jmp 0x1400584c0
cmp eax, 0x7c
jne 0x1400585d7
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 4
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
or edx, dword [rbp + 0x50]
jmp 0x140058939
cmp eax, 0x5e
jne 0x140058601
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 5
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
xor edx, dword [rbp + 0x50]
jmp 0x140058939
cmp eax, 0x26
jne 0x14005862b
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 6
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
and edx, dword [rbp + 0x50]
jmp 0x140058939
cmp eax, 0x106
jne 0x140058669
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 7
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
sete dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x107
jne 0x1400586a7
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 7
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setne dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x3c
jne 0x14005870c
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x44], 9
jne 0x1400586ef
cmp dword [rbp + 0x54], 9
jne 0x1400586ef
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setl dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setb dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x3e
jne 0x140058771
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x44], 9
jne 0x140058754
cmp dword [rbp + 0x54], 9
jne 0x140058754
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setg dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
seta dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x108
jne 0x1400587d8
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x44], 9
jne 0x1400587bb
cmp dword [rbp + 0x54], 9
jne 0x1400587bb
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setle dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setbe dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x109
jne 0x14005883f
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x44], 9
jne 0x140058822
cmp dword [rbp + 0x54], 9
jne 0x140058822
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setge dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
mov eax, dword [rbp + 0x50]
mov edx, edi
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setae dl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x10a
jne 0x140058870
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
mov ecx, dword [rbp + 0x50]
shl edx, cl
mov dword [rbp + 0x40], edx
jmp 0x1400584bc
cmp eax, 0x10b
jne 0x1400588b5
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov r8d, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbp + 0x40]
cmp r8d, 9
jne 0x1400588ab
sar edx, cl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
shr edx, cl
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
cmp eax, 0x2b
jne 0x1400588d9
mov rcx, rbx
call fcn.14005c0e0
mov r8d, esi
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
add edx, dword [rbp + 0x50]
jmp 0x140058939
cmp eax, 0x2d
jne 0x1400588fd
mov rcx, rbx
call fcn.14005c0e0
mov r8d, esi
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov edx, dword [rbp + 0x40]
sub edx, dword [rbp + 0x50]
jmp 0x140058939
cmp eax, 0x2a
jne 0x140058957
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058c4e
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov edx, dword [rbp + 0x40]
dec dword [rbx + 0x6c]
imul edx, dword [rbp + 0x50]
mov dword [rbp + 0x40], edx
mov eax, dword [rbp + 0x54]
mov r8d, dword [rbp + 0x44]
cmp eax, r8d
jbe 0x1400584c0
mov r8d, eax
mov dword [rbp + 0x44], eax
jmp 0x1400584c0
cmp eax, 0x2f
jne 0x1400589e0
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058c4e
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov r8d, dword [rbp + 0x44]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x54], r8d
mov ecx, dword [rbp + 0x50]
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
test ecx, ecx
je 0x140058c40
mov eax, dword [rbp + 0x40]
cmp r8d, 9
jne 0x1400589d2
cmp eax, 0x80000000
jne 0x1400589c5
cmp ecx, 0xffffffff
je 0x140058c40
cdq
idiv ecx
mov edx, eax
mov dword [rbp + 0x40], eax
jmp 0x1400584c0
xor edx, edx
div ecx
mov edx, eax
mov dword [rbp + 0x40], eax
jmp 0x1400584c0
cmp eax, 0x25
jne 0x140058a61
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x140058c4e
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov r8d, dword [rbp + 0x44]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x54], r8d
mov ecx, dword [rbp + 0x50]
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
test ecx, ecx
je 0x140058c40
mov eax, dword [rbp + 0x40]
cmp r8d, 9
jne 0x140058a55
cmp eax, 0x80000000
jne 0x140058a4a
cmp ecx, 0xffffffff
je 0x140058c40
cdq
idiv ecx
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
xor edx, edx
div ecx
mov dword [rbp + 0x40], edx
jmp 0x1400584c0
mov rax, qword [rbx + 0x50]
mov r10, qword [rax]
mov eax, r8d
lea rcx, [rax + rax*2]
mov r9d, dword [r10 + rcx*8]
mov eax, r9d
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140058aab
nop dword [rax]
nop word [rax + rax]
movzx ecx, r9w
lea rax, [rcx + rcx*2]
mov r9d, dword [r10 + rax*8]
mov eax, r9d
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140058a90
test r9d, 0xfc000000
jne 0x140058c5c
cmp r8d, 0xa
jne 0x140058ac4
test edx, edx
js 0x140058ad6
jmp 0x140058acf
test edx, edx
mov eax, 0x50020009
cmovs r14d, eax
mov dword [rbp + 0x44], 9
mov rdi, qword [rbx + 0x50]
lea r8, [rdi + 0xc]
mov esi, dword [rdi + 8]
cmp esi, dword [r8]
jb 0x140058b0f
mov rcx, qword [rdi + 0x10]
cmp esi, 0x10000
jae 0x140058c75
mov rdx, qword [rdi]
mov r9d, 0x10000
mov dword [rsp + 0x20], 0x18
call fcn.14007c2e0
mov qword [rdi], rax
lea eax, [rsi + 1]
mov dword [rdi + 8], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi]
xor edi, edi
lea r9, [rax + rcx*8]
mov eax, r13d
mov qword [r9], rdi
mov r13d, esi
mov qword [r9 + 0x10], rdi
mov dword [r9 + 8], edi
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x50]
mov rcx, qword [rax]
mov word [rcx + rdx*8 + 8], si
or byte [r15 + 8], 0x20
mov qword [r9 + 0x10], r15
mov eax, dword [rbp + 0x44]
bts eax, 0x19
sub eax, 0x50000000
mov dword [r9], eax
mov eax, dword [rbp + 0x40]
mov dword [r9 + 4], eax
mov ecx, dword [rbp + 0x40]
mov eax, dword [rbp + 0x44]
inc ecx
mov r8, qword [rbx + 0x50]
cmp ecx, 0x80000000
mov dword [rbp + 0x40], ecx
mov ecx, 0xa
cmove eax, ecx
mov dword [rbp + 0x44], eax
mov edx, dword [r9 + 0x10]
lea eax, [rdx - 0x4c11db7]
xor edx, eax
rol eax, 0xe
sub edx, eax
rol eax, 5
xor eax, edx
rol edx, 0xd
mov ecx, eax
sub ecx, edx
and ecx, 0x7f
movzx eax, word [r8 + rcx*2 + 0xd8]
mov word [r9 + 0xa], ax
mov word [r8 + rcx*2 + 0xd8], si
mov eax, dword [rbx + 4]
cmp eax, 0x2c
jne 0x140058bdb
mov rcx, rbx
call fcn.14005c0e0
mov eax, dword [rbx + 4]
cmp eax, 0x7d
je 0x140058be4
cmp eax, 0x100
jmp 0x140058456
cmp eax, 0x7d
jne 0x140058c80
mov rcx, rbx
call fcn.14005c0e0
mov rax, qword [rbx + 0x50]
lea rcx, [r12 + r12*2]
lea rdx, [rcx*8]
mov rcx, qword [rax]
mov dword [rdx + rcx], r14d
mov rax, qword [rbx + 0x50]
mov rcx, qword [rax]
mov dword [rcx + rdx + 4], 4
mov rbx, qword [rsp + 0x78]
mov eax, r12d
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x100
call fcn.14005a850
int3
mov edx, 0x3a
call fcn.14005a850
int3
mov edx, 0x219
mov rcx, rbx
call fcn.14005a7f0
int3
mov edx, 0x8d0
mov rcx, rbx
call fcn.14005a7f0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.14005a7f0
int3
mov edx, 0x8d0
call fcn.14005a7f0
int3
mov edx, 0x8b
call fcn.140078b60
int3
mov edx, 0x7d
mov rcx, rbx
call fcn.14005a850
int3
lea r9, [r15 + 0x18]
xor edx, edx
mov r8d, 0xc46
call fcn.14005a880
int3