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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov byte [rbp + 0x27], r9b
mov r13, r8
mov r14, rdx
mov rsi, rcx
lea rcx, [rbp - 0x60]
call fcn.14039d380
call fcn.140392de0
lea r8, [0x140592508]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r9, r13
call fcn.1403bd0b0
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x20]
call fcn.1403a7580
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14039c7a5
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14039c8d5
add rdx, 0x27
mov rcx, rax
lea rdi, [rbp - 8]
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
movabs rbx, 0x4119ce5e97ce91dc
test rcx, rcx
je 0x14039c7fa
nop dword [rax]
mov r15, qword [rcx]
mov rdx, qword [0x1405794f8]
add rdx, rbx
call fcn.1400ab270
mov rcx, r15
test r15, r15
jne 0x14039c7e0
mov rcx, qword [rbp - 0x18]
mov edx, 0x20
call fcn.1400ab270
call fcn.140394b90
lea rdx, [0x140592550]
lea rcx, [rbp - 0x60]
mov r8, r13
call fcn.14039d530
cmp dword [0x1405794f0], 0x539a5bc2
jne 0x14039c837
mov eax, dword [0x1405926cc]
cmp eax, 0x16
jle 0x14039c844
mov eax, dword [0x1405926cc]
cmp eax, 0x20
jge 0x14039c820
jmp 0x14039c82c
call fcn.140394fa0
lea r8, [0x140592598]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r9, r13
call fcn.1403be570
nop
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14039c87c
mov eax, dword [0x1405926cc]
cmp eax, 0x22
jge 0x14039c860
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x20]
call fcn.1403a7580
mov r12, qword [rbp - 8]
mov r15, qword [rbp]
sub r15, r12
cmp r15, 0x1000
jb 0x14039c8bb
mov rax, qword [r12 - 8]
sub r12, rax
add r12, 0xfffffffffffffff8
cmp r12, 0x20
jae 0x14039c8da
mov rbx, r13
add r15, 0x27
mov r12, rax
jmp 0x14039c8be
mov rbx, r13
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14039c971
jmp 0x14039c928
call fcn.1403e571c
mov eax, dword [0x1405926cc]
mov ecx, 0xac65a478
add ecx, dword [0x1405794f0]
cmp eax, ecx
jge 0x14039c910
jmp 0x14039c8f1
mov eax, dword [0x1405926cc]
mov ecx, 0xac65a4a1
add ecx, dword [0x1405794f0]
cmp eax, ecx
jl 0x14039c923
nop word cs:[rax + rax]
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14039c910
jmp 0x14039c8f1
call fcn.1403e571c
mov rcx, r12
mov rdx, r15
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov r13, qword [rax]
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp ecx, eax
je 0x14039c9af
xorps xmm6, xmm6
mov r13b, 1
nop word [rax + rax]
mov rcx, r12
mov rdx, r15
call fcn.1400ab270
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 8]
mov qword [rax], 0
test r13b, r13b
je 0x14039c980
jmp 0x14039c928
test r13, r13
movabs r12, 0x4119ce5e97ce91dc
jne 0x14039cb6c
mov rcx, qword [rbp - 0x18]
mov edx, 0x20
call fcn.1400ab270
call fcn.14039a850
lea r8, [0x1405925e0]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r9, rbx
call fcn.1403bee90
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x20]
call fcn.1403a7580
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14039ca28
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14039cbb6
add rdx, 0x27
mov rcx, rax
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x14039ca75
nop word cs:[rax + rax]
mov r15, qword [rcx]
mov edx, 0x20
call fcn.1400ab270
mov rcx, r15
test r15, r15
jne 0x14039ca60
mov rcx, qword [rbp - 0x18]
mov edx, 0x20
call fcn.1400ab270
call fcn.14039b560
lea r8, [0x140592628]
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r9, rbx
call fcn.1403bfd70
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x20]
call fcn.1403a7580
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14039cae4
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
mov r8, qword [0x1405794f8]
add r8, r12
cmp rcx, r8
jae 0x14039cbbb
add rdx, 0x27
mov rcx, rax
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x14039cb2a
nop
mov rdi, qword [rcx]
mov rdx, qword [0x1405794f8]
add rdx, r12
call fcn.1400ab270
mov rcx, rdi
test rdi, rdi
jne 0x14039cb10
mov rcx, qword [rbp - 0x18]
mov edx, 0x20
call fcn.1400ab270
cmp byte [rbp + 0x27], 0
jne 0x14039cc35
cmp dword [0x1405794f0], 0x539a5bc2
jne 0x14039cbe0
jmp 0x14039cbc0
mov r13, r15
test r15, r15
je 0x14039c9c2
mov eax, dword [0x1405926cc]
cmp eax, 0x38
jg 0x14039cba7
nop word [rax + rax]
mov r15, qword [r13]
mov rdx, qword [0x1405794f8]
add rdx, r12
mov rcx, r13
call fcn.1400ab270
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14039cb60
mov edx, 0x20
mov rcx, r13
call fcn.1400ab270
jmp 0x14039cb80
call fcn.1403e571c
call fcn.1403e571c
mov ecx, dword [0x1405926c8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xac65a440
add ecx, dword [0x1405794f0]
xor edx, edx
div ecx
test edx, edx
je 0x14039cbf3
nop
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14039cbe0
jmp 0x14039cbc0
call fcn.14039ba30
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14039cc0f
mov ecx, dword [0x1405926cc]
cmp ecx, 0x44
jle 0x14039cc22
mov ecx, dword [0x1405926c8]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x14039cc00
jmp 0x14039cc04
lea rdx, [0x140592670]
lea rcx, [rbp - 0x60]
mov r8, rbx
call fcn.14039d530
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
mov dword [rsi], eax
mov rdi, qword [rbp - 0x58]
mov r14, qword [rdi]
cmp r14, rdi
je 0x14039cd71
movabs r9, 0x4119ce5e97ce91bc
mov r10d, 0xac65a43f
mov r11, r14
nop word cs:[rax + rax]
cmp dword [r11 + 0x18], 0xa
jb 0x14039ccc5
mov rax, qword [r11 + 0x10]
cmp rax, 0x14
ja 0x14039d0cf
mov rcx, qword [0x1405794f8]
add rcx, r9
cmp rsi, rcx
je 0x14039ccf0
nop word cs:[rax + rax]
mov rdx, rax
mov r8d, dword [0x1405794f0]
add r8d, r10d
mov ecx, eax
shl r8d, cl
shr rdx, 5
or dword [rsi + rdx*4], r8d
mov ecx, dword [0x1405926cc]
cmp ecx, 0x31
jg 0x14039ccf0
mov eax, dword [0x1405926cc]
cmp eax, 0x50
mov rax, qword [r11]
mov ecx, dword [0x1405926cc]
cmp ecx, 0x3f
jg 0x14039ccce
mov r11, rax
cmp rax, rdi
jne 0x14039cc70
jmp 0x14039cd71
lea r15, [rax + rax*4]
add r15, 0xffffffffffffffe7
movzx ecx, byte [0x1405794f8]
add cl, 0xc1
shl r15, cl
mov rcx, r15
shl rcx, 5
sub r15, rcx
imul r15, rcx
mov rdx, r15
shl rdx, cl
mov rcx, r15
sub rcx, rdx
imul rcx, rdx
sub rcx, r15
sub r15, rcx
imul r15, rcx
shl r15, cl
shl r15, cl
shr r15, cl
lea ecx, [rax - 1]
mov edx, 1
shl edx, cl
sub edx, ecx
imul edx, ecx
shl edx, cl
mov ebx, dword [rsi + r15*4]
mov ecx, edx
shl ebx, cl
mov r8d, ebx
shl r8d, cl
sub r8d, ebx
sub ebx, r8d
imul ebx, r8d
mov edx, ebx
mov ecx, r8d
shl edx, cl
or edx, ebx
mov dword [rsi + r15*4], edx
jmp 0x14039cca0
test byte [rsi + 2], 8
je 0x14039cfeb
nop dword [rax + rax]
mov ecx, dword [0x1405926c8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405794f0]
mov edx, 0xac65a440
add ecx, edx
xor edx, edx
div ecx
test edx, edx
jne 0x14039ce5a
movzx r15d, byte [rsi]
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
movsx r13, byte [rax + r15]
movzx r15d, byte [rsi + 1]
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
movsx r12, byte [rax + r15]
movzx r15d, byte [rsi + 2]
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
movsx r15, byte [rax + r15]
movzx ebx, byte [rsi + 3]
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
movsx rcx, byte [rax + rbx]
mov rax, qword [0x1405794f8]
movabs rdx, 0x4119ce5e97ce91bd
add rax, rdx
mov edx, dword [0x1405926cc]
cmp edx, 0x3d
jle 0x14039cef0
mov r9d, dword [0x1405794f0]
lea ecx, [r9 - 0x539a5bc1]
lea r8d, [r9 - 0x52a059be]
add r9d, 0x85e88654
mov edx, ecx
call fcn.1403aab00
mov r9d, dword [0x1405794f0]
lea ecx, [r9 - 0x539a5bc1]
lea r8d, [r9 - 0x52a059be]
add r9d, 0x85e88654
mov edx, ecx
call fcn.1403aab00
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
mov ecx, 1
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14039cd80
jmp 0x14039cda5
add r12, r13
add r15, rcx
add r15, r12
cmp r15, rax
movabs r12, 0x4119ce5e97ce91dc
jbe 0x14039cf1c
mov eax, dword [0x14058efdc]
add eax, dword [rsi]
and eax, 0xfff7ffff
mov dword [rsi], eax
jmp 0x14039cfeb
cmp r14, rdi
je 0x14039cfeb
mov eax, 1
mov rcx, r14
nop dword [rax]
mov edx, eax
mov eax, dword [rcx + 0x18]
cmp eax, edx
cmovbe eax, edx
cmp qword [rcx + 0x10], 0x13
mov r8, qword [rcx]
cmove eax, edx
mov rcx, r8
cmp r8, rdi
jne 0x14039cf30
cmp r14, rdi
je 0x14039cfeb
movzx ecx, byte [0x1405794f0]
add cl, 0x43
mov edx, eax
shr edx, cl
mov r8d, 1
mov ecx, eax
shl r8d, cl
xor ecx, ecx
jmp 0x14039cf8e
or dword [rsi + rdx*4], r8d
mov cl, 1
mov r14, qword [r14]
cmp r14, rdi
je 0x14039cfa8
cmp qword [r14 + 0x10], 0x13
je 0x14039cf86
cmp dword [r14 + 0x18], eax
jne 0x14039cf86
cmp eax, 0x15
jb 0x14039cf80
mov rcx, rsi
call fcn.1403a7550
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
lea rdx, [fcn.14039c710]
add edx, edx
add edx, 0x1ce0
mov r8d, edx
not r8d
and r8d, edx
cmp r8d, eax
nop
xor eax, eax
test al, al
jne 0x14039cfd0
and cl, 1
add cl, byte [0x14058f53c]
add cl, byte [0x14058ed00]
jne 0x14039cf08
lea r14, [rbp - 0x48]
lea rdi, [0x1403aa520]
nop word cs:[rax + rax]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov eax, dword [0x1405926cc]
cmp eax, 0x32
jle 0x14039d037
mov ecx, 0x48
call fcn.1403e5794
mov qword [0x1405926b8], rax
mov rcx, rdi
call fcn.1404058a4
mov eax, dword [0x1405926cc]
cmp eax, 0x1f
jmp 0x14039d000
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14039d06b
mov rax, qword [rcx - 8]
add rcx, qword [0x1405794f8]
sub rcx, rax
movabs r8, 0x4119ce5e97ce91b4
add r8, rcx
cmp r8, 0x20
jae 0x14039d0d7
add rdx, 0x27
mov rcx, rax
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rcx, qword [rax]
test rcx, rcx
je 0x14039d0b5
nop word cs:[rax + rax]
mov rdi, qword [rcx]
mov edx, 0x20
call fcn.1400ab270
mov rcx, rdi
test rdi, rdi
jne 0x14039d0a0
mov eax, dword [0x1405926c8]
mov ecx, dword [0x1405794f0]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x14039d110
jmp 0x14039d0dc
mov rcx, rsi
call fcn.1403a7550
call fcn.1403e571c
mov rcx, qword [rbp - 0x58]
mov rax, qword [0x1405794f8]
mov rdx, rax
xor rdx, r12
and rax, r12
lea rdx, [rdx + rax*2]
call fcn.1400ab270
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14039d12b
nop word [rax + rax]
mov rcx, qword [rbp - 0x58]
mov edx, 0x20
call fcn.1400ab270
mov eax, dword [0x1405926cc]
cmp eax, 0x5d
jge 0x14039d110
jmp 0x14039d0dc
mov rax, rsi
movaps xmm6, xmmword [rbp + 0x30]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret