Function at 0x14008a78c
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rdx
mov r15, rcx
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [0x1402aecb0]
mov r10, qword [0x1402aecb8]
shrd r10, rcx, 0x2e
movabs rcx, 0x4661c298a227fe4b
xor rcx, r10
cmp rdx, rcx
jne 0x14008a7e4
xor ecx, ecx
xor edx, edx
jmp 0x14008af00
mov r10, qword [r8]
sub r10, rax
imul ecx, dword [0x1402aecc0], 0x2a723482
imul r11d, dword [0x1402aecc8], 0xa73ba0b
add r11d, ecx
mov ecx, r11d
add cl, 0xa
shl r10, cl
add r10, qword [r8 + 8]
movabs rcx, 0xb48d2de4346d6c70
imul rcx, qword [0x1402aecd0]
movabs r8, 0x84cd487e59292d3a
imul r8, qword [0x1402aecd8]
add r8, rcx
movabs r11, 0x91e2d2df1573dc56
mov rcx, qword [0x1402aece0]
shr rcx, 0x33
xor cl, 0x8f
mov r12, r10
shr r12, cl
add r11, r8
mov rcx, qword [0x1402aece8]
mov r8, qword [0x1402aecf0]
shrd r8, rcx, 0xe
movabs rcx, 0xb7a8404b1ccc33b
xor rcx, r8
mov r8, rcx
or r8, r12
cmp r10, r11
cmovge r8, r12
mov rcx, qword [0x1402aecf8]
mov r11, qword [0x1402aed00]
shrd r11, rcx, 3
movabs rcx, 0xe3a914d8fcab62e3
xor rcx, r11
mov r13, rcx
and r13, r10
mov r10, qword [r9]
sub r10, rax
mov ecx, dword [0x1402aed08]
shr ecx, 5
xor cl, 0x47
shl r10, cl
mov r11, r10
add r11, qword [r9 + 8]
mov rcx, qword [0x1402aed10]
mov r10, qword [0x1402aed18]
shrd r10, rcx, 0x15
movabs r9, 0xbdf82bdf8cf955ed
xor r9, r10
mov ecx, dword [0x1402aed20]
mov r10, qword [0x1402aed28]
shr r10, 0x3d
lea ecx, [r10 + rcx*8]
xor cl, 0xef
mov rsi, r11
shr rsi, cl
movabs rcx, 0x1de395c341c4ac5f
imul rcx, qword [0x1402aed30]
movabs r10, 0xbf33519112436990
imul r10, qword [0x1402aed38]
add r10, rcx
movabs rcx, 0x5415120cd998c224
add rcx, r10
mov r10, rcx
or r10, rsi
cmp r11, r9
cmovge r10, rsi
movabs rcx, 0x16b4c8ece49aaa89
imul rcx, qword [0x1402aed40]
movabs r9, 0x4a8ff0961863212d
imul r9, qword [0x1402aed48]
add r9, rcx
movabs rcx, 0x69b7b35eac8d84c1
add rcx, r9
mov r9, rcx
imul ecx, dword [0x1402aed50], 0x765a9808
imul esi, dword [0x1402aed58], 0x2ab0df60
and r9, r11
add esi, ecx
mov ecx, esi
add cl, 0xd5
mov r11, r8
shl r11, cl
cmp r13, r9
jne 0x14008a9ae
cmp r8, r10
je 0x14008ae73
mov qword [rbp - 8], r11
mov rcx, qword [0x1402aed60]
mov r11, qword [0x1402aed68]
shrd r11, rcx, 7
movabs rsi, 0x24b0826a25674eb5
imul ecx, dword [0x1402aed70], 0x7a7affbb
imul edi, dword [0x1402aed78], 0xd951e0bb
add edi, ecx
mov ecx, edi
add cl, 0xcf
mov rdi, rdx
shr rdi, cl
movabs rcx, 0x415216c500db40f0
imul rcx, qword [0x1402aed80]
movabs rbx, 0xb996dbfff83c26db
imul rbx, qword [0x1402aed88]
xor rsi, r11
add rbx, rcx
movabs rcx, 0x7a3a178f69eab9e9
add rcx, rbx
mov r11, rcx
or r11, rdi
cmp rdx, rsi
cmovge r11, rdi
lea rcx, [rax + r8*4]
mov r8, qword [0x1402aed90]
mov rsi, qword [0x1402aed98]
shrd rsi, r8, 6
movabs r8, 0x5712616e49c94b98
xor r8, rsi
and r8, rdx
cmp r9, r8
jne 0x14008aa73
cmp r10, r11
jne 0x14008aa73
mov rdx, rax
mov r8, rax
mov rsi, r13
jmp 0x14008acf4
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x28], r14
lea rdx, [rax + r11*4]
lea rdi, [rax + r10*4]
mov r14, rcx
movabs rax, 0xda8c2ba22be53113
movabs r10, 0x4c078a44dc48892b
movabs r11, 0x507b828f9b478be4
movabs r12, 0xdb2f4be5f7c0cbcb
mov qword [rbp - 0x10], r13
mov rcx, r13
mov rbx, rcx
mov r15, r9
imul ecx, dword [0x1402aeda0], 0x16bc0452
mov r13, rdi
imul r9d, dword [0x1402aeda4], 0x35433a81
add r9d, ecx
add r9d, 0x9e29693c
mov ecx, r15d
shl r9d, cl
mov esi, r9d
and esi, dword [rdi]
mov ecx, dword [0x1402aeda8]
mov r9d, dword [0x1402aedac]
shrd r9d, ecx, 0x13
mov edi, r9d
xor edi, 0xb0da4fd5
mov ecx, dword [0x1402aedb0]
mov r9d, dword [0x1402aedb4]
shrd r9d, ecx, 2
xor r9d, 0x97b0794b
mov ecx, ebx
shl r9d, cl
cmp esi, edi
jne 0x14008ab4d
imul ecx, dword [0x1402aedb8], 0x32ac9e9b
imul esi, dword [0x1402aedbc], 0xb05aa0c4
add ecx, esi
add ecx, 0x1ab263c9
xor r9d, ecx
and r9d, dword [r14]
jmp 0x14008ab50
or r9d, dword [r14]
mov ecx, r9d
mov dword [r14], r9d
mov rcx, qword [0x1402aedc0]
movabs r9, 0x8c161095e57dcd65
imul rcx, r9
mov r9, qword [0x1402aedc8]
movabs rsi, 0x7f0acb60c7ab48b3
imul r9, rsi
add r9, rcx
movabs rcx, 0xe8c9c1c7a87b46e0
add r9, rcx
mov rcx, qword [0x1402aedd0]
movabs rsi, 0xc46fc7ba2fdef6bc
imul rcx, rsi
mov rsi, qword [0x1402aedd8]
movabs rdi, 0x7731934849c619b3
imul rsi, rdi
add rsi, rcx
movabs rcx, 0xe7835a1c0ad73d6e
add rcx, rbx
mov rdi, rsi
add rdi, rcx
mov rcx, qword [0x1402aede0]
mov rsi, qword [0x1402aede8]
shrd rsi, rcx, 0x2c
movabs rcx, 0xdc7f736fcd94ff1
xor rsi, rcx
cmp rbx, r9
seta cl
mov r9d, 0
cmovbe rsi, rdi
mov r9b, cl
mov ecx, r9d
lea rbx, [r14 + rcx*4]
mov rcx, qword [0x1402aedf0]
movabs r9, 0x9cc9eed29539eafc
imul rcx, r9
mov r9, qword [0x1402aedf8]
movabs rdi, 0x42ac7b478435f552
imul r9, rdi
add r9, rcx
movabs rcx, 0xab63041a5701a440
add r9, rcx
mov rcx, qword [0x1402aee00]
movabs rdi, 0x40bf91bdc7cb43e8
imul rcx, rdi
mov rdi, qword [0x1402aee08]
movabs r14, 0xc6b40278d446be6b
imul rdi, r14
add rdi, rcx
add rdi, r15
add rdi, rax
mov rcx, qword [0x1402aee10]
imul rcx, r10
mov r14, qword [0x1402aee18]
imul r14, r11
add r14, rcx
add r14, r12
cmp r15, r9
seta cl
mov r9d, 0
mov r9b, cl
mov ecx, r9d
lea r13, [r13 + rcx*4]
mov r15, r14
cmovbe r15, rdi
mov rdi, r13
mov r9, r15
mov rcx, rsi
mov r14, rbx
cmp r13, rdx
jne 0x14008aab9
mov rdi, r13
mov r9, r15
mov rcx, rsi
mov r14, rbx
cmp r15, r8
jne 0x14008aab9
mov r15, qword [rbp - 0x20]
mov rax, qword [r15]
mov r8, rax
mov rcx, rbx
mov r14, qword [rbp - 0x28]
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp - 0x10]
mov rdx, rsi
mov r9, rcx
sub r9, r8
mov rcx, qword [0x1402aee20]
shr rcx, 0x36
xor cl, 0xb6
mov rsi, r9
shl rsi, cl
add rsi, rdx
mov rcx, qword [0x1402aee28]
mov rdx, qword [0x1402aee30]
shrd rdx, rcx, 0x3f
movabs rcx, 0xcedbb218bcde8f93
xor rcx, rdx
cmp rsi, rcx
jl 0x14008af22
movabs rcx, 0xb56058cd8c6e655
imul rcx, qword [0x1402aee38]
movabs rdx, 0xe6f5612f2eeee2e
imul rdx, qword [0x1402aee40]
add rdx, rcx
movabs rcx, 0xbc24bb1c8f111671
add rcx, rdx
mov rdi, rcx
add rdi, rsi
mov cl, byte [0x1402aee4d]
xor cl, 0x73
shr rdi, cl
mov rdx, qword [r15 + 8]
mov r9, rdx
imul ecx, dword [0x1402aee50], 0xba863a2e
imul r10d, dword [0x1402aee58], 0xd2a1a273
sub r9, r8
add r10d, ecx
mov ecx, r10d
add cl, 0x8a
sar r9, cl
cmp rdi, r9
jae 0x14008adcb
lea r8, [rax + rdi*4]
cmp r8, rdx
je 0x14008adcb
mov rcx, rdx
call fcn.140036732
mov qword [r15 + 8], rax
mov rax, qword [r15]
mov qword [r15 + 0x18], rsi
movabs rcx, 0xb15ad6bf32629a9f
imul rcx, qword [str.RslR]
movabs rdx, 0xbe07588873a1e123
imul rdx, qword [str.GT_]
add rdx, rcx
movabs rcx, 0xc38692194fab1f7c
add rcx, rdx
and rcx, rsi
mov rdx, qword [0x1402aee70]
mov r8, qword [0x1402aee78]
shrd r8, rdx, 0x38
movabs rdx, 0xc1a63c6b8758294
xor rdx, r8
cmp rcx, rdx
je 0x14008ae6f
imul edx, dword [0x1402aee80], 0xdff4adb
imul r8d, dword [0x1402aee84], 0x93b075de
add edx, r8d
add edx, 0xa1b47d0b
shl edx, cl
mov ecx, dword [0x1402aee88]
mov r8d, dword [0x1402aee8c]
shrd r8d, ecx, 0x1f
xor r8d, edx
xor r8d, 0xd8c4766a
and dword [rax + rdi*4 - 4], r8d
mov rax, qword [r15]
mov r11, qword [rbp - 8]
mov rcx, r11
mov rdx, qword [0x1402aee90]
mov r8, qword [0x1402aee98]
shrd r8, rdx, 0x22
or rcx, r13
mov rdx, qword [0x1402aeea0]
mov r9, qword [0x1402aeea8]
shrd r9, rdx, 0x28
movabs rdx, 0xa87be05aa50e3e2c
xor rdx, r8
movabs r8, 0x31e3bff3f54180c2
xor r8, r9
or r8, r12
cmp rcx, rdx
cmovge r8, r12
movabs rdx, 0xc898c1c73eef9944
imul rdx, qword [0x1402aeeb0]
movabs r9, 0x29763289fb4c414a
imul r9, qword [0x1402aeeb8]
add r9, rdx
movabs rdx, 0x58e2ea48d8099eb
add rdx, r9
and rdx, rcx
mov rcx, rdx
mov rdx, r8
mov r8, rax
mov rax, r14
lea rdx, [r8 + rdx*4]
mov qword [r14], rdx
mov qword [r14 + 8], rcx
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov rcx, r15
call fcn.14005ac64
nop
int3