Function at 0x140091d80
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov r15, rdx
mov rsi, rcx
nop dword [rax]
mov eax, dword [0x141dced20]
sub eax, dword [0x141dced24]
add eax, 0x536a226d
and eax, 0x68c01125
xor eax, 0x5f7deb31
cmp eax, 0xf7b0495f
ja 0x140091da0
mov rcx, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
mov r8d, 0x968012c9
mov eax, dword [0x141dced28]
xor edx, edx
div dword [0x141dced2c]
imul eax, eax, 0xecc26b98
imul rax, r8
shr rax, 0x3f
cmp eax, 0xd33b2bc1
ja 0x140091dd0
xor r12d, r12d
mov r8d, 0
cmp r14, 3
jb 0x140091f00
movzx r9d, byte [rcx + r14 - 2]
mov eax, r9d
and al, 0xf0
xor r12d, r12d
cmp al, 0xa0
jne 0x140091f00
nop dword [rax]
mov eax, dword [0x141dced30]
sub eax, dword [0x141dced34]
imul eax, eax, 0x95185368
and eax, 0x3d7cf510
add eax, 0xead2173b
cmp eax, 0xfa342da0
ja 0x140091e20
mov eax, dword [0x141dced38]
xor edx, edx
div dword [0x141dced3c]
nop word cs:[rax + rax]
mov eax, dword [0x141dced40]
add eax, dword [0x141dced44]
and eax, 0x20924095
imul eax, eax, 0x94f08b13
cmp eax, 0x72af14d8
je 0x140091e60
nop
mov eax, dword [0x141dced48]
xor edx, edx
div dword [0x141dced4c]
and eax, 0xddefb15f
add eax, 0xcb89fcc6
cmp eax, 0xe330b244
ja 0x140091e80
xor r12d, r12d
cmp byte [rcx + r14 - 3], 0xed
mov r8d, 0
jne 0x140091f00
and r9d, 0x1f
shl r9d, 0x10
nop dword [rax + rax]
mov eax, dword [0x141dced50]
xor eax, dword [0x141dced54]
or eax, 0xe7efeda7
imul eax, eax, 0x586df253
cmp eax, 0xc9219ba3
ja 0x140091ec0
movzx r12d, byte [rcx + r14 - 1]
and r12d, 0x3f
shl r12d, 0xa
or r12d, r9d
mov r8b, 1
nop word cs:[rax + rax]
mov eax, dword [0x141dced58]
add eax, dword [0x141dced5c]
or eax, 0x66835cf0
imul eax, eax, 0xf6a4eedd
cmp eax, 0xf35d3179
je 0x140091f00
cmp rdi, 3
jb 0x1400920a0
nop dword [rax + rax]
mov eax, dword [0x141dced60]
or eax, dword [0x141dced64]
imul eax, eax, 0x24f4ad84
add eax, 0x1d9f8598
cmp eax, 0xab5dbf28
ja 0x140091f30
movzx eax, byte [r15]
nop word cs:[rax + rax]
mov edx, dword [0x141dced68]
add edx, dword [0x141dced6c]
and edx, 0x7e4474e0
add edx, 0x1e8feae9
cmp edx, 0x5183a9a9
jb 0x140091f60
cmp al, 0xed
jne 0x1400920c6
nop dword [rax + rax]
mov eax, dword [0x141dced70]
or eax, dword [0x141dced74]
xor eax, 0xf31bcdc1
add eax, 0x1b44ded9
cmp eax, 0xaee0086c
ja 0x140091f90
xor eax, eax
nop
test al, al
jne 0x140091fb0
movzx ebp, byte [r15 + 1]
mov r9d, ebp
and r9b, 0xf0
mov eax, dword [0x141dced78]
xor edx, edx
div dword [0x141dced7c]
cmp eax, 0xd22ea40
je 0x140091fc0
cmp r9b, 0xb0
jne 0x1400920c6
and ebp, 0x1f
nop word cs:[rax + rax]
mov eax, dword [0x141dced80]
and eax, dword [0x141dced84]
imul rax, rax, 0x58507673
shr rax, 0x3c
and eax, 2
cmp eax, 0x6b9e0166
je 0x140091ff0
movzx r13d, byte [r15 + 2]
shl ebp, 6
and r13d, 0x3f
xor eax, eax
nop
test al, al
jne 0x140092020
test r8b, r8b
je 0x1400920c6
cmp r14, 3
jb 0x14009243b
add r14, 0xfffffffffffffffd
nop dword [rax + rax]
mov eax, dword [0x141dced88]
imul eax, dword [0x141dced8c]
add eax, 0xabc2eccd
xor eax, 0xa8145b70
or eax, 0x57c32485
cmp eax, 0x79bfc0f8
jb 0x140092040
mov eax, dword [0x141dced90]
xor edx, edx
div dword [0x141dced94]
imul eax, eax, 0x9793a2e
xor eax, 0x64c0200
and eax, 0x1e5ff788
cmp eax, 0x6921a3df
jne 0x14009240d
jmp 0x140092435
mov eax, dword [0x141dceda8]
and eax, dword [0x141dcedac]
or eax, 0x808000
and eax, 0xa8848003
cmp eax, 0x8f514b75
ja 0x1400920a0
test rdi, rdi
je 0x140092360
lea rax, [r15 + rdi]
nop word [rax + rax]
mov edx, dword [0x141dcedb0]
imul edx, dword [0x141dcedb4]
imul edx, edx, 0x2d5f2d50
add edx, 0x76fa57c2
cmp edx, 0x4e0aac7c
jb 0x1400920d0
mov edx, 0xb54b4083
xor r8d, r8d
mov r9, r15
nop dword [rax]
lea r10, [r9 + 1]
movzx r11d, byte [r9]
test r11b, r11b
js 0x140092120
mov r9, r10
jmp 0x140092320
cmp r11b, 0xe0
jae 0x1400921a0
add r9, 2
nop word [rax + rax]
mov r11d, dword [0x141dcedc0]
xor r11d, dword [0x141dcedc4]
imul ebx, r11d, 0xcae7a489
imul rbx, rdx
shr rbx, 0x3e
or ebx, 0x91412d48
cmp r10, rax
mov r11, r9
cmove r11, r10
cmp ebx, 0x52cdf903
jb 0x140092130
nop word cs:[rax + rax]
mov r9d, dword [0x141dcedc8]
add r9d, dword [0x141dcedcc]
imul r9d, r9d, 0x540be91f
cmp r9d, 0x7585efce
je 0x140092170
mov r9, r11
jmp 0x140092320
mov ebx, dword [0x141dcedb8]
sub ebx, dword [0x141dcedbc]
add ebx, 0xbf81cb0d
xor ebx, 0xa5322623
imul ebx, ebx, 0xe08d71a8
cmp ebx, 0x2f97077
jb 0x1400921a0
cmp r11b, 0xed
jne 0x140092270
lea r11, [r9 + 2]
cmp r11, rax
sete r11b
cmp r10, rax
sete r10b
or r10b, r11b
nop word cs:[rax + rax]
mov r11d, dword [0x141dcedd0]
and r11d, dword [0x141dcedd4]
add r11d, 0xf23cf973
or r11d, 0xcd70b509
and r11d, 0xef72b7bb
cmp r11d, 0xaa6b85c1
jb 0x1400921f0
test r10b, r10b
jne 0x140092360
nop word cs:[rax + rax]
mov r10d, dword [0x141dcedf0]
and r10d, dword [0x141dcedf4]
add r10d, 0x3f51b6a1
or r10d, 0x3aeac7e2
and r10d, 0x7ffbf7e2
cmp r10d, 0x6c7bc11d
jb 0x140092230
cmp byte [r9 + 1], 0x9f
ja 0x1400923d6
add r9, 3
jmp 0x140092320
mov ebp, dword [0x141dcedd8]
or ebp, dword [0x141dceddc]
add ebp, 0x7215e455
and ebp, 0x62fd58fc
lea rbx, [r9 + 2]
cmp r10, rax
cmove rbx, r10
cmp ebp, 0xbbb3216a
ja 0x140092270
mov r9d, dword [0x141dcede0]
or r9d, dword [0x141dcede4]
imul r9d, r9d, 0xcda3bcb2
or r9d, 0x9ab7ae98
and r9d, 0xdeffefdc
cmp r9d, 0x97560c2e
je 0x14009229b
xor r9d, r9d
cmp rbx, rax
setne r10b
mov ebp, dword [0x141dcede8]
xor ebp, dword [0x141dcedec]
cmp ebp, 0x5c075ac8
je 0x1400922c7
mov r9b, r10b
add rbx, r9
cmp r11b, 0xf0
jb 0x140092315
nop word cs:[rax + rax]
xor r9d, r9d
cmp rbx, rax
setne r10b
test r8b, r8b
jne 0x140092300
mov r9b, r10b
add rbx, r9
mov r9, rbx
nop dword [rax + rax]
mov r10d, dword [0x141dcedf8]
imul r10d, dword [0x141dcedfc]
or r10d, 0xb6dd6c92
imul r11, r10, 0x503476e1
shr r11, 0x20
sub r10d, r11d
shr r10d, 1
add r10d, r11d
shr r10d, 0x1c
cmp r10d, 0xc5ec33ef
je 0x140092320
cmp r9, rax
jne 0x140092100
mov eax, dword [0x141dcee40]
xor edx, edx
div dword [0x141dcee44]
nop
mov eax, dword [0x141dcee48]
xor edx, edx
div dword [0x141dcee4c]
add eax, 0x20fa03f1
xor eax, 0x77177acc
add eax, 0xdab056c
cmp eax, 0x4a7bc7bd
jb 0x140092370
nop word cs:[rax + rax]
mov eax, dword [0x141dcee50]
or eax, dword [0x141dcee54]
add eax, 0xa4c718d7
cmp eax, 0x715b1a0f
jb 0x1400923a0
mov rax, qword [rsi]
sub rax, r14
cmp rax, rdi
jae 0x1400927a2
xor eax, eax
test al, al
je 0x1400926f5
jmp 0x14009273e
mov byte [rsi + 0x18], 0
nop word [rax + rax]
mov eax, dword [0x141dcee38]
xor eax, dword [0x141dcee3c]
or eax, 0xba6353d6
imul rax, rax, 0x2b96fdf7
shr rax, 0x3d
or eax, 0x7d758022
cmp eax, 0x384047d6
jb 0x1400923e0
jmp 0x140092360
mov eax, dword [0x141dced98]
mov ecx, dword [0x141dced9c]
add eax, ecx
add eax, 0x471dd9f9
and eax, 0x13a46066
add eax, 0x1be8c56a
mov qword [rsi + 0x10], r14
cmp eax, 0x5e21860f
jbe 0x14009243b
mov qword [rsi + 0x10], r14
jmp 0x14009240d
add r15, 3
mov qword [rsp + 0x30], r15
lea r15, [rdi + 1]
nop dword [rax + rax]
mov eax, dword [0x141dceda0]
sub eax, dword [0x141dceda4]
imul eax, eax, 0xe9aae0f0
add eax, 0x863d953d
xor eax, 0xf2750dbc
cmp eax, 0x8aa634bd
jb 0x140092450
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
cmp r15, rcx
jbe 0x1400924a7
mov eax, dword [0x141dcee20]
xor eax, dword [0x141dcee24]
add eax, 0x82cac1b2
or eax, 0xffefaf7d
cmp eax, 0x34cd93a8
jae 0x140092657
jmp 0x14009269a
add ebp, 0xfc00
and ebp, 0xffc0
or ebp, r12d
or r13d, ebp
lea r12d, [r13 + 0x10000]
mov ebx, r12d
shr ebx, 0x12
cmp rcx, 3
jbe 0x1400924f4
mov ecx, dword [0x141dcee08]
or ecx, dword [0x141dcee0c]
and ebx, 7
and ecx, 0xab379898
add ecx, 0x6548a8de
cmp ecx, 0x359622b2
jae 0x140092537
jmp 0x14009259d
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400fce40
mov rax, qword [rsi]
mov r14, qword [rsi + 0x10]
mov ecx, dword [0x141dcee00]
sub ecx, dword [0x141dcee04]
imul ecx, ecx, 0xefa675d1
cmp ecx, 0x81faba90
je 0x14009251b
jmp 0x1400924cc
mov ecx, dword [0x141dcee10]
sub ecx, dword [0x141dcee14]
imul edx, ecx, 0x51648d1f
or edx, 0x956bb201
mov ecx, r13d
and ecx, 0x3f
shl ecx, 0x18
mov r8d, ebp
shl r8d, 0xa
and r8d, 0x3f0000
or r8d, ecx
mov r9d, r12d
shr r9d, 4
and r9d, 0x3f00
or r9d, r8d
mov rcx, qword [rsi + 8]
lea r8d, [rbx + r9]
add r8d, 0x808080f0
mov dword [rcx + r14], r8d
lea r15, [r14 + 4]
mov qword [rsi + 0x10], r15
cmp edx, 0x4239f579
jne 0x1400925e3
mov rcx, qword [rsi + 8]
mov edx, r13d
and edx, 0x3f
shl edx, 0x18
mov r8d, ebp
shl r8d, 0xa
and r8d, 0x3f0000
or r8d, edx
mov edx, r12d
shr edx, 4
and edx, 0x3f00
or edx, r8d
add edx, ebx
add edx, 0x808080f0
mov dword [rcx + r14], edx
lea rcx, [r14 + 4]
mov qword [rsi + 0x10], rcx
jmp 0x140092537
add rdi, 0xfffffffffffffffd
sub rax, r15
cmp rax, rdi
jb 0x140092607
add rcx, r15
mov rdx, qword [rsp + 0x30]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r15, rdi
jmp 0x1400927b6
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r15
mov r8, rdi
call fcn.1400fce40
mov eax, dword [0x141dcee18]
imul eax, dword [0x141dcee1c]
add eax, 0x257cbb1c
imul rax, rax, 0xaf36dcf
shr rax, 0x3a
or eax, 0xb7636d6c
cmp eax, 0xbb5f87f3
ja 0x140092624
mov rcx, qword [rsi + 8]
mov r15, qword [rsi + 0x10]
jmp 0x1400925ef
mov ebx, dword [0x141dcee28]
xor ebx, dword [0x141dcee2c]
add ebx, 0x484f815b
and ebx, 0x81e5986b
add ebx, 0xcf1e4663
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400fce40
cmp ebx, 0x2ab69ba5
jae 0x1400926b9
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400fce40
jmp 0x140092657
mov r14, qword [rsi + 0x10]
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
nop word cs:[rax + rax]
mov edx, dword [0x141dcee30]
sub edx, dword [0x141dcee34]
or edx, 0xcb971cba
and edx, 0xcb971cbb
cmp edx, 0x76100a08
jb 0x1400926d0
jmp 0x1400924a7
mov eax, dword [0x141dcee58]
imul eax, dword [0x141dcee5c]
imul rbx, rax, 0x1754a415
shr rbx, 0x3b
or ebx, 0x8112880
and ebx, 0x8112881
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fce40
cmp ebx, 0x1531654e
jne 0x14009275d
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400fce40
jmp 0x1400926f5
mov r14, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dcee60]
or eax, dword [0x141dcee64]
imul rax, rax, 0x1569dff7
shr rax, 0x3c
or eax, 0xda95d904
imul rax, rax, 0x5497f94f
shr rax, 0x3e
cmp eax, 0x1e3430c7
je 0x140092770
mov rcx, qword [rsi + 8]
add rcx, r14
mov rdx, r15
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r14, rdi
mov r15, r14
mov qword [rsi + 0x10], r15
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret