Function at 0x140018a9c
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 r13
sub rsp, 0x20
mov rsi, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140018f68
mov ebp, 4
lea r13d, [rbp + 3]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140018f68
cmp ecx, 0x29
jne 0x140018af6
cmp dword [rsi + 0x1c], 0
jne 0x140018f68
test dword [rsi + 0x80], edx
je 0x140018f90
jmp 0x140018e20
cmp ecx, 0x2e
jne 0x140018b16
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.14001910c
mov rcx, rsi
call fcn.140018a50
jmp 0x140018e62
cmp ecx, 0x5c
jne 0x140018c89
mov rcx, rsi
call fcn.140018a50
mov ecx, dword [rsi + 0x80]
mov eax, ecx
and eax, 0x80
je 0x140018b54
cmp byte [rsi + 0x78], 0x62
jne 0x140018b54
mov edx, ebp
lea rcx, [rsi + 0x40]
call fcn.14001910c
mov rcx, rsi
call fcn.140018a50
jmp 0x140018f5a
test eax, eax
je 0x140018b73
cmp byte [rsi + 0x78], 0x42
jne 0x140018b73
lea rcx, [rsi + 0x40]
mov edx, ebp
call fcn.14001910c
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140018b47
bt ecx, 8
jae 0x140018c52
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
lea r9d, [rdx - 7]
call fcn.14001b47c
cmp eax, 0x7fffffff
je 0x140018c52
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x140018bc7
bt eax, 0x14
jae 0x140018fcf
mov dl, byte [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.14001a204
jmp 0x140018e62
bt eax, 9
jae 0x140018bd6
cmp edi, 9
ja 0x140018fda
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x140018fda
cmp qword [rsi + 0x38], rcx
jbe 0x140018fda
mov r8, qword [rsi + 0x20]
mov rdx, rcx
and ecx, 0x1f
shr rdx, 5
mov eax, 1
shl eax, cl
test dword [r8 + rdx*4], eax
je 0x140018fda
mov ecx, 0x28
call fcn.1400c4c50
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.1400190d4
jmp 0x140018e62
mov rcx, rsi
call fcn.14001ac00
test al, al
jne 0x140018bb6
test dword [rsi + 0x80], 0x20000
je 0x140018f9b
mov dl, 1
mov rcx, rsi
call fcn.14001a904
test al, al
je 0x140018f9b
jmp 0x140018e62
cmp ecx, 0x5b
jne 0x140018cf5
mov rcx, rsi
call fcn.140018a50
lea rcx, [rsi + 0x40]
call fcn.14001aef0
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x140018cba
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.140018a50
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x140018cde
cmp eax, 0x5d
jne 0x140018cde
mov dl, al
lea rcx, [rsi + 0x40]
call fcn.14001af4c
mov rcx, rsi
call fcn.140018a50
mov rcx, rsi
call fcn.14001a9a0
cmp dword [rsi + 0x7c], 0x5d
jne 0x140018fa6
jmp 0x140018b09
cmp ecx, 0x28
jne 0x140018de8
mov rcx, rsi
call fcn.140018a50
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140018d1f
cmp dword [rsi + 0x7c], 0x29
je 0x140018fe5
test al, 0x20
je 0x140018d67
cmp dword [rsi + 0x7c], 0x3f
jne 0x140018d67
mov rcx, rsi
call fcn.140018a50
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140018a50
cmp ebx, 0x3a
je 0x140018d70
cmp ebx, 0x21
jne 0x140018d5a
mov dl, 1
mov rcx, rsi
call fcn.14001ae34
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x140018ddc
cmp ebx, 0x3d
jne 0x140018ff0
xor edx, edx
jmp 0x140018d48
test dword [rsi + 0x70], 0x200
je 0x140018d7a
mov rcx, rsi
call fcn.14001adec
jmp 0x140018dd7
mov edx, dword [rsi + 0x18]
inc edx
mov dword [rsi + 0x18], edx
cmp edx, 0x3e8
jae 0x140018f7b
lea rcx, [rsi + 0x40]
call fcn.140018000
mov rcx, rsi
mov rdi, rax
call fcn.140017e60
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.140017f84
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.140018668
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, 1
cmp dword [rsi + 0x7c], 0x29
jne 0x140018fae
jmp 0x140018e52
cmp ecx, 0x5e
jne 0x140018df5
lea edx, [rcx - 0x5c]
jmp 0x140018b3e
cmp ecx, 0x24
jne 0x140018e02
lea edx, [rcx - 0x21]
jmp 0x140018b3e
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140018fc4
cmp ecx, 0x3f
je 0x140018fc4
cmp ecx, 0x7b
je 0x140018fc4
cmp ecx, 0x7d
jne 0x140018e33
test dword [rsi + 0x80], edx
je 0x140018fb9
jmp 0x140018e44
cmp ecx, 0x5d
jne 0x140018e44
test dword [rsi + 0x80], edx
je 0x140018ffb
mov dl, byte [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.14001a204
mov bl, 1
mov rcx, rsi
call fcn.140018a50
test bl, bl
je 0x140018f5a
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x140018f13
cmp eax, 0x2b
jne 0x140018e80
lea edi, [rbx + 2]
jmp 0x140018f13
cmp eax, 0x3f
jne 0x140018e8d
lea ebx, [rax - 0x3e]
jmp 0x140018f13
cmp eax, 0x7b
jne 0x140018f5a
mov rcx, rsi
call fcn.140018a50
mov edi, 0x7fffffff
mov r9d, r13d
mov r8d, edi
mov edx, 0xa
mov rcx, rsi
call fcn.14001b47c
cmp eax, edi
je 0x140018f87
cmp dword [rsi + 0x7c], 0x2c
mov edi, dword [rsi + 0x74]
je 0x140018ecb
mov ebx, edi
jmp 0x140018efc
mov rcx, rsi
call fcn.140018a50
cmp dword [rsi + 0x7c], 0x7d
je 0x140018f06
mov ebx, 0x7fffffff
mov r9d, r13d
mov r8d, ebx
mov edx, 0xa
mov rcx, rsi
call fcn.14001b47c
cmp eax, ebx
je 0x140019003
mov ebx, dword [rsi + 0x74]
cmp dword [rsi + 0x7c], 0x7d
jne 0x14001900c
cmp ebx, 0xffffffff
je 0x140018f13
cmp ebx, edi
jl 0x14001900c
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], ebp
call fcn.140018a50
test dword [rsi + 0x80], 0x400
je 0x140018f41
cmp dword [rsi + 0x7c], 0x3f
jne 0x140018f41
xor bpl, bpl
mov rcx, rsi
call fcn.140018a50
jmp 0x140018f44
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.14001afc8
mov ebp, 4
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140018ac8
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop rdi
pop rsi
ret
mov ecx, 0xc
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov edx, r13d
call fcn.140017c78
int3
mov edx, 5
call fcn.140017c78
int3
mov edx, 2
call fcn.140017c78
int3
mov edx, ebp
call fcn.140017c78
int3
mov edx, 5
call fcn.140017c78
int3
mov edx, 6
call fcn.140017c78
int3
mov edx, 0xa
call fcn.140017c78
int3
mov edx, 2
call fcn.140017c78
int3
mov edx, 3
call fcn.140017c78
int3
mov edx, 5
call fcn.140017c78
int3
mov edx, 0xe
call fcn.140017c78
int3
mov edx, ebp
call fcn.140017c78
int3
mov edx, r13d
call fcn.140017c78
int3
mov edx, r13d
call fcn.140017c78
int3