Function at 0x140091870
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov qword [rsp + 0x30], rdx
mov rsi, rcx
mov rcx, qword [rcx + 8]
mov eax, 0x85734fff
nop word cs:[rax + rax]
mov edx, dword [0x141dcf7f0]
and edx, dword [0x141dcf7f4]
xor edx, 0x743b8f43
add edx, 0x4fc8544f
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xfbea292d
je 0x1400918a0
mov r14, qword [rsi + 0x10]
xor ebp, ebp
mov r8d, 0
cmp r14, 3
jb 0x140091a20
nop
mov eax, dword [0x141dcf7f8]
xor edx, edx
div dword [0x141dcf7fc]
imul eax, eax, 0x55da27c8
xor eax, 0x8d7f3c8
imul eax, eax, 0x983f6413
cmp eax, 0x8e729222
jb 0x1400918e0
movzx eax, byte [rcx + r14 - 2]
mov edx, eax
and dl, 0xf0
nop word cs:[rax + rax]
mov r8d, dword [0x141dcf800]
xor r8d, dword [0x141dcf804]
add r8d, 0xb308ba97
or r8d, 0xb35a1eaa
imul r8, r8, 0x23956885
shr r8, 0x35
cmp r8d, 0xf60a2942
je 0x140091920
xor ebp, ebp
mov r8d, 0
cmp dl, 0xa0
jne 0x140091a20
nop word cs:[rax + rax]
mov edx, dword [0x141dcf808]
mov r8d, dword [0x141dcf80c]
add edx, r8d
add edx, 0xecbcdae4
or edx, 0x5e620378
add edx, 0x4e8ce460
cmp edx, 0xe00b4c47
ja 0x140091970
nop word [rax + rax]
mov edx, dword [0x141dcf810]
mov r8d, dword [0x141dcf814]
add edx, r8d
add edx, 0x9d480e00
and edx, 0xd9afe542
add edx, 0x1e3405b4
cmp edx, 0x51c9a27f
jb 0x1400919a0
xor ebp, ebp
cmp byte [rcx + r14 - 3], 0xed
mov r8d, 0
jne 0x140091a20
movzx ebp, byte [r14 + rcx - 1]
and eax, 0x1f
and ebp, 0x3f
shl eax, 0x10
shl ebp, 0xa
or ebp, eax
nop
mov eax, dword [0x141dcf818]
and eax, dword [0x141dcf81c]
or eax, 0x5a3a6b53
imul eax, eax, 0x136a708c
and eax, 0x6c3cc134
cmp eax, 0xc829b485
ja 0x1400919f0
mov r8b, 1
nop word cs:[rax + rax]
mov eax, dword [0x141dcf820]
xor eax, dword [0x141dcf824]
and eax, 0xef0c57b3
add eax, 0x78307391
cmp eax, 0xf391f9d
jb 0x140091a20
cmp rdi, 3
jb 0x140091d22
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
nop
mov edx, dword [0x141dcf828]
or edx, dword [0x141dcf82c]
or edx, 0xff3f2ffc
xor edx, 0x9ef09f4d
cmp edx, 0xce98a96b
ja 0x140091a50
cmp al, 0xed
jne 0x140091d2b
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + 1]
mov eax, r12d
and al, 0xf0
cmp al, 0xb0
jne 0x140091d2b
and r12d, 0x1f
nop word cs:[rax + rax]
mov eax, dword [0x141dcf830]
or eax, dword [0x141dcf834]
xor eax, 0x445f52c3
add eax, 0x1173dc96
cmp eax, 0x4801b91c
jb 0x140091aa0
mov rax, qword [rsp + 0x30]
movzx r13d, byte [rax + 2]
shl r12d, 6
and r13d, 0x3f
nop
mov eax, dword [0x141dcf838]
and eax, dword [0x141dcf83c]
xor eax, 0x9073faf7
imul eax, eax, 0x5e8fc44c
cmp eax, 0x893fcb9c
jb 0x140091ad0
mov eax, dword [0x141dcf840]
xor edx, edx
div dword [0x141dcf844]
nop dword [rax]
mov eax, dword [0x141dcf848]
or eax, dword [0x141dcf84c]
add eax, 0x1b4a043a
or eax, 0xc1067c3
cmp eax, 0x2e2f4206
je 0x140091b00
test r8b, r8b
je 0x140091d2b
nop word cs:[rax + rax]
mov eax, dword [0x141dcf850]
xor edx, edx
div dword [0x141dcf854]
cmp eax, 0x26f5e686
je 0x140091b30
cmp r14, 3
jb 0x140091b53
add r14, 0xfffffffffffffffd
mov qword [rsi + 0x10], r14
lea r15, [rdi + 1]
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
cmp r15, rcx
jbe 0x140091bfa
mov eax, dword [0x141dcf8c0]
imul eax, dword [0x141dcf8c4]
imul eax, eax, 0xb4004e2d
and eax, 0xf72fb0b5
add eax, 0x7067680d
cmp eax, 0x3f4a78ae
jb 0x140092159
mov eax, dword [0x141dcf8c8]
sub eax, dword [0x141dcf8cc]
imul ebx, eax, 0xedda81fa
add ebx, 0xcdbd55c
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400fe010
cmp ebx, 0xbe481847
ja 0x140091b91
mov r14, qword [rsi + 0x10]
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
nop dword [rax + rax]
mov edx, dword [0x141dcf8d0]
sub edx, dword [0x141dcf8d4]
and edx, 0x61087ee3
cmp edx, 0x3fb0b9fb
je 0x140091be0
add qword [rsp + 0x30], 3
add r12d, 0xfc00
and r12d, 0xffc0
or r12d, ebp
or r13d, r12d
lea r15d, [r13 + 0x10000]
mov ebp, r15d
shr ebp, 0x12
and ebp, 7
nop word cs:[rax + rax]
mov edx, dword [0x141dcf8a8]
sub edx, dword [0x141dcf8ac]
or edx, 0x6a28fd1
add edx, 0x957eda4a
xor edx, 0x40558083
cmp edx, 0x518b804a
jb 0x140091c30
cmp rcx, 3
jbe 0x140092127
mov rcx, qword [rsi + 8]
and r13d, 0x3f
shl r13d, 0x18
shl r12d, 0xa
and r12d, 0x3f0000
or r12d, r13d
shr r15d, 4
and r15d, 0x3f00
or r15d, r12d
lea edx, [r15 + rbp]
add edx, 0x808080f0
mov dword [rcx + r14], edx
add r14, 4
mov qword [rsi + 0x10], r14
add rdi, 0xfffffffffffffffd
sub rax, r14
cmp rax, rdi
jae 0x140092075
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fe010
mov eax, dword [0x141dcf8b0]
sub eax, dword [0x141dcf8b4]
or eax, 0xd44c3af3
add eax, 0xecc6ebe
and eax, 0xc2f0a230
cmp eax, 0xc0283186
ja 0x140091ccb
mov rcx, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
mov r8d, 0x9c00b52d
mov eax, dword [0x141dcf8b8]
xor edx, edx
div dword [0x141dcf8bc]
add eax, 0x2957756f
imul rax, r8
shr rax, 0x3e
cmp eax, 0x5155811
je 0x140091cfb
jmp 0x140092075
test rdi, rdi
je 0x140092006
mov r13, qword [rsp + 0x30]
lea r8, [rdi + r13]
mov r10d, 0x9a7f8f1b
mov r11d, 0x80eb0521
mov r15d, 0xb7ece96d
mov r12d, 0xd14520b9
jmp 0x140091d5c
mov r13, rbp
cmp r13, r8
je 0x140092006
lea rbp, [r13 + 1]
movzx r9d, byte [r13]
test r9b, r9b
jns 0x140091d50
nop word [rax + rax]
mov eax, dword [0x141dcf858]
xor edx, edx
div dword [0x141dcf85c]
mov rdx, rax
imul rdx, r10
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
add eax, 0x91c0491d
or eax, 0x42d00cae
cmp eax, 0x9affd81e
jb 0x140091d70
cmp r9b, 0xe0
jae 0x140091de0
nop dword [rax]
mov eax, dword [0x141dcf868]
sub eax, dword [0x141dcf86c]
or eax, 0xabfcff9b
add eax, 0x14b2b3e4
cmp eax, 0xe402f46c
ja 0x140091db0
add r13, 2
cmp rbp, r8
cmove r13, rbp
jmp 0x140091d53
mov eax, dword [0x141dcf860]
or eax, dword [0x141dcf864]
imul rax, rax, 0x59f4b605
shr rax, 0x3d
add eax, 0xd3da20cf
shr eax, 1
imul rax, r11
shr rax, 0x3d
cmp eax, 0xf6c91f29
ja 0x140091de0
cmp r9b, 0xed
jne 0x140091f0c
nop word [rax + rax]
mov eax, dword [0x141dcf870]
sub eax, dword [0x141dcf874]
and eax, 0xbe93727f
add eax, 0xf6cf9f6b
imul rdx, rax, 0x23a78b93
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x227d8e56
ja 0x140091e20
lea r9, [r13 + 2]
mov eax, dword [0x141dcf878]
xor edx, edx
div dword [0x141dcf87c]
nop word cs:[rax + rax]
cmp r9, r8
sete al
cmp rbp, r8
sete dl
mov ebx, dword [0x141dcf880]
imul ebx, dword [0x141dcf884]
or ebx, 0xfffbff3e
xor ebx, 0x87d1d668
cmp ebx, 0x3e0f5e0e
jb 0x140091e70
or dl, al
jne 0x140092006
mov eax, dword [0x141dcf888]
xor eax, dword [0x141dcf88c]
add eax, 0xb8190d58
and eax, 0xe3155599
imul rax, rax, 0x747172ed
shr rax, 0x3d
cmp eax, 0xcccc9099
je 0x140091ea5
add r13, 3
mov eax, dword [0x141dcf890]
xor edx, edx
div dword [0x141dcf894]
nop
mov eax, dword [0x141dcf898]
xor eax, dword [0x141dcf89c]
imul rax, r15
shr rax, 0x3f
or eax, 0xcb470c80
cmp eax, 0xad12b914
jb 0x140091ee0
cmp byte [rbp], 0x9f
jbe 0x140091d53
jmp 0x140091f80
add r13, 2
cmp rbp, r8
mov rax, r13
cmove rax, rbp
xor r13d, r13d
cmp rax, r8
setne r13b
add r13, rax
cmp r9b, 0xf0
jb 0x140091d53
xor eax, eax
cmp r13, r8
setne dl
xor r9d, r9d
test r9b, r9b
jne 0x140091f31
mov al, dl
nop word cs:[rax + rax]
mov edx, dword [0x141dcf8a0]
or edx, dword [0x141dcf8a4]
imul rdx, r12
shr rdx, 0x3e
xor edx, 0x9accb616
add edx, 0xf427b662
cmp edx, 0xbadc7466
ja 0x140091f50
add r13, rax
jmp 0x140091d53
mov eax, dword [0x141dcf8d8]
xor edx, edx
div dword [0x141dcf8dc]
nop
mov eax, dword [0x141dcf8e0]
and eax, dword [0x141dcf8e4]
imul eax, eax, 0xc6a4d283
and eax, 0x2110aaca
cmp eax, 0x6b8464b8
ja 0x140091f90
mov eax, dword [0x141dcf8e8]
add eax, dword [0x141dcf8ec]
imul eax, eax, 0x6982708c
add eax, 0x8de5add0
shr eax, 2
imul rax, rax, 0x20535f2d
shr rax, 0x39
cmp eax, 0x150745ea
jbe 0x140091fe0
mov byte [rsi + 0x18], 0
nop
mov eax, dword [0x141dcf8f0]
sub eax, dword [0x141dcf8f4]
add eax, 0x43a89e02
xor eax, 0x245418a0
or eax, 0x1100a35f
mov byte [rsi + 0x18], 0
cmp eax, 0x41f4b06e
je 0x140091fe0
mov rax, qword [rsi]
sub rax, r14
nop dword [rax]
mov edx, dword [0x141dcf8f8]
and edx, dword [0x141dcf8fc]
or edx, 0x4000281b
and edx, 0xdca829bb
imul edx, edx, 0x271979cb
cmp edx, 0xf8e70728
je 0x140092010
mov edx, 0x97db0595
nop dword [rax + rax]
mov r8d, dword [0x141dcf900]
or r8d, dword [0x141dcf904]
xor r8d, 0x347c1ee6
shr r8d, 1
imul r8, rdx
shr r8, 0x3e
add r8d, 0x879f10d3
cmp r8d, 0x43697563
jb 0x140092040
cmp rax, rdi
jb 0x1400920d4
add rcx, r14
mov rdx, qword [rsp + 0x30]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r14, rdi
xor eax, eax
test al, al
je 0x1400920a0
mov qword [rsi + 0x10], r14
nop word cs:[rax + rax]
mov eax, dword [0x141dcf910]
imul eax, dword [0x141dcf914]
xor eax, 0xb328c616
imul eax, eax, 0x402eeaff
mov qword [rsi + 0x10], r14
cmp eax, 0xa13c0ea2
je 0x1400920a0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fe010
mov r14, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf908]
sub eax, dword [0x141dcf90c]
imul eax, eax, 0x4e10d8db
xor eax, 0xf4f165ca
cmp eax, 0xcb923dc3
jb 0x140092100
mov rcx, qword [rsi + 8]
jmp 0x140092075
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400fe010
xor eax, eax
test al, al
jne 0x140092149
mov rax, qword [rsi]
mov r14, qword [rsi + 0x10]
jmp 0x140091c60
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400fe010
jmp 0x140091b91