Function at 0x14003c548
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 0x14003ca14
mov ebp, 4
lea r13d, [rbp + 3]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x14003ca14
cmp ecx, 0x29
jne 0x14003c5a2
cmp dword [rsi + 0x1c], 0
jne 0x14003ca14
test dword [rsi + 0x80], edx
je 0x14003ca3c
jmp 0x14003c8cc
cmp ecx, 0x2e
jne 0x14003c5c2
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.14003cbb8
mov rcx, rsi
call fcn.14003c4fc
jmp 0x14003c90e
cmp ecx, 0x5c
jne 0x14003c735
mov rcx, rsi
call fcn.14003c4fc
mov ecx, dword [rsi + 0x80]
mov eax, ecx
and eax, 0x80
je 0x14003c600
cmp byte [rsi + 0x78], 0x62
jne 0x14003c600
mov edx, ebp
lea rcx, [rsi + 0x40]
call fcn.14003cbb8
mov rcx, rsi
call fcn.14003c4fc
jmp 0x14003ca06
test eax, eax
je 0x14003c61f
cmp byte [rsi + 0x78], 0x42
jne 0x14003c61f
lea rcx, [rsi + 0x40]
mov edx, ebp
call fcn.14003cbb8
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x14003c5f3
bt ecx, 8
jae 0x14003c6fe
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
lea r9d, [rdx - 7]
call fcn.14003eedc
cmp eax, 0x7fffffff
je 0x14003c6fe
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x14003c673
bt eax, 0x14
jae 0x14003ca7b
mov dl, byte [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.14003dc00
jmp 0x14003c90e
bt eax, 9
jae 0x14003c682
cmp edi, 9
ja 0x14003ca86
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x14003ca86
cmp qword [rsi + 0x38], rcx
jbe 0x14003ca86
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 0x14003ca86
mov ecx, Ordinal_41
call fcn.1400d6210
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.14003cb80
jmp 0x14003c90e
mov rcx, rsi
call fcn.14003e660
test al, al
jne 0x14003c662
test dword [rsi + 0x80], 0x20000
je 0x14003ca47
mov dl, 1
mov rcx, rsi
call fcn.14003e364
test al, al
je 0x14003ca47
jmp 0x14003c90e
cmp ecx, 0x5b
jne 0x14003c7a1
mov rcx, rsi
call fcn.14003c4fc
lea rcx, [rsi + 0x40]
call fcn.14003e950
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x14003c766
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.14003c4fc
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x14003c78a
cmp eax, 0x5d
jne 0x14003c78a
mov dl, al
lea rcx, [rsi + 0x40]
call fcn.14003e9ac
mov rcx, rsi
call fcn.14003c4fc
mov rcx, rsi
call fcn.14003e400
cmp dword [rsi + 0x7c], 0x5d
jne 0x14003ca52
jmp 0x14003c5b5
cmp ecx, 0x28
jne 0x14003c894
mov rcx, rsi
call fcn.14003c4fc
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x14003c7cb
cmp dword [rsi + 0x7c], 0x29
je 0x14003ca91
test al, 0x20
je 0x14003c813
cmp dword [rsi + 0x7c], 0x3f
jne 0x14003c813
mov rcx, rsi
call fcn.14003c4fc
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.14003c4fc
cmp ebx, 0x3a
je 0x14003c81c
cmp ebx, 0x21
jne 0x14003c806
mov dl, 1
mov rcx, rsi
call fcn.14003e894
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x14003c888
cmp ebx, 0x3d
jne 0x14003ca9c
xor edx, edx
jmp 0x14003c7f4
test dword [rsi + 0x70], 0x200
je 0x14003c826
mov rcx, rsi
call fcn.14003e84c
jmp 0x14003c883
mov edx, dword [rsi + 0x18]
inc edx
mov dword [rsi + 0x18], edx
cmp edx, 0x3e8
jae 0x14003ca27
lea rcx, [rsi + 0x40]
call fcn.14003baac
mov rcx, rsi
mov rdi, rax
call fcn.14003b90c
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.14003ba30
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.14003c114
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 0x14003ca5a
jmp 0x14003c8fe
cmp ecx, 0x5e
jne 0x14003c8a1
lea edx, [rcx - 0x5c]
jmp 0x14003c5ea
cmp ecx, 0x24
jne 0x14003c8ae
lea edx, [rcx - 0x21]
jmp 0x14003c5ea
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14003ca70
cmp ecx, 0x3f
je 0x14003ca70
cmp ecx, 0x7b
je 0x14003ca70
cmp ecx, 0x7d
jne 0x14003c8df
test dword [rsi + 0x80], edx
je 0x14003ca65
jmp 0x14003c8f0
cmp ecx, 0x5d
jne 0x14003c8f0
test dword [rsi + 0x80], edx
je 0x14003caa7
mov dl, byte [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.14003dc00
mov bl, 1
mov rcx, rsi
call fcn.14003c4fc
test bl, bl
je 0x14003ca06
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x14003c9bf
cmp eax, 0x2b
jne 0x14003c92c
lea edi, [rbx + 2]
jmp 0x14003c9bf
cmp eax, 0x3f
jne 0x14003c939
lea ebx, [rax - 0x3e]
jmp 0x14003c9bf
cmp eax, 0x7b
jne 0x14003ca06
mov rcx, rsi
call fcn.14003c4fc
mov edi, 0x7fffffff
mov r9d, r13d
mov r8d, edi
mov edx, 0xa
mov rcx, rsi
call fcn.14003eedc
cmp eax, edi
je 0x14003ca33
cmp dword [rsi + 0x7c], 0x2c
mov edi, dword [rsi + 0x74]
je 0x14003c977
mov ebx, edi
jmp 0x14003c9a8
mov rcx, rsi
call fcn.14003c4fc
cmp dword [rsi + 0x7c], 0x7d
je 0x14003c9b2
mov ebx, 0x7fffffff
mov r9d, r13d
mov r8d, ebx
mov edx, 0xa
mov rcx, rsi
call fcn.14003eedc
cmp eax, ebx
je 0x14003caaf
mov ebx, dword [rsi + 0x74]
cmp dword [rsi + 0x7c], 0x7d
jne 0x14003cab8
cmp ebx, 0xffffffff
je 0x14003c9bf
cmp ebx, edi
jl 0x14003cab8
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], ebp
call fcn.14003c4fc
test dword [rsi + 0x80], 0x400
je 0x14003c9ed
cmp dword [rsi + 0x7c], 0x3f
jne 0x14003c9ed
xor bpl, bpl
mov rcx, rsi
call fcn.14003c4fc
jmp 0x14003c9f0
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.14003ea28
mov ebp, 4
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14003c574
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop rdi
pop rsi
ret
mov ecx, ntohl
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov edx, r13d
call fcn.14003b724
int3
mov edx, 5
call fcn.14003b724
int3
mov edx, 2
call fcn.14003b724
int3
mov edx, ebp
call fcn.14003b724
int3
mov edx, 5
call fcn.14003b724
int3
mov edx, 6
call fcn.14003b724
int3
mov edx, 0xa
call fcn.14003b724
int3
mov edx, 2
call fcn.14003b724
int3
mov edx, 3
call fcn.14003b724
int3
mov edx, 5
call fcn.14003b724
int3
mov edx, reloc.WS2_32.dll_ntohl
call fcn.14003b724
int3
mov edx, ebp
call fcn.14003b724
int3
mov edx, r13d
call fcn.14003b724
int3
mov edx, r13d
call fcn.14003b724
int3