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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
mov rbp, rsp
sub rsp, 0x38
mov rax, qword [rcx + 0x50]
mov rbx, rcx
mov esi, r8d
mov r15, rdx
mov r10, qword [rax]
lea rcx, [rsi + rsi*2]
mov edi, dword [r10 + rcx*8]
lea r9, [r10 + rcx*8]
mov eax, edi
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140057d7d
nop word [rax + rax]
movzx esi, di
lea rcx, [rsi + rsi*2]
mov edi, dword [r10 + rcx*8]
lea r9, [r10 + rcx*8]
mov eax, edi
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140057d60
mov r12d, dword [r9 + 4]
mov eax, edi
and eax, 0xfe000000
cmp eax, 0x2000000
jne 0x1400583ae
cmp r12d, 4
ja 0x1400583ae
cmp dword [rbx + 4], 0x3d
mov rcx, rbx
jne 0x1400583bc
call fcn.14005c0e0
inc dword [rbx + 0x6c]
mov rcx, rbx
cmp dword [rbx + 0x6c], 0x14
jg 0x1400583c7
mov qword [rsp + 0x78], r13
lea rdx, [rbp + 0x38]
mov qword [rsp + 0x30], r14
call fcn.14005bb50
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.14005b7f0
dec dword [rbx + 0x6c]
xor r13d, r13d
mov qword [rbp + 0x50], r13
lea r14d, [r13 + 4]
nop dword [rax]
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x140057e54
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 0x140057df8
mov rcx, rbx
cmp eax, 0x3a
jne 0x1400583d2
call fcn.14005c0e0
xor r8d, r8d
lea rdx, [rbp - 0x18]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x38], r13d
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x18]
cmovne eax, dword [rbp + 0x50]
cmp dword [rbp + 0x54], ecx
mov dword [rbp + 0x38], eax
cmova ecx, dword [rbp + 0x54]
mov dword [rbp + 0x3c], ecx
jmp 0x140057df0
cmp eax, 0x104
jne 0x140057e91
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 2
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x38], r13d
jne 0x140057ebe
cmp dword [rbp + 0x50], r13d
jne 0x140057ebe
mov dword [rbp + 0x38], r13d
mov dword [rbp + 0x3c], 9
jmp 0x140057df0
cmp eax, 0x105
jne 0x140057ed1
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 3
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x38], r13d
je 0x140057e81
cmp dword [rbp + 0x50], r13d
je 0x140057e81
mov dword [rbp + 0x38], 1
mov dword [rbp + 0x3c], 9
jmp 0x140057df0
cmp eax, 0x7c
jne 0x140057ef8
mov rcx, rbx
call fcn.14005c0e0
mov r8d, r14d
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
or dword [rbp + 0x38], eax
jmp 0x14005823f
cmp eax, 0x5e
jne 0x140057f22
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 5
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
xor dword [rbp + 0x38], eax
jmp 0x14005823f
cmp eax, 0x26
jne 0x140057f4c
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 6
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
and dword [rbp + 0x38], eax
jmp 0x14005823f
cmp eax, 0x106
jne 0x140057f88
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 ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
sete cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x107
jne 0x140057fc4
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 ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setne cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x3c
jne 0x140058025
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x3c], 9
jne 0x14005800a
cmp dword [rbp + 0x54], 9
jne 0x14005800a
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setl cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setb cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x3e
jne 0x140058086
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x3c], 9
jne 0x14005806b
cmp dword [rbp + 0x54], 9
jne 0x14005806b
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setg cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
seta cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x108
jne 0x1400580e9
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x3c], 9
jne 0x1400580ce
cmp dword [rbp + 0x54], 9
jne 0x1400580ce
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setle cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setbe cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x109
jne 0x14005814c
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x3c], 9
jne 0x140058131
cmp dword [rbp + 0x54], 9
jne 0x140058131
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setge cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
mov eax, dword [rbp + 0x50]
mov ecx, r13d
cmp dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 9
setae cl
mov dword [rbp + 0x38], ecx
jmp 0x140057df0
cmp eax, 0x10a
jne 0x140058178
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov ecx, dword [rbp + 0x50]
shl dword [rbp + 0x38], cl
jmp 0x140057df0
cmp eax, 0x10b
jne 0x1400581b2
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
cmp dword [rbp + 0x3c], 9
mov ecx, dword [rbp + 0x50]
jne 0x1400581aa
sar dword [rbp + 0x38], cl
jmp 0x140057df0
shr dword [rbp + 0x38], cl
jmp 0x140057df0
cmp eax, 0x2b
jne 0x1400581d9
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 0xa
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
add dword [rbp + 0x38], eax
jmp 0x14005823f
cmp eax, 0x2d
jne 0x140058200
mov rcx, rbx
call fcn.14005c0e0
mov r8d, 0xa
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bf80
mov eax, dword [rbp + 0x50]
sub dword [rbp + 0x38], eax
jmp 0x14005823f
cmp eax, 0x2a
jne 0x140058253
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x1400583eb
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov eax, dword [rbp + 0x38]
dec dword [rbx + 0x6c]
imul eax, dword [rbp + 0x50]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x54]
cmp eax, dword [rbp + 0x3c]
jbe 0x140057df0
mov dword [rbp + 0x3c], eax
jmp 0x140057df0
cmp eax, 0x2f
jne 0x1400582d4
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x1400583eb
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov ecx, dword [rbp + 0x3c]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x54], ecx
mov r8d, dword [rbp + 0x50]
cmova ecx, dword [rbp + 0x54]
mov dword [rbp + 0x3c], ecx
test r8d, r8d
je 0x1400583dd
mov eax, dword [rbp + 0x38]
cmp ecx, 9
jne 0x1400582c7
cmp eax, 0x80000000
jne 0x1400582bb
cmp r8d, 0xffffffff
je 0x1400583dd
cdq
idiv r8d
mov dword [rbp + 0x38], eax
jmp 0x140057df0
xor edx, edx
div r8d
mov dword [rbp + 0x38], eax
jmp 0x140057df0
cmp eax, 0x25
jne 0x140058355
mov rcx, rbx
call fcn.14005c0e0
inc dword [rbx + 0x6c]
cmp dword [rbx + 0x6c], 0x14
jg 0x1400583eb
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005bb50
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.14005b7f0
mov ecx, dword [rbp + 0x3c]
dec dword [rbx + 0x6c]
cmp dword [rbp + 0x54], ecx
mov r8d, dword [rbp + 0x50]
cmova ecx, dword [rbp + 0x54]
mov dword [rbp + 0x3c], ecx
test r8d, r8d
je 0x1400583dd
mov eax, dword [rbp + 0x38]
cmp ecx, 9
jne 0x140058348
cmp eax, 0x80000000
jne 0x14005833c
cmp r8d, 0xffffffff
je 0x1400583dd
cdq
idiv r8d
mov dword [rbp + 0x38], edx
jmp 0x140057df0
xor edx, edx
div r8d
mov dword [rbp + 0x38], edx
jmp 0x140057df0
mov rcx, qword [rbx + 0x50]
mov rdx, r15
call fcn.140076870
mov rcx, qword [r15]
bts esi, 0x19
sub r14d, r12d
sub esi, 0x50000000
shl r14d, 3
mov r8d, eax
mov dword [rcx], esi
mov ecx, r14d
mov edx, dword [rbp + 0x38]
shl edx, cl
bt edi, 0x17
jae 0x14005838c
shr edx, cl
jmp 0x14005838e
sar edx, cl
mov rax, qword [r15]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x30]
mov dword [rax + 4], edx
mov eax, r8d
add rsp, 0x38
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, 0xbbf
mov rcx, rbx
call fcn.14005a7f0
int3
mov edx, 0x3d
call fcn.14005a850
int3
mov edx, 0x8d0
call fcn.14005a7f0
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