Function at 0x140090c30
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, 0x48
mov r10, rdx
mov rdi, rcx
movzx ebp, word [rdx + 0x10]
mov rax, qword [rdx]
mov qword [rsp + 0x30], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x38], rax
nop dword [rax + rax]
mov eax, dword [0x141dcff30]
xor eax, dword [0x141dcff34]
add eax, 0x73c054d2
xor eax, 0x2217838e
add eax, 0x9182b9f1
cmp eax, 0xf7a4a679
ja 0x140090c60
mov r15d, 0x8769e525
mov r11b, 1
mov ebx, 0xd76a3ab3
mov qword [rsp + 0x40], r10
test bp, bp
je 0x140090cf0
nop word [rax + rax]
mov word [r10 + 0x10], 0
nop word [rax + rax]
mov eax, dword [0x141dcff78]
sub eax, dword [0x141dcff7c]
imul eax, eax, 0x1cf386b9
or eax, 0x70085b22
imul rax, rax, 0x5e25e867
shr rax, 0x3e
cmp eax, 0x9ef01e46
jae 0x140090cb0
xor r14d, r14d
jmp 0x140090f20
mov rdx, qword [rsp + 0x30]
cmp rdx, qword [rsp + 0x38]
je 0x140091121
mov eax, dword [0x141dcff38]
or eax, dword [0x141dcff3c]
xor eax, 0xda00004
or eax, 0xf2456af3
and eax, 0xffe5faf7
cmp eax, 0x49dfba2b
je 0x140090d00
lea rcx, [rdx + 1]
mov qword [r10], rcx
movzx ebp, byte [rdx]
test bpl, bpl
js 0x140090d70
nop word cs:[rax + rax]
mov eax, dword [0x141dcff48]
or eax, dword [0x141dcff4c]
or eax, 0x354e4c28
imul rax, r15
shr rax, 0x3d
xor eax, 0x355cf463
cmp eax, 0x74a0d323
ja 0x140090d40
jmp 0x140090f10
mov r8d, ebp
and r8d, 0x1f
lea rcx, [rdx + 2]
mov qword [r10], rcx
movzx eax, byte [rdx + 1]
mov edx, r8d
shl edx, 6
and eax, 0x3f
mov r9d, dword [0x141dcff40]
sub r9d, dword [0x141dcff44]
and r9d, 0x17aff15e
imul r9d, r9d, 0xcc76ed06
add r9d, 0x46e1ee82
cmp r9d, 0xc5231eab
ja 0x140090d8b
cmp bpl, 0xdf
jbe 0x140090e68
mov ecx, dword [0x141dcff50]
add ecx, dword [0x141dcff54]
and ecx, 0x6c134260
add ecx, 0x16a2d144
cmp ecx, 0xc14366ae
ja 0x140090dc1
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx + 3]
mov qword [r10], rcx
movzx r9d, byte [rdx + 2]
shl eax, 6
and r9d, 0x3f
or r9d, eax
mov eax, r8d
shl eax, 0xc
mov edx, dword [0x141dcff58]
sub edx, dword [0x141dcff5c]
add edx, 0xf2955c98
xor edx, 0x4c30581e
mov esi, 0x97706c0d
imul rdx, rsi
shr rdx, 0x3f
cmp edx, 0x869fb2f7
je 0x140090e02
cmp bpl, 0xf0
jb 0x140090e71
mov eax, dword [0x141dcff60]
xor edx, edx
div dword [0x141dcff64]
imul eax, eax, 0x9440fed5
or eax, 0x34286
and eax, 0x1227c2e7
cmp eax, 0x3f60cff7
mov rsi, qword [rsp + 0x30]
jne 0x1400910a4
jmp 0x140091118
or edx, eax
mov ebp, edx
jmp 0x140090f10
or r9d, eax
mov ebp, r9d
nop word [rax + rax]
mov eax, dword [0x141dcff80]
xor edx, edx
div dword [0x141dcff84]
add eax, 0xd8ce9664
imul rax, rbx
shr rax, 0x3f
add eax, 0xb25c70b7
cmp eax, 0xc80801bc
ja 0x140090e80
cmp ebp, 0xffff
jbe 0x140090f10
lea eax, [rbp + 0xff0000]
shr eax, 0xa
mov edx, dword [0x141dcff88]
xor edx, dword [0x141dcff8c]
or edx, 0xdcd43c91
imul rdx, rdx, 0x387d2dc9
shr rdx, 0x3c
add edx, 0x86b1359d
cmp edx, 0xb9d2991a
ja 0x140090eb8
movzx eax, ax
or eax, 0xd800
and ebp, 0x3ff
or ebp, 0xdc00
mov word [r10 + 0x10], bp
mov qword [rsp + 0x30], rcx
mov r14d, ebp
mov ebp, eax
jmp 0x140090f20
xor r14d, r14d
test r11b, r11b
je 0x140090f10
mov qword [rsp + 0x30], rcx
nop dword [rax]
mov eax, dword [0x141dcff90]
mov ecx, dword [0x141dcff94]
add eax, ecx
add eax, 0xf03ceed
cmp eax, 0x452e45b5
jb 0x140090f20
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
jne 0x140091016
nop word [rax + rax]
mov eax, dword [0x141dcffa0]
xor edx, edx
div dword [0x141dcffa4]
add eax, 0x9267e268
and eax, 0xe1666c88
add eax, 0xb10033c5
cmp eax, 0xe11f3515
ja 0x140090f50
mov r13, qword [rsp + 0x38]
sub r13, qword [rsp + 0x30]
add r13, 3
mov rax, 0xffffffffffffffff
cmovb r13, rax
shr r13, 2
cmp r14w, 1
mov esi, 2
sbb rsi, 0
mov eax, dword [0x141dcffa8]
sub eax, dword [0x141dcffac]
imul eax, eax, 0x3f4e9dca
add eax, 0x5a7bc63c
or eax, 0x3f8021b4
cmp eax, 0x5d21dc02
je 0x140091081
mov r12d, dword [0x141dcffb0]
sub r12d, dword [0x141dcffb4]
xor r12d, 0xb476b762
add r12d, 0x10234ab1
mov eax, 0xd7af701b
imul r12, rax
shr r12, 0x3f
lea r8, [rsi + r13]
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
call fcn.1400fd630
cmp r12d, 0x44915aad
ja 0x140090fc6
mov rax, qword [rdi + 8]
mov word [rax + rbx*2], bp
inc rbx
mov qword [rdi + 0x10], rbx
nop word cs:[rax + rax]
mov eax, dword [0x141dcff98]
xor edx, edx
div dword [0x141dcff9c]
and eax, 0xfb38d209
imul rcx, rax, 0x443d54f9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x11c9b54e
cmp eax, 0xc3e21cd8
jae 0x140091030
mov ebp, r14d
mov r10, qword [rsp + 0x40]
mov r11b, 1
mov ebx, 0xd76a3ab3
test bp, bp
jne 0x140090ca0
jmp 0x140090cf0
lea r8, [rsi + r13]
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
call fcn.1400fd630
jmp 0x140090fc6
mov eax, dword [0x141dcff68]
xor eax, dword [0x141dcff6c]
xor eax, 0x1a831e
and eax, 0x583ac75e
imul edx, eax, 0x1c64df4d
lea rax, [rsi + 4]
mov qword [r10], rax
cmp edx, 0x7c23cfb0
je 0x140091118
movzx ecx, byte [rcx]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and ecx, 0x3f
mov edx, dword [0x141dcff70]
add edx, dword [0x141dcff74]
mov esi, 0x9fbdba3d
imul rdx, rsi
shr rdx, 0x3f
imul edx, edx, 0x717c5e46
mov ebp, r9d
or ebp, ecx
or ebp, r8d
cmp edx, 0x55e91c21
je 0x1400910e1
mov rcx, rax
jmp 0x140090e80
lea rax, [rsi + 4]
mov qword [r10], rax
jmp 0x1400910a4
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret