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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbp, r9
mov esi, r8d
mov r13, rdx
mov qword [rsp + 0x38], rcx
mov qword [rdx], 0
mov r14d, r8d
bt r8d, 0x12
jb 0x14002d88a
or r14d, 0x20000
cmp dword [0x14014749c], 0
cmove r14d, esi
jmp 0x14002d891
and r14d, 0xfffdffff
mov edi, dword [0x140147344]
mov ebx, dword [0x140147348]
mov ecx, 0x238
call fcn.140026322
test rax, rax
je 0x14002db49
mov r12, rax
mov qword [rsp + 0x50], rbp
xor r15d, r15d
mov r8d, 0x238
mov rcx, rax
xor edx, edx
call fcn.1400ef1e0
test si, si
js 0x14002d90d
test edi, edi
je 0x14002d90d
and esi, 0x10000
or ebx, esi
je 0x14002d90d
cmp dword [0x140147344], 0
je 0x14002db38
mov ecx, 1
call qword [0x1401473c0]
mov qword [r12 + 0x18], rax
test rax, rax
je 0x14002db41
mov rcx, rax
call qword [0x1401473d0]
mov dword [r12 + 0x54], 0xff
mov dword [r12 + 0x28], 2
mov dword [r12 + 0x70], 0xf03b7906
lea rax, [r12 + 0x1c8]
mov qword [r12 + 0x20], rax
mov dword [r12 + 0x148], 1
movaps xmm0, xmmword [0x140149d60]
movups xmmword [r12 + 0x7c], xmm0
movaps xmm0, xmmword [0x140149d70]
movups xmmword [r12 + 0x8c], xmm0
movups xmm0, xmmword [0x140149d7c]
movups xmmword [r12 + 0x98], xmm0
mov dword [r12 + 0xa8], r15d
mov byte [r12 + 0x5f], 1
mov byte [r12 + 0x64], 0xff
mov rax, qword [0x140147478]
mov qword [r12 + 0x40], rax
mov dword [r12 + 0x6c], r15d
mov dword [r12 + 0xac], 0x7fffffff
or qword [r12 + 0x30], 0x48060
xorps xmm0, xmm0
movups xmmword [r12 + 0x198], xmm0
mov qword [r12 + 0x1a8], r15
mov qword [rsp + 0x28], r15
lea rbx, [0x140065f31]
mov qword [rsp + 0x20], rbx
lea rsi, [0x140149d98]
mov rcx, r12
mov rdx, rsi
mov r8b, 1
xor r9d, r9d
call fcn.14002e2d6
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, rsi
mov r8b, 3
xor r9d, r9d
call fcn.14002e2d6
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov rdx, rsi
mov r8b, 2
xor r9d, r9d
call fcn.14002e2d6
mov qword [rsp + 0x28], r15
lea rax, [0x140072252]
mov qword [rsp + 0x20], rax
lea rdx, [0x14014f2eb]
mov rcx, r12
mov r8b, 1
xor r9d, r9d
call fcn.14002e2d6
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
lea rdx, [0x14014f2f2]
mov r9d, 1
mov rcx, r12
mov r8b, 1
call fcn.14002e2d6
cmp byte [r12 + 0x61], 0
jne 0x14002dded
mov qword [rsp + 0x30], r13
mov r13d, r14d
and r13d, 0xfff600e7
mov rcx, r12
add rcx, 0x198
lea rdx, [0x140149d98]
xor esi, esi
xor r8d, r8d
call fcn.14004581c
mov rax, qword [rax + 0x10]
mov qword [r12 + 0x10], rax
mov dword [r12 + 0x4c], r13d
mov eax, r14d
and al, 7
movzx eax, al
mov ecx, Ordinal_73
bt ecx, eax
jae 0x14002db54
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14002db09
call fcn.140106d80
mov rsi, rax
and esi, 0x3fffffff
mov eax, r14d
and eax, 0x40
or eax, dword [0x14014734c]
je 0x14002db09
cmp esi, 5
jb 0x14002db09
mov rbx, qword [rsp + 0x38]
mov eax, dword [rbx]
xor eax, dword [0x14014f302]
mov cl, byte [rbx + 4]
xor cl, byte [reloc.OLEAUT32.dll_VariantClear]
movzx ecx, cl
or ecx, eax
je 0x14002dd4a
lea ecx, [rsi + 2]
call fcn.140026322
test rax, rax
je 0x14002ddaf
mov r15, rax
mov edi, esi
test esi, esi
je 0x14002db88
mov rcx, r15
mov rdx, qword [rsp + 0x38]
mov r8, rdi
call fcn.1400eeb30
mov rax, rdi
jmp 0x14002db8a
mov qword [r12 + 0x18], 0
mov rcx, r12
call fcn.14002644e
xor r12d, r12d
xor r15d, r15d
jmp 0x14002ddfd
lea rax, [0x140149dd4]
mov qword [rsp + 0x20], rax
lea rdx, str.7a2sf2w27v2t2I7__aO
lea r8, [0x14014f454]
mov ebp, 0x15
mov ecx, 0x15
mov r9d, 0x2615d
call fcn.14002815a
jmp 0x14002ddc0
xor eax, eax
xor ecx, ecx
mov byte [r15 + rax], cl
mov byte [rdi + r15 + 1], cl
and r14d, 0xfff600a7
mov r13d, r14d
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1400261dc
mov qword [r12], rax
test rax, rax
je 0x14002dc09
or r13d, 0x100
mov r9, qword [r12 + 0x20]
add r9, 8
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 0
mov rcx, rax
mov rdx, r15
mov r8, r12
call fcn.140030008
test eax, eax
je 0x14002dc2d
mov edx, 7
cmp eax, 0xc0a
mov r13, qword [rsp + 0x30]
je 0x14002dbf7
mov edx, eax
mov dword [r12 + 0x50], edx
mov rcx, r12
call fcn.14002ff5f
jmp 0x14002dded
lea rcx, [0x14014f3c0]
mov rdx, rsi
call fcn.1400280c6
mov rsi, rax
mov ebp, 1
mov rcx, r15
call fcn.14002644e
jmp 0x14002ddc2
mov rax, qword [r12 + 0x20]
mov rdx, qword [rax + 8]
mov rcx, r12
call fcn.14007227e
mov rcx, qword [r12 + 0x20]
mov qword [rcx + 0x18], rax
cmp byte [r12 + 0x61], 0
mov r13, qword [rsp + 0x30]
jne 0x14002dc65
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x18]
mov al, byte [rax + 0x71]
mov byte [r12 + 0x5e], al
mov rcx, r12
xor edx, edx
call fcn.14007227e
mov rcx, qword [r12 + 0x20]
mov qword [rcx + 0x38], rax
mov rax, qword [r12 + 0x20]
lea rcx, str.84__U
mov qword [rax], rcx
mov rax, qword [r12 + 0x20]
mov byte [rax + 0x10], 3
mov rax, qword [r12 + 0x20]
lea rcx, [0x14014f2fd]
mov qword [rax + 0x20], rcx
mov rax, qword [r12 + 0x20]
mov byte [rax + 0x30], 1
mov dword [r12 + 0x70], 0xa029a697
cmp byte [r12 + 0x61], 0
jne 0x14002dded
mov dword [r12 + 0x50], 0
cmp qword [r12 + 0x138], 0
je 0x14002dcdc
mov rcx, r12
xor edx, edx
call fcn.14002ff5f
lea rdx, [0x14014f3d0]
mov rcx, r12
mov r8d, 2
call fcn.14002d46b
cmp eax, 7
jne 0x14002dd2b
cmp byte [r12 + 0x61], 0
jne 0x14002dd2b
cmp byte [r12 + 0x62], 0
jne 0x14002dd2b
mov byte [r12 + 0x61], 1
cmp dword [r12 + 0xc8], 0
jle 0x14002dd23
mov dword [r12 + 0x140], 1
inc dword [r12 + 0x148]
mov rcx, r12
call fcn.14002d7e5
test eax, eax
je 0x14002de9d
mov dword [r12 + 0x50], eax
mov rcx, r12
mov edx, eax
jmp 0x14002dbff
lea ecx, [rsi + 2]
mov eax, esi
xor edx, edx
xor ebp, ebp
cmp byte [rbx + rdx], 0x26
sete bpl
add rcx, rbp
inc rdx
cmp rax, rdx
jne 0x14002dd51
call fcn.140026322
test rax, rax
je 0x14002ddaf
mov r15, rax
mov ebp, 5
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 5], 0x2f
jne 0x14002dfa9
cmp byte [r8 + 6], 0x2f
jne 0x14002dfa9
xor edx, edx
mov al, byte [r8 + rdx + 7]
test al, al
je 0x14002de82
cmp al, 0x2f
je 0x14002de82
inc rdx
jmp 0x14002dd95
mov ebp, 7
cmp byte [r12 + 0x61], 0
je 0x14002de49
xor esi, esi
mov r13, qword [rsp + 0x30]
test rsi, rsi
lea r8, [0x140149890]
cmove r8, rsi
mov rcx, r12
mov edx, ebp
mov r9, rsi
call fcn.14002914d
mov rcx, rsi
call fcn.14002644e
xor r15d, r15d
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x14002ddfd
call qword [0x1401473e0]
mov rcx, r12
call fcn.14002d7e5
mov esi, eax
test eax, eax
je 0x14002de28
cmp esi, 7
jne 0x14002de1f
mov rcx, r12
xor edx, edx
call fcn.14002d0f8
xor r12d, r12d
jmp 0x14002de28
mov dword [r12 + 0x70], 0x4b771290
mov qword [r13], r12
mov rcx, r15
call fcn.14002644e
movzx eax, sil
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r12 + 0x62], 0
mov r13, qword [rsp + 0x30]
jne 0x14002de7b
mov byte [r12 + 0x61], 1
cmp dword [r12 + 0xc8], 0
jle 0x14002de73
mov dword [r12 + 0x140], 1
inc dword [r12 + 0x148]
xor esi, esi
jmp 0x14002ddc7
lea rbp, [rdx + 7]
cmp ebp, 0x10
je 0x14002df72
cmp ebp, 7
je 0x14002dfa9
jmp 0x14002df8f
cmp dword [0x140177fc0], 0
je 0x14002df65
xor esi, esi
lea rdi, [rsp + 0x48]
mov r13b, 1
cmp dword [0x140147344], 0
je 0x14002dede
mov ecx, 2
call qword [0x1401473c0]
test rax, rax
je 0x14002dede
mov rbp, rax
mov rcx, rax
call qword [0x1401473d0]
xor r13d, r13d
jmp 0x14002dee0
xor ebp, ebp
cmp esi, dword [0x140177fc0]
jae 0x14002defc
mov rax, qword [0x140177fc8]
mov ecx, esi
mov r14, qword [rax + rcx*8]
mov ebx, 1
jmp 0x14002df01
xor r14d, r14d
xor ebx, ebx
test r13b, r13b
jne 0x14002df0f
mov rcx, rbp
call qword [0x1401473e0]
mov qword [rsp + 0x48], 0
test r14, r14
je 0x14002df4c
mov rcx, r12
mov rdx, rdi
xor r8d, r8d
call r14
test eax, eax
mov r13, qword [rsp + 0x30]
je 0x14002df51
mov r9, qword [rsp + 0x48]
mov rcx, r12
mov edx, eax
lea r8, [0x14014f3e0]
call fcn.14002914d
xor ebx, ebx
jmp 0x14002df51
mov r13, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
call fcn.14002644e
inc esi
test ebx, ebx
jne 0x14002deb1
mov rcx, r12
call fcn.14002d7e5
jmp 0x14002dded
mov rax, qword [0x14014f308]
xor rax, qword [r8 + 7]
mov cl, byte [0x14014f310]
xor cl, byte [r8 + 0xf]
movzx ecx, cl
or rcx, rax
je 0x14002dfa4
add r8, 7
lea rcx, str.KLTCNKF
call fcn.1400280c6
jmp 0x14002dc18
mov ebp, 0x10
or r13d, 0x40
xor edx, edx
lea rcx, [0x140149950]
xor r9d, r9d
movsxd r10, r9d
mov esi, ebp
movsxd rbx, esi
mov al, byte [r8 + rbx]
test al, al
je 0x14002e10d
cmp al, 0x23
je 0x14002e10d
lea rbp, [rbx + 1]
cmp al, 0x25
jne 0x14002e078
movzx edi, byte [r8 + rbp]
test byte [rdi + rcx], 8
je 0x14002e078
movzx ebx, byte [rbx + r8 + 2]
test byte [rbx + rcx], 8
je 0x14002e078
mov eax, edi
shr al, 6
and al, 1
movzx eax, al
lea ebp, [rax + rax*8]
add bpl, dil
shl bpl, 4
add esi, 3
mov eax, ebx
shr al, 6
and al, 1
movzx eax, al
lea eax, [rax + rax*8]
add al, bl
and al, 0xf
or al, bpl
jne 0x14002e0c3
movsxd rax, esi
add rax, r8
mov bl, byte [rax]
test bl, bl
je 0x14002dfbe
cmp bl, 0x23
je 0x14002dfbe
test edx, edx
jne 0x14002e04b
cmp bl, 0x3f
je 0x14002dfbe
cmp edx, 1
jne 0x14002e063
cmp bl, 0x26
je 0x14002dfbe
cmp bl, 0x3d
jne 0x14002e071
jmp 0x14002dfbe
cmp edx, 2
jne 0x14002e071
cmp bl, 0x26
je 0x14002dfbe
inc esi
inc rax
jmp 0x14002e033
cmp edx, 1
jne 0x14002e0d4
mov edx, 1
cmp al, 0x3d
je 0x14002e08a
cmp al, 0x26
jne 0x14002e0c5
cmp byte [r15 + r10 - 1], 0
jne 0x14002e0f5
movsxd rax, ebp
inc esi
add rax, r8
mov bl, byte [rax]
mov edx, 1
test bl, bl
je 0x14002dfbe
cmp bl, 0x23
je 0x14002dfbe
cmp byte [rax - 1], 0x26
je 0x14002dfbe
inc esi
inc rax
jmp 0x14002e09a
mov ebp, esi
movsxd rbx, r9d
inc r9d
mov byte [r15 + rbx], al
jmp 0x14002dfb9
test edx, edx
je 0x14002e0e8
cmp edx, 2
jne 0x14002e0c5
mov edx, 2
cmp al, 0x26
jne 0x14002e0c5
jmp 0x14002e0ee
xor edx, edx
cmp al, 0x3f
jne 0x14002e0c5
mov edx, 1
jmp 0x14002e109
cmp al, 0x26
jne 0x14002e104
lea r9d, [r10 + 1]
mov byte [r15 + r10], 0
jmp 0x14002e109
mov edx, 2
xor eax, eax
jmp 0x14002e0c5
cmp edx, 1
jne 0x14002e11b
lea r9d, [r10 + 1]
mov byte [r15 + r10], 0
movsxd rax, r9d
mov word [r15 + rax], 0
mov rcx, r15
call fcn.140106d80
and eax, 0x3fffffff
cmp byte [rax + r15 + 1], 0
je 0x14002db9f
lea rbp, [rax + r15]
inc rbp
mov rcx, rbp
call fcn.140106d80
mov rsi, rax
and esi, 0x3fffffff
lea rcx, [rsi + rbp]
inc rcx
mov r14, rcx
call fcn.140106d80
mov rdi, rax
and edi, 0x3fffffff
cmp esi, 5
je 0x14002e1ab
cmp esi, 4
je 0x14002e1ea
cmp esi, 3
jne 0x14002e281
movzx eax, word [0x14014f33c]
xor ax, word [rbp]
mov cl, byte [str._at___58_0_1CEGCTAP5]
xor cl, byte [rbp + 2]
movzx ecx, cl
or cx, ax
jne 0x14002e281
mov qword [rsp + 0x50], r14
jmp 0x14002e281
mov eax, dword [0x14014f340]
xor eax, dword [rbp]
mov cl, byte [0x14014f344]
xor cl, byte [rbp + 4]
movzx ecx, cl
or ecx, eax
jne 0x14002e281
mov dword [rsp + 0x44], r13d
mov ebx, 0x60000
mov dword [rsp + 0x40], 0xfff9ffff
lea rsi, [0x14011ff70]
lea rax, [0x14014f340]
jmp 0x14002e21d
mov eax, dword [0x14014f355]
cmp eax, dword [rbp]
jne 0x14002e281
mov dword [rsp + 0x44], r13d
mov ebx, r13d
and ebx, 0x87
mov dword [rsp + 0x40], 0xffffff78
lea rsi, [0x14011ffa0]
lea rax, [0x14014f36b]
mov qword [rsp + 0x38], rax
mov r13, qword [rsi]
test r13, r13
je 0x14002e297
mov ebp, edi
add rsi, 0x10
mov rcx, r13
call fcn.140106d80
and eax, 0x3fffffff
cmp edi, eax
jne 0x14002e253
mov rcx, r14
mov rdx, r13
mov r8, rbp
call fcn.1400eea30
test eax, eax
je 0x14002e261
mov r13, qword [rsi]
add rsi, 0x10
test r13, r13
jne 0x14002e230
jmp 0x14002e297
mov eax, dword [rsi - 8]
test eax, eax
je 0x14002e297
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, ebx
jg 0x14002e2b0
mov ebx, dword [rsp + 0x40]
and ebx, dword [rsp + 0x44]
or eax, ebx
mov r13d, eax
lea rbp, [rdi + r14]
inc rbp
cmp byte [rbp], 0
jne 0x14002e145
jmp 0x14002db9f
lea rcx, [0x14014f380]
mov rdx, qword [rsp + 0x38]
mov r8, r14
call fcn.1400280c6
jmp 0x14002dc18
lea rcx, [0x14014f3a0]
mov rdx, qword [rsp + 0x38]
mov r8, r14
call fcn.1400280c6
mov rsi, rax
mov ebp, 3
jmp 0x14002dc20
jmp 0x14002d847