Function at 0x1400286b0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rdi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov eax, dword [0x14022b718]
mov ecx, dword [0x140222a94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140028be2
mov rbx, qword [0x14022b700]
mov qword [rsp + 0x88], rdi
lea r13, [rbx + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140028c5e
call fcn.140103510
mov r12, qword [rax]
test r12, r12
je 0x140028c6b
lock inc dword [r12 + 8]
mov rax, qword [rbx + 0x20]
inc rax
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x20], rax
lock inc dword [r12 + 8]
mov rax, rdi
shr rax, 0x20
lea ecx, [rdi*8]
add rcx, 8
xor rcx, rax
movabs rdx, 0x9ddfea08eb382d69
imul rcx, rdx
mov rbp, rcx
shr rbp, 0x2f
xor rcx, rax
xor rcx, rbp
imul rcx, rdx
mov r14, rcx
shr r14, 0x2f
xor r14, rcx
imul r14, rdx
mov r15, qword [rbx + 0x30]
movabs rdx, 0x5555555555555555
movabs rcx, 0x3333333333333333
movabs rsi, 0xf0f0f0f0f0f0f0f
movabs rbp, 0x101010101010101
test r15, r15
je 0x140028864
mov rax, r15
shr rax, 1
and rax, rdx
mov rdx, r15
sub rdx, rax
mov rax, rdx
and rax, rcx
shr rdx, 2
and rdx, rcx
add rdx, rax
mov rcx, rdx
shr rcx, 4
add rcx, rdx
and rcx, rsi
imul rcx, rbp
shr rcx, 0x38
cmp rcx, 1
jbe 0x14002885b
mov rbp, r14
cmp r14, r15
jb 0x140028812
mov rax, r14
xor edx, edx
div r15
mov rbp, rdx
mov rax, qword [rbx + 0x28]
mov rsi, qword [rax + rbp*8]
test rsi, rsi
je 0x14002886e
lea r8, [r15 - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x14002886e
mov rax, qword [rsi + 8]
cmp rax, r14
je 0x14002884b
cmp ecx, 1
jbe 0x140028856
cmp rax, r15
jb 0x140028846
xor edx, edx
div r15
mov rax, rdx
cmp rax, rbp
jne 0x14002886e
cmp qword [rsi + 0x10], rdi
jne 0x140028823
jmp 0x140028916
and rax, r8
jmp 0x140028846
lea rbp, [r15 - 1]
and rbp, r14
jmp 0x140028812
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x28
call fcn.14011d790
mov rsi, rax
mov qword [rax + 0x10], rdi
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov qword [rax + 8], r14
mov qword [rax], 0
mov rax, qword [rbx + 0x40]
inc rax
js 0x1400288a4
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x1400288bc
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, r15
shr rcx, 1
mov eax, r15d
and eax, 1
or rax, rcx
test r15, r15
js 0x1400288d7
cvtsi2ss xmm1, r15
jmp 0x1400288e0
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [rbx + 0x48]
je 0x1400289e1
mulss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x1400289e1
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + rbp*8]
test rcx, rcx
je 0x140028997
mov rax, qword [rcx]
mov qword [rsi], rax
mov qword [rcx], rsi
inc qword [rbx + 0x40]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], r12
test rcx, rcx
jne 0x140028c80
mov rbp, qword [rsp + 0x38]
mov qword [rsi + 0x20], rbp
cmp dword [rbx + 0x10], 0
jne 0x140028958
mov rsi, qword [0x140229f68]
cmp rsi, 1
jbe 0x140028c11
mov rcx, rsi
call fcn.14010e580
test rax, rax
jne 0x140028c9c
test r12, r12
je 0x140028969
lock dec dword [r12 + 8]
je 0x140028d6b
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14011fe20
nop
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rbx + 0x38]
mov rdx, qword [rbx + 0x38]
mov qword [rsi], rdx
mov qword [rbx + 0x38], rsi
mov qword [rax + rbp*8], rcx
mov rax, qword [rsi]
test rax, rax
je 0x140028912
mov rax, qword [rax + 8]
lea rcx, [r15 - 1]
test r15, rcx
je 0x140028bda
cmp rax, r15
jb 0x1400289d4
xor edx, edx
div r15
mov rax, rdx
mov rcx, qword [rbx + 0x28]
mov qword [rcx + rax*8], rsi
jmp 0x140028912
mov qword [rsp + 0x30], r13
divss xmm0, xmm2
call fcn.140135b9c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1401e2fa8]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rcx, [r15 + r15]
mov r13d, 1
cmp r15, 3
jae 0x140028bc7
or r13, rcx
cmp r13, rax
cmovb r13, rax
cmp r13, 1
je 0x140028bbc
lea rax, [r13 - 1]
test r13, rax
je 0x140028a4e
mov rcx, r13
call fcn.14010b600
mov r13, rax
mov r15, qword [rbx + 0x30]
cmp r13, r15
jbe 0x140028d88
mov rax, r13
shr rax, 0x3d
jne 0x140028da1
lea rcx, [r13*8]
call fcn.14011d790
mov rcx, qword [rbx + 0x28]
mov qword [rbx + 0x28], rax
test rcx, rcx
je 0x140028a83
call fcn.14011d780
mov qword [rbx + 0x30], r13
xor eax, eax
mov rcx, qword [rbx + 0x28]
mov qword [rcx + rax*8], 0
inc rax
cmp r13, rax
jne 0x140028a89
mov r11, qword [rbx + 0x38]
test r11, r11
je 0x140028eb1
lea rbp, [rbx + 0x38]
mov r9, qword [r11 + 8]
mov rax, r13
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov rcx, r13
sub rcx, rax
mov rax, rcx
movabs rdx, 0x3333333333333333
and rax, rdx
shr rcx, 2
and rcx, rdx
add rcx, rax
mov rdi, rcx
shr rdi, 4
add rdi, rcx
movabs rax, 0xf0f0f0f0f0f0f0f
and rdi, rax
movabs rax, 0x101010101010101
imul rdi, rax
shr rdi, 0x38
cmp rdi, 1
jbe 0x140028da6
cmp r9, r13
jb 0x140028b28
mov rax, r9
xor edx, edx
div r13
mov r9, rdx
mov rax, qword [rbx + 0x28]
mov qword [rax + r9*8], rbp
mov rbp, qword [r11]
test rbp, rbp
je 0x140028eb1
lea r8, [r13 - 1]
mov rax, qword [rbp + 8]
cmp edi, 1
jbe 0x140028d80
cmp rax, r13
jb 0x140028b5a
xor edx, edx
div r13
mov rax, rdx
cmp rax, r9
je 0x140028bb7
mov rcx, qword [rbx + 0x28]
cmp qword [rcx + rax*8], 0
mov rdx, rbp
jne 0x140028b84
mov qword [rcx + rax*8], r11
mov r11, rbp
mov r9, rax
mov rbp, qword [r11]
test rbp, rbp
jne 0x140028b40
jmp 0x140028eb1
mov r10, rdx
mov rdx, qword [rdx]
test rdx, rdx
je 0x140028b99
mov rcx, qword [rbp + 0x10]
cmp rcx, qword [rdx + 0x10]
je 0x140028b84
mov qword [r11], rdx
mov rcx, qword [rbx + 0x28]
mov rcx, qword [rcx + rax*8]
mov rcx, qword [rcx]
mov qword [r10], rcx
mov rcx, qword [rbx + 0x28]
mov rax, qword [rcx + rax*8]
mov qword [rax], rbp
jmp 0x140028b77
mov r11, rbp
jmp 0x140028b77
mov r13d, 2
jmp 0x140028a4e
lea rdx, [r15 - 1]
xor r13d, r13d
test r15, rdx
setne r13b
jmp 0x140028a22
and rax, rcx
jmp 0x1400289d4
lea rcx, [0x14022b718]
call fcn.14011d638
cmp dword [0x14022b718], 0xffffffff
jne 0x1400286fd
call fcn.140028f00
lea rcx, [0x14022b718]
call fcn.14011d5d8
jmp 0x1400286fd
lea rcx, [0x140229f68]
call fcn.1400f5aa0
test al, al
je 0x140028eed
mov qword [0x140229f70], 0
lea rdi, [0x140229f68]
lea rsi, [0x140229f70]
mov rcx, rsi
xor edx, edx
call fcn.140012fc0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.140014c00
jmp 0x140028947
mov rcx, r13
call fcn.1400fd520
jmp 0x140028721
mov rax, qword [rbx + 0x20]
inc rax
mov qword [rsp + 0x38], rax
mov qword [rbx + 0x20], rax
jmp 0x14002874e
lock dec dword [rcx + 8]
jne 0x140028927
add rcx, 8
add rcx, 0xfffffffffffffff8
call fcn.1400e9a50
jmp 0x140028927
mov rsi, rax
cmp qword [rax], rbx
jne 0x140028958
lea rax, [rsi + 0x28]
add rsi, 8
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov rdx, rbx
mov r8, rbp
mov r9, rsi
call fcn.14019bf00
lea rbp, [rsp + 0x40]
mov qword [rbp], rbx
mov ecx, pe_nt_image_headers64
call fcn.14011d790
mov rbx, rax
lea rdx, [0x14019c070]
lea r8, [0x14019c0a0]
mov rcx, rax
call fcn.1400f5a80
lea rax, [0x14019bf70]
mov qword [rbx + 0x20], rax
mov dword [rbx + 0x28], 0
lea rcx, [rbx + 0x30]
lea r8, [rsp + 0x88]
mov rdx, rbp
mov r9, rdi
call fcn.14019c170
lea r8, [rsp + 0x80]
mov qword [r8], rbx
mov rcx, r12
mov rdx, rsi
call fcn.140109390
lea rsi, [rsp + 0x70]
mov rcx, rsi
call fcn.1400e7640
mov rcx, qword [rsi - 0x28]
movabs rax, 0xfffffffe00000000
and rax, rcx
cmp rax, qword [0x14021af08]
jne 0x140028958
call fcn.1400f23b0
jmp 0x140028958
add r12, 8
add r12, 0xfffffffffffffff8
mov rcx, r12
call fcn.1400e9a50
jmp 0x140028969
and rax, r8
jmp 0x140028b5a
jae 0x140028eb1
mov rax, qword [rbx + 0x40]
test rax, rax
js 0x140028db2
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x140028dca
call fcn.14011d580
lea rax, [r13 - 1]
and r9, rax
jmp 0x140028b28
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rbx + 0x48]
call fcn.140135b9c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1401e2fa8]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp r15, 3
jb 0x140028e76
mov rcx, r15
shr rcx, 1
movabs rdx, 0x5555555555555555
and rcx, rdx
mov rdx, r15
sub rdx, rcx
mov rcx, rdx
shr rcx, 2
movabs rbp, 0x3333333333333333
and rdx, rbp
and rcx, rbp
add rcx, rdx
mov rdx, rcx
shr rdx, 4
add rdx, rcx
movabs rcx, 0xf0f0f0f0f0f0f0f
and rdx, rcx
movabs rcx, 0x101010101010101
imul rdx, rcx
shr rdx, 0x38
cmp edx, 1
ja 0x140028e76
cmp rax, 2
jb 0x140028e7e
dec rax
bsr rcx, rax
xor ecx, 0x3f
neg cl
mov eax, 1
shl rax, cl
jmp 0x140028e7e
mov rcx, rax
call fcn.14010b600
cmp r13, rax
cmovb r13, rax
cmp r13, r15
jae 0x140028eb1
test r13, r13
jne 0x140028a57
mov rcx, qword [rbx + 0x28]
mov qword [rbx + 0x28], 0
test rcx, rcx
je 0x140028ea9
call fcn.14011d780
mov qword [rbx + 0x30], 0
mov r15, qword [rbx + 0x30]
lea rbp, [r15 - 1]
test r15, rbp
je 0x140028ed8
cmp r14, r15
mov r13, qword [rsp + 0x30]
jb 0x140028ee5
mov rax, r14
xor edx, edx
div r15
mov rbp, rdx
jmp 0x1400288f8
and rbp, r14
mov r13, qword [rsp + 0x30]
jmp 0x1400288f8
mov rbp, r14
jmp 0x1400288f8
mov rsi, qword [0x140229f68]
jmp 0x140028947