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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov r8d, 0x50000001
mov rbx, rcx
call fcn.18001f910
cmp dword [rbx + 4], 0x7b
mov edi, 0x5002000a
mov r14d, eax
jne 0x18001b4e0
mov rcx, rbx
call fcn.18001e610
mov rsi, qword [rbx + 0x10]
xor r12d, r12d
cmp dword [rbx + 4], 0x100
mov r15d, r14d
mov dword [rbp + 0x40], r12d
mov dword [rbp + 0x44], 9
jne 0x18001b50a
lea r13d, [r12 + 0xa]
nop word [rax + rax]
mov rcx, rbx
cmp dword [rbx + 0xc], r12d
jne 0x18001b4f8
call fcn.18001e610
cmp dword [rbx + 4], 0x3d
jne 0x18001b412
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
mov rcx, rbx
cmp dword [rbx + 0x5c], 0x14
jg 0x18001b54d
lea rdx, [rbp + 0x40]
call fcn.18001e080
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.18001de70
dec dword [rbx + 0x5c]
mov edx, dword [rbp + 0x40]
mov qword [rbp + 0x50], r12
mov r8d, dword [rbp + 0x44]
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x18001ae6f
mov rcx, rbx
call fcn.18001e610
xor r8d, r8d
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x18001ae0f
mov rcx, rbx
cmp eax, 0x3a
jne 0x18001b518
call fcn.18001e610
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x40], r12d
mov r8d, dword [rbp - 0xc]
mov edx, dword [rbp - 0x10]
cmovne edx, dword [rbp + 0x50]
cmp dword [rbp + 0x54], r8d
mov dword [rbp + 0x40], edx
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
jmp 0x18001ae07
cmp eax, 0x104
jne 0x18001aeb1
mov rcx, rbx
call fcn.18001e610
mov r8d, 2
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x40], r12d
jne 0x18001aede
cmp dword [rbp + 0x50], r12d
jne 0x18001aede
mov edx, r12d
mov r8d, 9
mov dword [rbp + 0x40], edx
mov dword [rbp + 0x44], r8d
jmp 0x18001ae07
cmp eax, 0x105
jne 0x18001aef5
mov rcx, rbx
call fcn.18001e610
mov r8d, 3
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x40], r12d
je 0x18001ae9c
cmp dword [rbp + 0x50], r12d
je 0x18001ae9c
mov edx, 1
mov r8d, 9
mov dword [rbp + 0x40], edx
mov dword [rbp + 0x44], r8d
jmp 0x18001ae07
cmp eax, 0x7c
jne 0x18001af1f
mov rcx, rbx
call fcn.18001e610
mov r8d, 4
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
or edx, dword [rbp + 0x50]
jmp 0x18001b28b
cmp eax, 0x5e
jne 0x18001af49
mov rcx, rbx
call fcn.18001e610
mov r8d, 5
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
xor edx, dword [rbp + 0x50]
jmp 0x18001b28b
cmp eax, 0x26
jne 0x18001af73
mov rcx, rbx
call fcn.18001e610
mov r8d, 6
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
and edx, dword [rbp + 0x50]
jmp 0x18001b28b
cmp eax, 0x106
jne 0x18001afb2
mov rcx, rbx
call fcn.18001e610
mov r8d, 7
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
sete dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x107
jne 0x18001aff1
mov rcx, rbx
call fcn.18001e610
mov r8d, 7
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setne dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x3c
jne 0x18001b058
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x44], 9
jne 0x18001b03a
cmp dword [rbp + 0x54], 9
jne 0x18001b03a
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setl dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setb dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x3e
jne 0x18001b0bf
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x44], 9
jne 0x18001b0a1
cmp dword [rbp + 0x54], 9
jne 0x18001b0a1
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setg dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
seta dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x108
jne 0x18001b128
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x44], 9
jne 0x18001b10a
cmp dword [rbp + 0x54], 9
jne 0x18001b10a
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setle dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setbe dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x109
jne 0x18001b191
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x44], 9
jne 0x18001b173
cmp dword [rbp + 0x54], 9
jne 0x18001b173
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setge dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
mov eax, dword [rbp + 0x50]
mov edx, r12d
cmp dword [rbp + 0x40], eax
mov r8d, 9
mov dword [rbp + 0x44], r8d
setae dl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x10a
jne 0x18001b1c2
mov rcx, rbx
call fcn.18001e610
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
mov ecx, dword [rbp + 0x50]
shl edx, cl
mov dword [rbp + 0x40], edx
jmp 0x18001ae03
cmp eax, 0x10b
jne 0x18001b207
mov rcx, rbx
call fcn.18001e610
mov r8d, 9
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov r8d, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbp + 0x40]
cmp r8d, 9
jne 0x18001b1fd
sar edx, cl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
shr edx, cl
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
cmp eax, 0x2b
jne 0x18001b22b
mov rcx, rbx
call fcn.18001e610
mov r8d, r13d
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
add edx, dword [rbp + 0x50]
jmp 0x18001b28b
cmp eax, 0x2d
jne 0x18001b24f
mov rcx, rbx
call fcn.18001e610
mov r8d, r13d
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x40]
sub edx, dword [rbp + 0x50]
jmp 0x18001b28b
cmp eax, 0x2a
jne 0x18001b2a9
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001b531
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001de70
mov edx, dword [rbp + 0x40]
dec dword [rbx + 0x5c]
imul edx, dword [rbp + 0x50]
mov dword [rbp + 0x40], edx
mov eax, dword [rbp + 0x54]
mov r8d, dword [rbp + 0x44]
cmp eax, r8d
jbe 0x18001ae07
mov r8d, eax
mov dword [rbp + 0x44], eax
jmp 0x18001ae07
cmp eax, 0x2f
jne 0x18001b332
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001b531
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001de70
mov r8d, dword [rbp + 0x44]
dec dword [rbx + 0x5c]
cmp dword [rbp + 0x54], r8d
mov ecx, dword [rbp + 0x50]
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
test ecx, ecx
je 0x18001b523
mov eax, dword [rbp + 0x40]
cmp r8d, 9
jne 0x18001b324
cmp eax, 0x80000000
jne 0x18001b317
cmp ecx, 0xffffffff
je 0x18001b523
cdq
idiv ecx
mov edx, eax
mov dword [rbp + 0x40], eax
jmp 0x18001ae07
xor edx, edx
div ecx
mov edx, eax
mov dword [rbp + 0x40], eax
jmp 0x18001ae07
cmp eax, 0x25
jne 0x18001b3b3
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001b531
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x50]
mov rcx, rbx
call fcn.18001de70
mov r8d, dword [rbp + 0x44]
dec dword [rbx + 0x5c]
cmp dword [rbp + 0x54], r8d
mov ecx, dword [rbp + 0x50]
cmova r8d, dword [rbp + 0x54]
mov dword [rbp + 0x44], r8d
test ecx, ecx
je 0x18001b523
mov eax, dword [rbp + 0x40]
cmp r8d, 9
jne 0x18001b3a7
cmp eax, 0x80000000
jne 0x18001b39c
cmp ecx, 0xffffffff
je 0x18001b523
cdq
idiv ecx
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
xor edx, edx
div ecx
mov dword [rbp + 0x40], edx
jmp 0x18001ae07
mov rax, qword [rbx + 0x40]
mov r9, qword [rax]
mov eax, r8d
add rax, rax
mov ecx, dword [r9 + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x18001b3ea
movzx ecx, cx
add rcx, rcx
mov ecx, dword [r9 + rcx*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x18001b3d2
test ecx, 0xfc000000
jne 0x18001b53f
cmp r8d, r13d
jne 0x18001b401
test edx, edx
js 0x18001b412
jmp 0x18001b40b
test edx, edx
mov eax, 0x50020009
cmovs edi, eax
mov dword [rbp + 0x44], 9
mov rcx, qword [rbx + 0x40]
lea rdx, [rbp + 0x58]
call fcn.180026890
mov rcx, qword [rbx + 0x40]
mov r9d, eax
mov r8d, r15d
mov r15d, eax
add r8, r8
mov rdx, qword [rcx]
mov word [rdx + r8*8 + 8], r9w
mov r8d, r15d
or byte [rsi + 4], 0x20
mov rcx, qword [rbp + 0x58]
mov dword [rcx + 0xc], esi
mov ecx, dword [rbp + 0x44]
mov rax, qword [rbp + 0x58]
bts ecx, 0x19
sub ecx, 0x50000000
mov dword [rax], ecx
mov ecx, dword [rbp + 0x40]
mov rax, qword [rbp + 0x58]
mov dword [rax + 4], ecx
mov ecx, dword [rbp + 0x40]
mov eax, dword [rbp + 0x44]
inc ecx
mov rdx, qword [rbp + 0x58]
cmp ecx, 0x80000000
mov dword [rbp + 0x40], ecx
mov rcx, qword [rbx + 0x40]
cmove eax, r13d
mov dword [rbp + 0x44], eax
call fcn.180026210
mov eax, dword [rbx + 4]
cmp eax, 0x2c
jne 0x18001b4b0
mov rcx, rbx
call fcn.18001e610
mov eax, dword [rbx + 4]
cmp eax, 0x7d
je 0x18001b4b9
mov rsi, qword [rbx + 0x10]
cmp eax, 0x100
jne 0x18001b50a
jmp 0x18001adb0
cmp eax, 0x7d
jne 0x18001b558
mov rcx, rbx
call fcn.18001e610
mov rax, qword [rbx + 0x40]
mov rdx, r14
add rdx, rdx
mov rcx, qword [rax]
mov dword [rcx + rdx*8], edi
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax]
mov dword [rcx + rdx*8 + 4], 4
mov rbx, qword [rsp + 0x78]
mov eax, r14d
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r9, [rsi + 0x10]
xor edx, edx
mov r8d, 0xc7e
call fcn.18001cf00
int3
mov edx, 0x100
mov rcx, rbx
call fcn.18001ced0
int3
mov edx, 0x3a
call fcn.18001ced0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0x8d7
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0x219
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0x8d7
call fcn.18001ce80
int3
mov edx, 0x7d
mov rcx, rbx
call fcn.18001ced0
int3