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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rax, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x68]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0xa0]
mov r14, rcx
mov ecx, 0x100
mov r12, qword [rax + 0x20]
call fcn.0043dda0
test rax, rax
mov r8, rax
je 0x4635fd
cmp rbx, r12
mov qword [rax], 0
jae 0x4635f5
lea rax, [rsp + 0x9c]
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x60], rax
lea r15, [0x0054c57c]
mov dword [rsp + 0x8c], 0x20
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0x60]
mov rdx, rbx
xor r9d, r9d
mov qword [rsp + 0x20], r12
mov rcx, qword [rsp + 0x50]
call fcn.0043e6a0
mov rsi, rax
mov edx, eax
mov eax, dword [rsp + 0x9c]
add rbx, rax
test esi, esi
jne 0x463618
sub dword [rsp + 0x4c], 1
mov eax, dword [rsp + 0x4c]
cmp eax, 0xffffffff
je 0x463e01
cmp rbx, r12
jb 0x4635ac
mov r8, qword [rsp + 0x58]
mov rcx, r8
call sub.msvcrt.dll_free
xor eax, eax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, esi
mov eax, esi
imul rcx, rcx, 0xecf56bf
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
mov ecx, esi
shr eax, 6
imul eax, eax, 0x79
sub ecx, eax
mov rax, qword [r14 + 0x38]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
jne 0x46365d
jmp 0x463790
mov rdi, qword [rdi + 0x18]
test rdi, rdi
je 0x463790
cmp edx, dword [rdi]
jne 0x463650
mov eax, dword [rdi + 4]
cmp eax, 0x2e
jbe 0x4637c0
cmp eax, 0x34
jne 0x463ce8
mov rcx, qword [rsp + 0x50]
mov edx, 0x38
call fcn.00443980
test rax, rax
mov rcx, rax
mov qword [rsp + 0x40], rax
je 0x4635f0
mov eax, dword [rdi + 4]
or byte [rcx + 0x30], 1
mov dword [rcx + 0x14], eax
mov rax, qword [r14 + 0x98]
mov qword [rcx], rax
mov qword [r14 + 0x98], rcx
nop dword [rax]
movsxd rax, dword [rsp + 0x4c]
xor r13d, r13d
mov rcx, qword [rsp + 0x58]
mov qword [rcx + rax*8], 0
mov r8d, dword [rdi + 0xc]
test r8d, r8d
je 0x4638a6
lea rax, [r13 + 0x38]
xor r9d, r9d
xor esi, esi
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x78], rax
lea rax, [r13 + 0x24]
lea rbp, [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], r9
nop dword [rax]
mov rax, rsi
mov r9, r14
mov rcx, rbp
shl rax, 4
add rax, qword [rdi + 0x10]
mov edx, dword [rax]
mov r8, qword [rax + 8]
mov dword [rsp + 0xa0], edx
mov edx, dword [rax + 4]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], r12
call fcn.00461180
test rax, rax
mov rbx, rax
je 0x4635f0
test r13, r13
je 0x463a70
mov eax, dword [rsp + 0xa0]
cmp eax, 0x6e
ja 0x4639c0
cmp eax, 0x30
jbe 0x463af0
sub eax, 0x31
cmp eax, 0x3d
ja case.0x463789.50
movsxd rax, dword [r15 + rax*4]
add rax, r15
jmp rax
cmp dword [0x004f55c0], esi
mov r8, qword [rsp + 0x58]
jne 0x463de0
mov ecx, 0x11
mov qword [rsp + 0x40], r8
call fcn.00438da0
mov r8, qword [rsp + 0x40]
jmp 0x4635f5
movabs rcx, 0xffffbfffdffffff7
mov qword [rsp + 0x40], 0
bt rcx, rax
jb 0x4636b8
mov rcx, qword [rsp + 0x50]
mov edx, 0x58
call fcn.00443980
test rax, rax
mov r13, rax
je 0x4635f0
mov edx, dword [rdi + 4]
mov rcx, qword [r14 + 0x80]
mov r9d, dword [r14 + 0xb8]
mov dword [rax + 0x28], edx
mov qword [rax], rcx
add qword [r14 + 0x90], 1
test r9d, r9d
mov qword [r14 + 0x80], rax
jne 0x463d8d
cmp edx, 0x1d
je 0x463da7
mov qword [rsp + 0x40], 0
movsxd rdx, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x58]
mov qword [rax + rdx*8], r13
jmp 0x4636cd
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
nop dword [rax]
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x463718
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x88]
lea rdx, [r9 + r8]
test ecx, ecx
cmovne r9, rdx
test r13, r13
je 0x4638a6
test r9, r9
je 0x4638a6
lea rdx, [r13 + 0x38]
mov rcx, r14
call fcn.00460440
test eax, eax
je 0x4635f0
mov eax, dword [rdi + 8]
test eax, eax
je 0x4635eb
add dword [rsp + 0x4c], 1
movsxd rax, dword [rsp + 0x4c]
cmp dword [rsp + 0x8c], eax
jle 0x463d40
mov rcx, qword [rsp + 0x58]
mov qword [rcx + rax*8], 0
jmp 0x4635eb
mov rax, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r14
mov r9, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0xa4]
mov qword [rsp + 0x38], rax
lea rax, [r13 + 0x18]
mov qword [rsp + 0x30], rax
lea rax, [r13 + 0x2c]
mov qword [rsp + 0x28], rax
lea rax, [r13 + 0x30]
mov qword [rsp + 0x20], rax
call fcn.00463030
test eax, eax
je 0x4635f0
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x463718
jmp 0x46386d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.004608a0
cmp esi, dword [rdi + 0xc]
mov qword [r13 + 0x18], rax
jb 0x463718
jmp 0x46386d
mov r8, qword [rsp + 0xa8]
mov rcx, r14
mov rdx, qword [rsp + 0x78]
call fcn.00460fa0
test eax, eax
je 0x4635f0
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x463718
jmp 0x46386d
mov rax, qword [rsp + 0xa8]
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [r13 + 0x24], eax
jb 0x463718
jmp 0x46386d
cmp eax, 0x2007
jne case.0x463789.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x463d00
cmp eax, 7
jbe case.0x463789.50
mov ecx, 0x80004100
bt rcx, rax
jae case.0x463789.50
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x30], rax
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [r13 + 0x2c], 1
jb 0x463718
jmp 0x46386d
mov rax, qword [rsp + 0xa8]
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [r13 + 0x20], eax
jb 0x463718
jmp 0x46386d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.004608a0
cmp esi, dword [rdi + 0xc]
mov qword [r13 + 0x10], rax
jb 0x463718
jmp 0x46386d
cmp qword [rsp + 0x40], 0
je case.0x463789.50
mov eax, dword [rsp + 0xa0]
cmp eax, 0x3a
je 0x463be8
ja 0x463b70
cmp eax, 2
je 0x463c18
cmp eax, 3
jne case.0x463789.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x463d20
cmp eax, 7
jbe case.0x463789.50
mov edx, 0x80004100
bt rdx, rax
jae case.0x463789.50
mov rax, qword [rsp + 0xa8]
add rsi, 1
mov rcx, qword [rsp + 0x40]
cmp esi, dword [rdi + 0xc]
mov qword [rcx + 0x18], rax
jb 0x463718
jmp 0x46386d
cmp eax, 0x11
je 0x463850
cmp eax, 0x12
je 0x463bb0
cmp eax, 3
jne case.0x463789.50
cmp qword [r13 + 0x30], 0
jne case.0x463789.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x463d7d
cmp eax, 7
jbe case.0x463789.50
mov edx, 0x80004100
bt rdx, rax
jae case.0x463789.50
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x30], rax
mov eax, dword [r14 + 0x40]
cmp eax, 0x1d
ja case.0x463789.50
mov edx, 0x2004b2ee
bt rdx, rax
jb 0x4639ff
jmp case.0x463789.50
cmp eax, 0x3b
je 0x463cc0
cmp eax, 0x3f
jne case.0x463789.50
cmp qword [rsp + 0xa8], 0
je case.0x463789.50
mov rax, qword [rsp + 0x40]
add rsi, 1
and byte [rax + 0x30], 0xfe
cmp esi, dword [rdi + 0xc]
jb 0x463718
jmp 0x46386d
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rax
xor eax, eax
cmp dword [rsp + 0xa4], 1
setne al
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [rsp + 0x88], eax
jb 0x463718
jmp 0x46386d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.004608a0
mov rcx, qword [rsp + 0x40]
cmp esi, dword [rdi + 0xc]
mov qword [rcx + 8], rax
jb 0x463718
jmp 0x46386d
mov eax, dword [rsp + 0xa4]
cmp eax, 0x18
ja case.0x463789.50
mov edx, 0x1000618
bt rdx, rax
jae case.0x463789.50
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rdx + 8]
test rax, rax
je case.0x463789.50
cmp byte [rax], 3
jne case.0x463789.50
mov rcx, qword [rsp + 0x40]
and byte [rcx + 0x30], 0xfe
movzx ecx, byte [r14 + 0xac]
mov r8d, ecx
add ecx, 1
cmp dword [rdx], ecx
jne case.0x463789.50
cmp r8b, 1
je 0x463e15
cmp r8b, 2
je 0x463e1e
cmp r8b, 4
je 0x463e32
cmp r8b, 8
jne 0x463e46
lea rcx, [rax + 1]
mov rax, qword [r14 + 0x10]
mov rax, qword [rax + 8]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x20], rax
jmp case.0x463789.50
mov rax, qword [rsp + 0xa8]
add rsi, 1
mov rcx, qword [rsp + 0x40]
cmp esi, dword [rdi + 0xc]
mov dword [rcx + 0x10], eax
jb 0x463718
jmp 0x46386d
mov qword [rsp + 0x40], 0
jmp 0x4636b8
cmp eax, 0x1f21
je 0x4639f3
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x463718
jmp 0x46386d
cmp eax, 0x1f21
je 0x463acc
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x463718
jmp 0x46386d
shl dword [rsp + 0x8c], 1
movsxd rdx, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x58]
shl rdx, 3
call fcn.0043de90
test rax, rax
je 0x4635f0
movsxd rdx, dword [rsp + 0x4c]
mov qword [rsp + 0x58], rax
mov qword [rax + rdx*8], 0
jmp 0x4635eb
cmp eax, 0x1f21
jne case.0x463789.50
jmp 0x463b3e
lea rcx, str..._.._.._src_binutils_2.32_bfd_dwarf2.c
mov edx, 0xc34
call fcn.00438d20
mov edx, dword [r13 + 0x28]
jmp 0x463827
mov eax, dword [rsp + 0x4c]
mov r8, qword [rsp + 0x58]
lea edx, [rax - 1]
nop dword [rax + rax]
cmp edx, 0xffffffff
je 0x463830
mov eax, edx
sub edx, 1
mov rcx, qword [r8 + rax*8]
test rcx, rcx
je 0x463db8
mov qword [r13 + 8], rcx
jmp 0x463830
lea rcx, str.DWARF_error:_could_not_find_abbrev_number__u
mov qword [rsp + 0x40], r8
call fcn.00438be0
mov r8, qword [rsp + 0x40]
mov dword [0x004f55c0], esi
jmp 0x4637a1
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_free
mov eax, 1
jmp 0x4635ff
movzx eax, byte [rax + 1]
jmp 0x463cab
lea rcx, [rax + 1]
mov rax, qword [r14 + 0x10]
mov rax, qword [rax + 8]
call qword [rax + 0x50]
jmp 0x463cab
lea rcx, [rax + 1]
mov rax, qword [r14 + 0x10]
mov rax, qword [rax + 8]
call qword [rax + 0x38]
jmp 0x463cab
lea r8, str.scan_unit_for_symbols
mov edx, 0xcce
lea rcx, str..._.._.._src_binutils_2.32_bfd_dwarf2.c
call fcn.00438d40
nop
nop