Function at 0x180018120
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 0x1800185d5
mov ebp, 0x7fffffff
mov r14d, 1
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x1800185d5
cmp ecx, 0x29
jne 0x1800181ca
cmp dword [rsi + 0x1c], 0
jne 0x1800185d5
test dword [rsi + 0x80], edx
je 0x18001862a
cmp ecx, 0x5d
jne 0x180018188
test dword [rsi + 0x80], edx
je 0x180018661
movzx edx, word [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.180019528
mov bl, r14b
mov rcx, rsi
call fcn.1800180e4
test bl, bl
je 0x1800185c6
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x18001857e
cmp eax, 0x2b
jne 0x1800184fa
mov edi, r14d
jmp 0x18001857e
cmp ecx, 0x2e
jne 0x1800181e7
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.180018778
mov rcx, rsi
call fcn.1800180e4
jmp 0x1800181a8
cmp ecx, 0x5c
jne 0x18001834f
mov rcx, rsi
call fcn.1800180e4
mov eax, dword [rsi + 0x80]
test al, al
jns 0x180018243
cmp word [rsi + 0x78], 0x62
jne 0x180018224
mov edx, 4
lea rcx, [rsi + 0x40]
call fcn.180018778
mov rcx, rsi
call fcn.1800180e4
jmp 0x1800185c6
cmp word [rsi + 0x78], 0x42
jne 0x180018243
lea rcx, [rsi + 0x40]
mov edx, 4
call fcn.180018778
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], r14d
jmp 0x180018217
bt eax, 8
jae 0x180018317
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.18001b28c
cmp eax, ebp
je 0x180018317
mov ebx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test ebx, ebx
jne 0x18001828e
bt eax, 0x14
jae 0x180018635
movzx edx, word [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.180019528
jmp 0x1800181a8
bt eax, 9
jae 0x18001829d
cmp ebx, 9
ja 0x180018640
mov eax, ebx
movsxd rcx, ebx
mov eax, dword [rsi + 0x18]
cmp rax, rcx
jb 0x180018640
cmp qword [rsi + 0x38], rcx
jbe 0x180018640
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 0x180018640
mov ecx, 0x28
call fcn.18008b3bc
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], ebx
call fcn.180018740
jmp 0x1800181a8
mov rcx, rsi
call fcn.18001a538
test al, al
jne 0x18001827c
test dword [rsi + 0x80], 0x20000
je 0x1800185f3
mov dl, r14b
mov rcx, rsi
call fcn.18001a1a8
test al, al
je 0x1800185f3
jmp 0x1800181a8
cmp ecx, 0x5b
jne 0x1800183bb
mov rcx, rsi
call fcn.1800180e4
lea rcx, [rsi + 0x40]
call fcn.18001a7cc
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x180018380
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], r14d
call fcn.1800180e4
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x1800183a4
cmp eax, 0x5d
jne 0x1800183a4
mov edx, eax
lea rcx, [rsi + 0x40]
call fcn.18001a828
mov rcx, rsi
call fcn.1800180e4
mov rcx, rsi
call fcn.18001a248
cmp dword [rsi + 0x7c], 0x5d
jne 0x1800185fe
jmp 0x1800181dd
cmp ecx, 0x28
jne 0x1800184a8
mov rcx, rsi
call fcn.1800180e4
add dword [rsi + 0x1c], r14d
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x1800183e6
cmp dword [rsi + 0x7c], 0x29
je 0x18001864b
test al, 0x20
je 0x18001842c
cmp dword [rsi + 0x7c], 0x3f
jne 0x18001842c
mov rcx, rsi
call fcn.1800180e4
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.1800180e4
cmp ebx, 0x3a
je 0x180018435
cmp ebx, 0x21
jne 0x18001841f
mov dl, r14b
mov rcx, rsi
call fcn.18001a708
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x180018499
cmp ebx, 0x3d
jne 0x180018656
xor edx, edx
jmp 0x180018410
test dword [rsi + 0x70], 0x200
je 0x18001843f
mov rcx, rsi
call fcn.18001a6c0
jmp 0x180018493
add dword [rsi + 0x18], r14d
lea rcx, [rsi + 0x40]
mov edx, dword [rsi + 0x18]
call fcn.1800175b0
mov rcx, rsi
mov rdi, rax
call fcn.180017410
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.180017534
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
add edx, r14d
xor r8d, r8d
call fcn.180017918
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 0x180018609
jmp 0x180018198
cmp ecx, 0x5e
jne 0x1800184b5
lea edx, [rcx - 0x5c]
jmp 0x18001820e
cmp ecx, 0x24
jne 0x1800184c2
lea edx, [rcx - 0x21]
jmp 0x18001820e
lea eax, [rcx - 0x2a]
cmp eax, r14d
jbe 0x18001861f
cmp ecx, 0x3f
je 0x18001861f
cmp ecx, 0x7b
je 0x18001861f
cmp ecx, 0x7d
jne 0x180018177
test dword [rsi + 0x80], edx
je 0x180018614
jmp 0x180018188
cmp eax, 0x3f
jne 0x180018504
mov ebx, r14d
jmp 0x18001857e
cmp eax, 0x7b
jne 0x1800185c6
mov rcx, rsi
call fcn.1800180e4
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.18001b28c
cmp eax, ebp
je 0x1800185e8
mov eax, dword [rsi + 0x7c]
mov edi, dword [rsi + 0x74]
cmp eax, 0x2c
je 0x18001853c
mov ebx, edi
jmp 0x180018568
mov rcx, rsi
call fcn.1800180e4
cmp dword [rsi + 0x7c], 0x7d
je 0x18001857e
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.18001b28c
cmp eax, ebp
je 0x180018677
mov ebx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
jne 0x18001866c
cmp ebx, 0xffffffff
je 0x18001857e
cmp ebx, edi
jl 0x18001866c
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], 4
call fcn.1800180e4
test dword [rsi + 0x80], 0x400
je 0x1800185ad
cmp dword [rsi + 0x7c], 0x3f
jne 0x1800185ad
xor bpl, bpl
mov rcx, rsi
call fcn.1800180e4
jmp 0x1800185b0
mov bpl, r14b
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.18001a8c0
mov ebp, 0x7fffffff
mov ecx, dword [rsi + 0x7c]
mov al, r14b
cmp ecx, 0xffffffff
jne 0x18001814e
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.180017240
int3
mov edx, 2
call fcn.180017240
int3
mov edx, 4
call fcn.180017240
int3
mov edx, 5
call fcn.180017240
int3
mov edx, 6
call fcn.180017240
int3
mov edx, 0xa
call fcn.180017240
int3
mov edx, 5
call fcn.180017240
int3
mov edx, 2
call fcn.180017240
int3
mov edx, 3
call fcn.180017240
int3
mov edx, 5
call fcn.180017240
int3
mov edx, 0xe
call fcn.180017240
int3
mov edx, 4
call fcn.180017240
int3
mov edx, 7
call fcn.180017240
int3
mov edx, 7
call fcn.180017240
int3