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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140160f08
mov ebp, 4
lea r14d, [rbp - 3]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140160f08
cmp ecx, 0x29
jne 0x140160af4
cmp dword [rsi + 0x1c], 0
jne 0x140160f08
test dword [rsi + 0x80], edx
je 0x140160f5a
cmp ecx, 0x5d
jne 0x140160ab2
test dword [rsi + 0x80], edx
je 0x140160f91
movzx edx, word [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.140161d34
mov bl, r14b
mov rcx, rsi
call fcn.140160a10
test bl, bl
je 0x140160ef9
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x140160eb2
cmp eax, 0x2b
jne 0x140160e21
mov edi, r14d
jmp 0x140160eb2
cmp ecx, 0x2e
jne 0x140160b11
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.1401610a4
mov rcx, rsi
call fcn.140160a10
jmp 0x140160ad2
cmp ecx, 0x5c
jne 0x140160c79
mov rcx, rsi
call fcn.140160a10
mov eax, dword [rsi + 0x80]
test al, al
jns 0x140160b67
cmp word [rsi + 0x78], 0x62
jne 0x140160b4b
mov edx, ebp
lea rcx, [rsi + 0x40]
call fcn.1401610a4
mov rcx, rsi
call fcn.140160a10
jmp 0x140160ef9
cmp word [rsi + 0x78], 0x42
jne 0x140160b67
lea rcx, [rsi + 0x40]
mov edx, ebp
call fcn.1401610a4
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], r14d
jmp 0x140160b3e
bt eax, 8
jae 0x140160c41
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
call fcn.140162cf0
cmp eax, 0x7fffffff
je 0x140160c41
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x140160bb8
bt eax, 0x14
jae 0x140160f65
movzx edx, word [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.140161d34
jmp 0x140160ad2
bt eax, 9
jae 0x140160bc7
cmp edi, 9
ja 0x140160f70
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x140160f70
cmp qword [rsi + 0x38], rcx
jbe 0x140160f70
mov r8, qword [rsi + 0x20]
mov rdx, rcx
and ecx, 0x1f
shr rdx, 5
mov eax, r14d
shl eax, cl
test dword [r8 + rdx*4], eax
je 0x140160f70
mov ecx, 0x28
call fcn.14027b028
lea rcx, vtable.std::_Node_back.0
mov qword [rsp + 0x40], rax
mov rdx, rax
and dword [rax + 0xc], 0
and qword [rax + 0x10], 0
and qword [rax + 0x18], 0
mov qword [rax], rcx
lea rcx, [rsi + 0x40]
mov dword [rax + 8], 0xf
mov dword [rax + 0x20], edi
call fcn.14016106c
jmp 0x140160ad2
mov rcx, rsi
call fcn.140162540
test al, al
jne 0x140160ba6
test dword [rsi + 0x80], 0x20000
je 0x140160f26
mov dl, r14b
mov rcx, rsi
call fcn.1401621b4
test al, al
je 0x140160f26
jmp 0x140160ad2
cmp ecx, 0x5b
jne 0x140160ce5
mov rcx, rsi
call fcn.140160a10
lea rcx, [rsi + 0x40]
call fcn.1401627dc
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x140160caa
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], r14d
call fcn.140160a10
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x140160cce
cmp eax, 0x5d
jne 0x140160cce
mov edx, eax
lea rcx, [rsi + 0x40]
call fcn.140162838
mov rcx, rsi
call fcn.140160a10
mov rcx, rsi
call fcn.140162250
cmp dword [rsi + 0x7c], 0x5d
jne 0x140160f31
jmp 0x140160b07
cmp ecx, 0x28
jne 0x140160dcf
mov rcx, rsi
call fcn.140160a10
add dword [rsi + 0x1c], r14d
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140160d10
cmp dword [rsi + 0x7c], 0x29
je 0x140160f7b
test al, 0x20
je 0x140160d56
cmp dword [rsi + 0x7c], 0x3f
jne 0x140160d56
mov rcx, rsi
call fcn.140160a10
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140160a10
cmp ebx, 0x3a
je 0x140160d5f
cmp ebx, 0x21
jne 0x140160d49
mov dl, r14b
mov rcx, rsi
call fcn.140162710
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x140160dc0
cmp ebx, 0x3d
jne 0x140160f86
xor edx, edx
jmp 0x140160d3a
test dword [rsi + 0x70], 0x200
je 0x140160d69
mov rcx, rsi
call fcn.1401626c8
jmp 0x140160dba
add dword [rsi + 0x18], r14d
lea rcx, [rsi + 0x40]
mov edx, dword [rsi + 0x18]
call fcn.14015f8fc
mov rcx, rsi
mov rdi, rax
call fcn.14015f75c
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.14015f880
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
add edx, r14d
call fcn.14015ed70
mov ecx, dword [rdi + 0x20]
mov r8, qword [rsi + 0x20]
mov edx, ecx
shr rdx, 5
and ecx, 0x1f
mov eax, dword [r8 + rdx*4]
bts eax, ecx
mov dword [r8 + rdx*4], eax
dec dword [rsi + 0x1c]
mov bl, r14b
cmp dword [rsi + 0x7c], 0x29
jne 0x140160f39
jmp 0x140160ac2
cmp ecx, 0x5e
jne 0x140160ddc
lea edx, [rcx - 0x5c]
jmp 0x140160b35
cmp ecx, 0x24
jne 0x140160de9
lea edx, [rcx - 0x21]
jmp 0x140160b35
lea eax, [rcx - 0x2a]
cmp eax, r14d
jbe 0x140160f4f
cmp ecx, 0x3f
je 0x140160f4f
cmp ecx, 0x7b
je 0x140160f4f
cmp ecx, 0x7d
jne 0x140160aa1
test dword [rsi + 0x80], edx
je 0x140160f44
jmp 0x140160ab2
cmp eax, 0x3f
jne 0x140160e2e
mov ebx, r14d
jmp 0x140160eb2
cmp eax, 0x7b
jne 0x140160ef9
mov rcx, rsi
call fcn.140160a10
mov edi, 0x7fffffff
mov edx, 0xa
mov r8d, edi
mov rcx, rsi
call fcn.140162cf0
cmp eax, edi
je 0x140160f1b
mov eax, dword [rsi + 0x7c]
mov edi, dword [rsi + 0x74]
cmp eax, 0x2c
je 0x140160e6b
mov ebx, edi
jmp 0x140160e9c
mov rcx, rsi
call fcn.140160a10
cmp dword [rsi + 0x7c], 0x7d
je 0x140160eb2
mov ebx, 0x7fffffff
mov edx, 0xa
mov r8d, ebx
mov rcx, rsi
call fcn.140162cf0
cmp eax, ebx
je 0x140160fa4
mov ebx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
jne 0x140160f99
cmp ebx, 0xffffffff
je 0x140160eb2
cmp ebx, edi
jl 0x140160f99
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], ebp
call fcn.140160a10
test dword [rsi + 0x80], 0x400
je 0x140160ee0
cmp dword [rsi + 0x7c], 0x3f
jne 0x140160ee0
xor bpl, bpl
mov rcx, rsi
call fcn.140160a10
jmp 0x140160ee3
mov bpl, r14b
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.1401628d0
mov ebp, 4
mov ecx, dword [rsi + 0x7c]
mov al, r14b
cmp ecx, 0xffffffff
jne 0x140160a78
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov edx, 7
call fcn.14015f588
int3
mov edx, 2
call fcn.14015f588
int3
mov edx, ebp
call fcn.14015f588
int3
mov edx, 5
call fcn.14015f588
int3
mov edx, 6
call fcn.14015f588
int3
mov edx, 0xa
call fcn.14015f588
int3
mov edx, 5
call fcn.14015f588
int3
mov edx, 2
call fcn.14015f588
int3
mov edx, 3
call fcn.14015f588
int3
mov edx, 5
call fcn.14015f588
int3
mov edx, 0xe
call fcn.14015f588
int3
mov edx, ebp
call fcn.14015f588
int3
mov edx, 7
call fcn.14015f588
int3
mov edx, 7
call fcn.14015f588
int3