Function at 0x1400312c4
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 0x140031790
mov ebp, 4
lea r13d, [rbp + 3]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140031790
cmp ecx, 0x29
jne 0x14003131e
cmp dword [rsi + 0x1c], 0
jne 0x140031790
test dword [rsi + 0x80], edx
je 0x1400317b8
jmp 0x140031648
cmp ecx, 0x2e
jne 0x14003133e
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.140031934
mov rcx, rsi
call fcn.140031278
jmp 0x14003168a
cmp ecx, 0x5c
jne 0x1400314b1
mov rcx, rsi
call fcn.140031278
mov ecx, dword [rsi + 0x80]
mov eax, ecx
and eax, 0x80
je 0x14003137c
cmp byte [rsi + 0x78], 0x62
jne 0x14003137c
mov edx, ebp
lea rcx, [rsi + 0x40]
call fcn.140031934
mov rcx, rsi
call fcn.140031278
jmp 0x140031782
test eax, eax
je 0x14003139b
cmp byte [rsi + 0x78], 0x42
jne 0x14003139b
lea rcx, [rsi + 0x40]
mov edx, ebp
call fcn.140031934
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x14003136f
bt ecx, 8
jae 0x14003147a
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
lea r9d, [rdx - 7]
call fcn.140033c58
cmp eax, 0x7fffffff
je 0x14003147a
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x1400313ef
bt eax, 0x14
jae 0x1400317f7
mov dl, byte [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.14003297c
jmp 0x14003168a
bt eax, 9
jae 0x1400313fe
cmp edi, 9
ja 0x140031802
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x140031802
cmp qword [rsi + 0x38], rcx
jbe 0x140031802
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 0x140031802
mov ecx, Ordinal_41
call fcn.1400cb520
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], reloc.WS2_32.dll_ntohs
mov dword [rax + 0x20], edi
call fcn.1400318fc
jmp 0x14003168a
mov rcx, rsi
call fcn.1400333dc
test al, al
jne 0x1400313de
test dword [rsi + 0x80], 0x20000
je 0x1400317c3
mov dl, 1
mov rcx, rsi
call fcn.1400330e0
test al, al
je 0x1400317c3
jmp 0x14003168a
cmp ecx, 0x5b
jne 0x14003151d
mov rcx, rsi
call fcn.140031278
lea rcx, [rsi + 0x40]
call fcn.1400336cc
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x1400314e2
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.140031278
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x140031506
cmp eax, 0x5d
jne 0x140031506
mov dl, al
lea rcx, [rsi + 0x40]
call fcn.140033728
mov rcx, rsi
call fcn.140031278
mov rcx, rsi
call fcn.14003317c
cmp dword [rsi + 0x7c], 0x5d
jne 0x1400317ce
jmp 0x140031331
cmp ecx, 0x28
jne 0x140031610
mov rcx, rsi
call fcn.140031278
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140031547
cmp dword [rsi + 0x7c], 0x29
je 0x14003180d
test al, 0x20
je 0x14003158f
cmp dword [rsi + 0x7c], 0x3f
jne 0x14003158f
mov rcx, rsi
call fcn.140031278
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140031278
cmp ebx, 0x3a
je 0x140031598
cmp ebx, 0x21
jne 0x140031582
mov dl, 1
mov rcx, rsi
call fcn.140033610
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x140031604
cmp ebx, 0x3d
jne 0x140031818
xor edx, edx
jmp 0x140031570
test dword [rsi + 0x70], 0x200
je 0x1400315a2
mov rcx, rsi
call fcn.1400335c8
jmp 0x1400315ff
mov edx, dword [rsi + 0x18]
inc edx
mov dword [rsi + 0x18], edx
cmp edx, 0x3e8
jae 0x1400317a3
lea rcx, [rsi + 0x40]
call fcn.140030828
mov rcx, rsi
mov rdi, rax
call fcn.140030688
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.1400307ac
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.140030e90
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 0x1400317d6
jmp 0x14003167a
cmp ecx, 0x5e
jne 0x14003161d
lea edx, [rcx - 0x5c]
jmp 0x140031366
cmp ecx, 0x24
jne 0x14003162a
lea edx, [rcx - 0x21]
jmp 0x140031366
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400317ec
cmp ecx, 0x3f
je 0x1400317ec
cmp ecx, 0x7b
je 0x1400317ec
cmp ecx, 0x7d
jne 0x14003165b
test dword [rsi + 0x80], edx
je 0x1400317e1
jmp 0x14003166c
cmp ecx, 0x5d
jne 0x14003166c
test dword [rsi + 0x80], edx
je 0x140031823
mov dl, byte [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.14003297c
mov bl, 1
mov rcx, rsi
call fcn.140031278
test bl, bl
je 0x140031782
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x14003173b
cmp eax, 0x2b
jne 0x1400316a8
lea edi, [rbx + 2]
jmp 0x14003173b
cmp eax, 0x3f
jne 0x1400316b5
lea ebx, [rax - 0x3e]
jmp 0x14003173b
cmp eax, 0x7b
jne 0x140031782
mov rcx, rsi
call fcn.140031278
mov edi, 0x7fffffff
mov r9d, r13d
mov r8d, edi
mov edx, 0xa
mov rcx, rsi
call fcn.140033c58
cmp eax, edi
je 0x1400317af
cmp dword [rsi + 0x7c], 0x2c
mov edi, dword [rsi + 0x74]
je 0x1400316f3
mov ebx, edi
jmp 0x140031724
mov rcx, rsi
call fcn.140031278
cmp dword [rsi + 0x7c], 0x7d
je 0x14003172e
mov ebx, 0x7fffffff
mov r9d, r13d
mov r8d, ebx
mov edx, 0xa
mov rcx, rsi
call fcn.140033c58
cmp eax, ebx
je 0x14003182b
mov ebx, dword [rsi + 0x74]
cmp dword [rsi + 0x7c], 0x7d
jne 0x140031834
cmp ebx, 0xffffffff
je 0x14003173b
cmp ebx, edi
jl 0x140031834
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], ebp
call fcn.140031278
test dword [rsi + 0x80], 0x400
je 0x140031769
cmp dword [rsi + 0x7c], 0x3f
jne 0x140031769
xor bpl, bpl
mov rcx, rsi
call fcn.140031278
jmp 0x14003176c
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.1400337a4
mov ebp, 4
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1400312f0
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop rdi
pop rsi
ret
mov ecx, ntohs
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov edx, r13d
call fcn.1400304a0
int3
mov edx, 5
call fcn.1400304a0
int3
mov edx, 2
call fcn.1400304a0
int3
mov edx, ebp
call fcn.1400304a0
int3
mov edx, 5
call fcn.1400304a0
int3
mov edx, 6
call fcn.1400304a0
int3
mov edx, 0xa
call fcn.1400304a0
int3
mov edx, 2
call fcn.1400304a0
int3
mov edx, 3
call fcn.1400304a0
int3
mov edx, 5
call fcn.1400304a0
int3
mov edx, reloc.WS2_32.dll_ntohl
call fcn.1400304a0
int3
mov edx, ebp
call fcn.1400304a0
int3
mov edx, r13d
call fcn.1400304a0
int3
mov edx, r13d
call fcn.1400304a0
int3