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

Disassembly:
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r10, rcx
mov rax, qword [rcx + 0x30]
add rax, r8
mov ecx, dword [0x141dbf448]
imul ecx, dword [0x141dbf44c]
xor ecx, 0xf4aeef2b
imul ecx, ecx, 0xcc9e2d2a
imul rcx, rcx, 0x4bae2bf7
shr rcx, 0x3c
cmp ecx, 0xf9b4003e
ja 0x14001c35c
mov ecx, dword [0x141dbf450]
imul ecx, dword [0x141dbf454]
add ecx, 0x9b38d26f
mov qword [r10 + 0x30], rax
cmp ecx, 0x8918129b
jae 0x14001c362
mov qword [r10 + 0x30], rax
jmp 0x14001c33d
mov r11, qword [r10 + 0x40]
test r11, r11
je 0x14001c3fd
mov eax, 0x83771079
mov esi, 8
sub rsi, r11
nop dword [rax]
mov ecx, dword [0x141dbf458]
and ecx, dword [0x141dbf45c]
imul ecx, ecx, 0x2803e76
add ecx, 0xa68789f2
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7e4c7829
je 0x14001c380
mov ecx, 0xb673717f
nop dword [rax]
mov eax, dword [0x141dbf460]
xor edx, edx
div dword [0x141dbf464]
imul rax, rcx
shr rax, 0x3d
xor eax, 0x7ebbc5e4
add eax, 0x1a2eccf2
cmp rsi, r8
mov rdi, r8
cmovb rdi, rsi
cmp eax, 0x1854f577
jb 0x14001c3b0
cmp rdi, 4
jb 0x14001c404
mov eax, dword [r9]
mov edx, 4
mov rcx, rdx
or rcx, 1
cmp rcx, rdi
jae 0x14001c460
jmp 0x14001c420
xor esi, esi
jmp 0x14001c5b5
xor eax, eax
xor edx, edx
mov rcx, rdx
or rcx, 1
cmp rcx, rdi
jae 0x14001c460
nop word cs:[rax + rax]
mov ecx, dword [0x141dbf468]
mov ebx, dword [0x141dbf46c]
add ecx, ebx
add ecx, 0x66bbbbb7
and ecx, 0xa17726a4
cmp ecx, 0x8149fc89
je 0x14001c420
movzx ebx, word [r9 + rdx]
lea ecx, [rdx*8]
shl rbx, cl
or rax, rbx
or rdx, 2
nop dword [rax + rax]
mov ecx, dword [0x141dbf470]
or ecx, dword [0x141dbf474]
and ecx, 0x11600833
cmp ecx, 0x1e51b0e5
je 0x14001c460
cmp rdx, rdi
jae 0x14001c4c4
lea rcx, [rdx*8]
nop word [rax + rax]
mov edi, dword [0x141dbf478]
sub edi, dword [0x141dbf47c]
imul edi, edi, 0xeede07b5
and edi, 0x46370b8
add edi, 0x443ee3e4
cmp edi, 0xf55a7e0d
ja 0x14001c490
movzx edx, byte [r9 + rdx]
and cl, 0x38
shl rdx, cl
or rax, rdx
lea ecx, [r11*8]
shl rax, cl
or rax, qword [r10 + 0x38]
mov qword [r10 + 0x38], rax
cmp rsi, r8
jbe 0x14001c54e
add r11, r8
nop
mov eax, dword [0x141dbf4a8]
add eax, dword [0x141dbf4ac]
imul eax, eax, 0x73b14ad
or eax, 0xf63d2557
imul rcx, rax, 0x9965925
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0xc4aea972
ja 0x14001c4e0
nop word cs:[rax + rax]
mov eax, dword [0x141dbf4b0]
imul eax, dword [0x141dbf4b4]
add eax, 0x5805a97b
imul rax, rax, 0x4040880f
shr rax, 0x3e
add eax, 0xf92c9845
cmp eax, 0x3a049832
jbe 0x14001c520
jmp 0x14001c8a6
mov rcx, qword [r10 + 0x18]
xor rcx, rax
mov rdx, qword [r10 + 0x10]
mov r11, qword [r10]
add r11, rdx
mov rdi, qword [r10 + 8]
add rdi, rcx
rol rdx, 0xd
rol rcx, 0x10
xor rdx, r11
xor rcx, rdi
rol r11, 0x20
add rdi, rdx
add r11, rcx
rol rdx, 0x11
xor rdx, rdi
mov ebx, dword [0x141dbf4a0]
imul ebx, dword [0x141dbf4a4]
or ebx, 0x5a728739
add ebx, 0x10c39543
or ebx, 0xa3c25fa6
cmp ebx, 0x82634ec7
jne 0x14001c8af
jmp 0x14001c8df
sub r8, rsi
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp rsi, r8
jae 0x14001c734
mov eax, dword [0x141dbf480]
xor edx, edx
div dword [0x141dbf484]
nop word [rax + rax]
mov eax, dword [0x141dbf488]
xor edx, edx
div dword [0x141dbf48c]
imul eax, eax, 0xed22b40b
or eax, 0x51461fc3
imul rax, rax, 0x19a26c13
shr rax, 0x3c
cmp eax, 0xf97dcb2e
je 0x14001c5e0
mov rcx, qword [r10]
nop
mov eax, dword [0x141dbf490]
xor edx, edx
div dword [0x141dbf494]
imul rdx, rax, 0x5e151b55
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0x53c83814
imul rax, rax, 0x215666d1
shr rax, 0x3a
cmp eax, 0xc20a9f11
je 0x14001c610
nop dword [rax]
mov eax, dword [0x141dbf498]
mov edx, dword [0x141dbf49c]
add eax, edx
add eax, 0xe013512
cmp eax, 0xdb53ca76
ja 0x14001c650
mov rax, qword [r10 + 0x18]
mov rdx, qword [r10 + 8]
mov rdi, qword [r10 + 0x10]
nop word cs:[rax + rax]
mov rbx, qword [r9 + rsi]
xor rax, rbx
add rcx, rdi
rol rdi, 0xd
add rdx, rax
xor rdi, rcx
rol rax, 0x10
xor rax, rdx
rol rcx, 0x20
add rdx, rdi
add rcx, rax
rol rdi, 0x11
xor rdi, rdx
rol rax, 0x15
rol rdx, 0x20
xor rax, rcx
xor rcx, rbx
add rsi, 8
cmp rsi, r8
jb 0x14001c680
mov r8d, dword [0x141dbf4b8]
xor r8d, dword [0x141dbf4bc]
xor r8d, 0xdfc0f3c1
add r8d, 0x566a954b
and r8d, 0xb9580c4c
cmp r8d, 0x8c8ad320
ja 0x14001c723
mov r8d, dword [0x141dbf4c0]
and r8d, dword [0x141dbf4c4]
add r8d, 0x663a0015
or r8d, 0x5f75ee1f
mov qword [r10 + 0x18], rax
mov qword [r10 + 0x10], rdi
mov qword [r10 + 8], rdx
mov qword [r10], rcx
cmp r8d, 0xd2ad3d13
jne 0x14001c734
mov qword [r10 + 0x18], rax
mov qword [r10 + 0x10], rdi
mov qword [r10 + 8], rdx
mov qword [r10], rcx
jmp 0x14001c6ef
cmp r11d, 4
jb 0x14001c77a
mov eax, dword [r9 + rsi]
nop
mov ecx, dword [0x141dbf4c8]
or ecx, dword [0x141dbf4cc]
imul ecx, ecx, 0x1efa5302
add ecx, 0xfff44e59
cmp ecx, 0xf4f2907d
ja 0x14001c740
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x14001c78b
mov rdx, r8
jmp 0x14001c800
xor eax, eax
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x14001c772
lea rcx, [r8 + rsi]
movzx edi, word [r9 + rcx]
mov ecx, 0x9d0fda57
nop dword [rax]
mov edx, dword [str._JF]
and edx, dword [0x141dbf4d4]
xor edx, 0xc4542d43
imul rdx, rcx
shr rdx, 0x3f
add edx, 0xbf47b083
cmp edx, 0x4eae83f6
jb 0x14001c7a0
mov rdx, r8
or rdx, 2
nop
mov ebp, dword [0x141dbf4d8]
add ebp, dword [0x141dbf4dc]
or ebp, 0xffffb37f
lea ecx, [r8*8]
mov rbx, rdi
shl rbx, cl
cmp ebp, 0xb4b9715a
je 0x14001c7d0
or rax, rbx
nop dword [rax + rax]
mov ecx, dword [0x141dbf4e0]
xor ecx, dword [0x141dbf4e4]
or ecx, 0xc964c09a
xor ecx, 0xf42d4d09
imul ecx, ecx, 0xb88ab4ec
cmp ecx, 0x65847e52
jb 0x14001c800
cmp rdx, r11
jae 0x14001c872
add rsi, rdx
xor ecx, ecx
test cl, cl
jne 0x14001c830
nop word cs:[rax + rax]
mov edi, dword [0x141dbf4e8]
xor edi, dword [0x141dbf4ec]
add edi, 0xb8a7908a
or edi, 0x4fd772f1
movzx r8d, byte [r9 + rsi]
lea ecx, [rdx*8]
shl r8, cl
cmp edi, 0xfe3fb01d
je 0x14001c840
or rax, r8
xor ecx, ecx
test cl, cl
je 0x14001c880
mov qword [r10 + 0x38], rax
nop dword [rax]
mov ecx, dword [0x141dbf4f0]
mov edx, dword [0x141dbf4f4]
add ecx, edx
add ecx, 0xa7196caa
and ecx, 0xc8f123c9
mov qword [r10 + 0x38], rax
cmp ecx, 0x5893e84a
jae 0x14001c880
mov qword [r10 + 0x40], r11
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rbx, rcx
rol rbx, 0x15
mov qword [r10 + 0x10], rdx
xor rbx, r11
mov qword [r10 + 0x18], rbx
mov rbx, rdi
rol rbx, 0x20
mov qword [r10 + 8], rbx
mov rbx, r11
xor rbx, rax
mov qword [r10], rbx
xor ebx, ebx
test bl, bl
je 0x14001c5b5
mov qword [r10 + 0x10], rdx
mov rbx, rcx
rol rbx, 0x15
xor rbx, r11
mov qword [r10 + 0x18], rbx
mov rbx, rdi
rol rbx, 0x20
mov qword [r10 + 8], rbx
mov rbx, r11
xor rbx, rax
mov qword [r10], rbx
jmp 0x14001c8af