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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r14
sub rsp, 0x30
mov rsi, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
or rbp, 0xffffffffffffffff
cmp ecx, ebp
je 0x14001634b
lea r14d, [rbp + 2]
lea r12d, [rbp + 8]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x14001634b
cmp ecx, 0x29
jne 0x140015eda
cmp dword [rsi + 0x1c], 0
jne 0x14001634b
test dword [rsi + 0x80], edx
je 0x14001636d
jmp 0x140016204
cmp ecx, 0x2e
jne 0x140015efa
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.140016504
mov rcx, rsi
call fcn.140015e2c
jmp 0x140016247
cmp ecx, 0x5c
jne 0x140016076
mov rcx, rsi
call fcn.140015e2c
mov eax, dword [rsi + 0x80]
test al, al
jns 0x140015f54
cmp byte [rsi + 0x78], 0x62
jne 0x140015f36
mov edx, 4
lea rcx, [rsi + 0x40]
call fcn.140016504
mov rcx, rsi
call fcn.140015e2c
jmp 0x14001633d
cmp byte [rsi + 0x78], 0x42
jne 0x140015f54
lea rcx, [rsi + 0x40]
mov edx, 4
call fcn.140016504
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], r14d
jmp 0x140015f29
bt eax, 8
jae 0x14001603e
mov edx, 0xa
mov r8d, 0x7fffffff
mov rcx, rsi
lea r9d, [rdx - 7]
call fcn.140018c98
cmp eax, 0x7fffffff
je 0x14001603e
mov edi, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test edi, edi
jne 0x140015fa8
bt eax, 0x14
jae 0x1400163af
mov dl, byte [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.1400178a4
jmp 0x140016247
bt eax, 9
jae 0x140015fb7
cmp edi, 9
ja 0x1400163ba
mov eax, edi
movsxd rcx, eax
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x1400163ba
cmp qword [rsi + 0x38], rcx
jbe 0x1400163ba
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 0x1400163ba
mov ecx, 0x28
call fcn.140019f48
xor ecx, ecx
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
mov rdx, rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
and dword [rax + 0xc], ecx
and qword [rax + 0x10], rcx
and qword [rax + 0x18], rcx
lea rcx, vtable.std::_Node_back.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.1400164cc
jmp 0x140016247
mov rcx, rsi
call fcn.140018390
test al, al
jne 0x140015f97
test dword [rsi + 0x80], 0x20000
je 0x140016378
mov dl, r14b
mov rcx, rsi
call fcn.140018094
test al, al
je 0x140016378
jmp 0x140016247
cmp ecx, 0x5b
jne 0x1400160de
mov rcx, rsi
call fcn.140015e2c
lea rcx, [rsi + 0x40]
call fcn.1400186c4
cmp dword [rsi + 0x7c], 0x5e
jne 0x1400160a2
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], r14d
call fcn.140015e2c
test dword [rsi + 0x80], 0x20000000
je 0x1400160c7
cmp dword [rsi + 0x7c], 0x5d
jne 0x1400160c7
mov dl, 0x5d
lea rcx, [rsi + 0x40]
call fcn.14001873c
mov rcx, rsi
call fcn.140015e2c
mov rcx, rsi
call fcn.140018130
cmp dword [rsi + 0x7c], 0x5d
jne 0x140016383
jmp 0x140015eed
cmp ecx, 0x28
jne 0x1400161cc
mov rcx, rsi
call fcn.140015e2c
add dword [rsi + 0x1c], r14d
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140016109
cmp dword [rsi + 0x7c], 0x29
je 0x1400163c5
test al, 0x20
je 0x140016150
cmp dword [rsi + 0x7c], 0x3f
jne 0x140016150
mov rcx, rsi
call fcn.140015e2c
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140015e2c
cmp ebx, 0x3a
je 0x140016159
cmp ebx, 0x21
jne 0x140016143
mov dl, r14b
mov rcx, rsi
call fcn.1400185c4
sub dword [rsi + 0x1c], r14d
xor bl, bl
jmp 0x1400161c0
cmp ebx, 0x3d
jne 0x1400163d0
xor edx, edx
jmp 0x140016133
test dword [rsi + 0x70], 0x200
je 0x140016163
mov rcx, rsi
call fcn.14001857c
jmp 0x1400161b9
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x40]
inc edx
mov dword [rsi + 0x18], edx
call fcn.1400152a8
mov rcx, rsi
mov rdi, rax
call fcn.1400150f0
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.140015224
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
add edx, r14d
cmovb rdx, rbp
call fcn.140013c50
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
sub dword [rsi + 0x1c], r14d
mov bl, r14b
cmp dword [rsi + 0x7c], 0x29
jne 0x14001638e
jmp 0x140016237
cmp ecx, 0x5e
jne 0x1400161d9
lea edx, [rcx - 0x5c]
jmp 0x140015f20
cmp ecx, 0x24
jne 0x1400161e6
lea edx, [rcx - 0x21]
jmp 0x140015f20
lea eax, [rcx - 0x2a]
cmp eax, r14d
jbe 0x1400163a4
cmp ecx, 0x3f
je 0x1400163a4
cmp ecx, 0x7b
je 0x1400163a4
cmp ecx, 0x7d
jne 0x140016217
test dword [rsi + 0x80], edx
je 0x140016399
jmp 0x140016228
cmp ecx, 0x5d
jne 0x140016228
test dword [rsi + 0x80], edx
je 0x1400163db
mov dl, byte [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.1400178a4
mov bl, r14b
mov rcx, rsi
call fcn.140015e2c
test bl, bl
je 0x14001633d
mov eax, dword [rsi + 0x7c]
xor edi, edi
mov ebx, ebp
cmp eax, 0x2a
je 0x1400162f6
cmp eax, 0x2b
jne 0x140016264
mov edi, r14d
jmp 0x1400162f6
cmp eax, 0x3f
jne 0x140016271
mov ebx, r14d
jmp 0x1400162f6
cmp eax, 0x7b
jne 0x14001633d
mov rcx, rsi
call fcn.140015e2c
mov edi, 0x7fffffff
mov r9d, r12d
mov r8d, edi
mov edx, 0xa
mov rcx, rsi
call fcn.140018c98
cmp eax, edi
je 0x140016364
cmp dword [rsi + 0x7c], 0x2c
mov edi, dword [rsi + 0x74]
je 0x1400162af
mov ebx, edi
jmp 0x1400162e0
mov rcx, rsi
call fcn.140015e2c
cmp dword [rsi + 0x7c], 0x7d
je 0x1400162ea
mov ebx, 0x7fffffff
mov r9d, r12d
mov r8d, ebx
mov edx, 0xa
mov rcx, rsi
call fcn.140018c98
cmp eax, ebx
je 0x1400163e6
mov ebx, dword [rsi + 0x74]
cmp dword [rsi + 0x7c], 0x7d
jne 0x1400163ef
cmp ebx, ebp
je 0x1400162f6
cmp ebx, edi
jl 0x1400163ef
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], 4
call fcn.140015e2c
test dword [rsi + 0x80], 0x400
je 0x140016325
cmp dword [rsi + 0x7c], 0x3f
jne 0x140016325
xor bpl, bpl
mov rcx, rsi
call fcn.140015e2c
jmp 0x140016328
mov bpl, r14b
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.1400187b8
or rbp, 0xffffffffffffffff
mov ecx, dword [rsi + 0x7c]
mov al, r14b
cmp ecx, ebp
jne 0x140015eac
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r12
pop rdi
ret
mov edx, r12d
call fcn.140014f08
int3
mov edx, 5
call fcn.140014f08
int3
mov edx, 2
call fcn.140014f08
int3
mov edx, 4
call fcn.140014f08
int3
mov edx, 5
call fcn.140014f08
int3
mov edx, 6
call fcn.140014f08
int3
mov edx, 0xa
call fcn.140014f08
int3
mov edx, 2
call fcn.140014f08
int3
mov edx, 3
call fcn.140014f08
int3
mov edx, 5
call fcn.140014f08
int3
mov edx, recv
call fcn.140014f08
int3
mov edx, 4
call fcn.140014f08
int3
mov edx, r12d
call fcn.140014f08
int3
mov edx, r12d
call fcn.140014f08
int3