Function at 0x42dd50
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.0040d610
test rax, rax
mov r8, rax
je 0x42de1d
cmp rbx, r12
mov qword [rax], 0
jae 0x42de15
lea rax, [rsp + 0x9c]
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x60], rax
lea r15, [0x004d00bc]
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.0040df10
mov rsi, rax
mov edx, eax
mov eax, dword [rsp + 0x9c]
add rbx, rax
test esi, esi
jne 0x42de38
sub dword [rsp + 0x4c], 1
mov eax, dword [rsp + 0x4c]
cmp eax, 0xffffffff
je 0x42e621
cmp rbx, r12
jb 0x42ddcc
mov r8, qword [rsp + 0x58]
mov rcx, r8
call fcn.004c02e0
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 0x42de7d
jmp 0x42dfb0
mov rdi, qword [rdi + 0x18]
test rdi, rdi
je 0x42dfb0
cmp edx, dword [rdi]
jne 0x42de70
mov eax, dword [rdi + 4]
cmp eax, 0x2e
jbe 0x42dfe0
cmp eax, 0x34
jne 0x42e508
mov rcx, qword [rsp + 0x50]
mov edx, 0x38
call fcn.0040f600
test rax, rax
mov rcx, rax
mov qword [rsp + 0x40], rax
je 0x42de10
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 0x42e0c6
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.0042b9a0
test rax, rax
mov rbx, rax
je 0x42de10
test r13, r13
je 0x42e290
mov eax, dword [rsp + 0xa0]
cmp eax, 0x6e
ja 0x42e1e0
cmp eax, 0x30
jbe 0x42e310
sub eax, 0x31
cmp eax, 0x3d
ja case.0x42dfa9.50
movsxd rax, dword [r15 + rax*4]
add rax, r15
jmp rax
cmp dword [0x004c1d00], esi
mov r8, qword [rsp + 0x58]
jne 0x42e600
mov ecx, 0x11
mov qword [rsp + 0x40], r8
call fcn.00408e00
mov r8, qword [rsp + 0x40]
jmp 0x42de15
movabs rcx, 0xffffbfffdffffff7
mov qword [rsp + 0x40], 0
bt rcx, rax
jb 0x42ded8
mov rcx, qword [rsp + 0x50]
mov edx, 0x58
call fcn.0040f600
test rax, rax
mov r13, rax
je 0x42de10
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 0x42e5ad
cmp edx, 0x1d
je 0x42e5c7
mov qword [rsp + 0x40], 0
movsxd rdx, dword [rsp + 0x4c]
mov rax, qword [rsp + 0x58]
mov qword [rax + rdx*8], r13
jmp 0x42deed
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
nop dword [rax]
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x42df38
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 0x42e0c6
test r9, r9
je 0x42e0c6
lea rdx, [r13 + 0x38]
mov rcx, r14
call fcn.0042ac60
test eax, eax
je 0x42de10
mov eax, dword [rdi + 8]
test eax, eax
je 0x42de0b
add dword [rsp + 0x4c], 1
movsxd rax, dword [rsp + 0x4c]
cmp dword [rsp + 0x8c], eax
jle 0x42e560
mov rcx, qword [rsp + 0x58]
mov qword [rcx + rax*8], 0
jmp 0x42de0b
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.0042d850
test eax, eax
je 0x42de10
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x42df38
jmp 0x42e08d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.0042b0c0
cmp esi, dword [rdi + 0xc]
mov qword [r13 + 0x18], rax
jb 0x42df38
jmp 0x42e08d
mov r8, qword [rsp + 0xa8]
mov rcx, r14
mov rdx, qword [rsp + 0x78]
call fcn.0042b7c0
test eax, eax
je 0x42de10
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x42df38
jmp 0x42e08d
mov rax, qword [rsp + 0xa8]
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [r13 + 0x24], eax
jb 0x42df38
jmp 0x42e08d
cmp eax, 0x2007
jne case.0x42dfa9.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x42e520
cmp eax, 7
jbe case.0x42dfa9.50
mov ecx, 0x80004100
bt rcx, rax
jae case.0x42dfa9.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 0x42df38
jmp 0x42e08d
mov rax, qword [rsp + 0xa8]
add rsi, 1
cmp esi, dword [rdi + 0xc]
mov dword [r13 + 0x20], eax
jb 0x42df38
jmp 0x42e08d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.0042b0c0
cmp esi, dword [rdi + 0xc]
mov qword [r13 + 0x10], rax
jb 0x42df38
jmp 0x42e08d
cmp qword [rsp + 0x40], 0
je case.0x42dfa9.50
mov eax, dword [rsp + 0xa0]
cmp eax, 0x3a
je 0x42e408
ja 0x42e390
cmp eax, 2
je 0x42e438
cmp eax, 3
jne case.0x42dfa9.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x42e540
cmp eax, 7
jbe case.0x42dfa9.50
mov edx, 0x80004100
bt rdx, rax
jae case.0x42dfa9.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 0x42df38
jmp 0x42e08d
cmp eax, 0x11
je 0x42e070
cmp eax, 0x12
je 0x42e3d0
cmp eax, 3
jne case.0x42dfa9.50
cmp qword [r13 + 0x30], 0
jne case.0x42dfa9.50
mov eax, dword [rsp + 0xa4]
cmp eax, 0x1f
ja 0x42e59d
cmp eax, 7
jbe case.0x42dfa9.50
mov edx, 0x80004100
bt rdx, rax
jae case.0x42dfa9.50
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x30], rax
mov eax, dword [r14 + 0x40]
cmp eax, 0x1d
ja case.0x42dfa9.50
mov edx, 0x2004b2ee
bt rdx, rax
jb 0x42e21f
jmp case.0x42dfa9.50
cmp eax, 0x3b
je 0x42e4e0
cmp eax, 0x3f
jne case.0x42dfa9.50
cmp qword [rsp + 0xa8], 0
je case.0x42dfa9.50
mov rax, qword [rsp + 0x40]
add rsi, 1
and byte [rax + 0x30], 0xfe
cmp esi, dword [rdi + 0xc]
jb 0x42df38
jmp 0x42e08d
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 0x42df38
jmp 0x42e08d
mov rcx, qword [r14 + 0x78]
add rsi, 1
mov edx, dword [rsp + 0xa8]
call fcn.0042b0c0
mov rcx, qword [rsp + 0x40]
cmp esi, dword [rdi + 0xc]
mov qword [rcx + 8], rax
jb 0x42df38
jmp 0x42e08d
mov eax, dword [rsp + 0xa4]
cmp eax, 0x18
ja case.0x42dfa9.50
mov edx, 0x1000618
bt rdx, rax
jae case.0x42dfa9.50
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rdx + 8]
test rax, rax
je case.0x42dfa9.50
cmp byte [rax], 3
jne case.0x42dfa9.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.0x42dfa9.50
cmp r8b, 1
je 0x42e635
cmp r8b, 2
je 0x42e63e
cmp r8b, 4
je 0x42e652
cmp r8b, 8
jne 0x42e666
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.0x42dfa9.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 0x42df38
jmp 0x42e08d
mov qword [rsp + 0x40], 0
jmp 0x42ded8
cmp eax, 0x1f21
je 0x42e213
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x42df38
jmp 0x42e08d
cmp eax, 0x1f21
je 0x42e2ec
add rsi, 1
cmp esi, dword [rdi + 0xc]
jb 0x42df38
jmp 0x42e08d
shl dword [rsp + 0x8c], 1
movsxd rdx, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x58]
shl rdx, 3
call fcn.0040d700
test rax, rax
je 0x42de10
movsxd rdx, dword [rsp + 0x4c]
mov qword [rsp + 0x58], rax
mov qword [rax + rdx*8], 0
jmp 0x42de0b
cmp eax, 0x1f21
jne case.0x42dfa9.50
jmp 0x42e35e
lea rcx, str..._.._.._src_binutils_2.32_bfd_dwarf2.c
mov edx, 0xc34
call fcn.00408d80
mov edx, dword [r13 + 0x28]
jmp 0x42e047
mov eax, dword [rsp + 0x4c]
mov r8, qword [rsp + 0x58]
lea edx, [rax - 1]
nop dword [rax + rax]
cmp edx, 0xffffffff
je 0x42e050
mov eax, edx
sub edx, 1
mov rcx, qword [r8 + rax*8]
test rcx, rcx
je 0x42e5d8
mov qword [r13 + 8], rcx
jmp 0x42e050
lea rcx, str.DWARF_error:_could_not_find_abbrev_number__u
mov qword [rsp + 0x40], r8
call fcn.00408c40
mov r8, qword [rsp + 0x40]
mov dword [0x004c1d00], esi
jmp 0x42dfc1
mov rcx, qword [rsp + 0x58]
call fcn.004c02e0
mov eax, 1
jmp 0x42de1f
movzx eax, byte [rax + 1]
jmp 0x42e4cb
lea rcx, [rax + 1]
mov rax, qword [r14 + 0x10]
mov rax, qword [rax + 8]
call qword [rax + 0x50]
jmp 0x42e4cb
lea rcx, [rax + 1]
mov rax, qword [r14 + 0x10]
mov rax, qword [rax + 8]
call qword [rax + 0x38]
jmp 0x42e4cb
lea r8, str.scan_unit_for_symbols
mov edx, 0xcce
lea rcx, str..._.._.._src_binutils_2.32_bfd_dwarf2.c
call fcn.00408da0
nop
nop