Function at 0x140094760
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 rbx, rdx
mov rsi, rcx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140094780
mov r15, qword [rsi + 8]
mov eax, dword [0x141dd2fc0]
xor ecx, ecx
xor edx, edx
div dword [0x141dd2fc4]
nop dword [rax + rax]
test cl, cl
jne 0x1400947a0
mov r14, qword [rsi + 0x10]
xor ebp, ebp
mov ecx, 0
cmp r14, 3
jb 0x1400948a7
mov eax, dword [0x141dd2fc8]
xor edx, edx
div dword [0x141dd2fcc]
nop word [rax + rax]
mov eax, dword [0x141dd2fd0]
xor eax, dword [0x141dd2fd4]
or eax, 0xd5cf4fa3
add eax, 0x5552eeb7
cmp eax, 0x8114f373
ja 0x1400947d0
movzx eax, byte [r15 + r14 - 2]
mov edx, eax
and dl, 0xf0
xor ebp, ebp
mov ecx, 0
cmp dl, 0xa0
jne 0x1400948a7
nop dword [rax + rax]
mov ecx, dword [str.SS_DU]
sub ecx, dword [0x141dd2fdc]
or ecx, 0x4c8e7024
and ecx, 0x4cde702e
cmp ecx, 0x628b9336
je 0x140094810
movzx edx, byte [r14 + r15 - 3]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd2fe0]
sub ecx, dword [0x141dd2fe4]
and ecx, 0x8010004
add ecx, 0xff72bbb4
cmp ecx, 0xad7cf685
ja 0x140094840
xor ebp, ebp
mov ecx, 0
cmp dl, 0xed
jne 0x1400948a7
movzx ebp, byte [r14 + r15 - 1]
and eax, 0x1f
and ebp, 0x3f
shl eax, 0x10
nop dword [rax + rax]
mov ecx, dword [0x141dd2fe8]
add ecx, dword [0x141dd2fec]
or ecx, 0x97bf21fe
imul ecx, ecx, 0x11b834a7
cmp ecx, 0xfd2e98e3
je 0x140094880
shl ebp, 0xa
or ebp, eax
mov cl, 1
cmp rdi, 3
jb 0x140094ad0
nop word cs:[rax + rax]
mov eax, dword [0x141dd2ff0]
imul eax, dword [0x141dd2ff4]
and eax, 0x441d73a0
imul eax, eax, 0x7a7ff6b2
add eax, 0xfa65ee01
cmp eax, 0x735f6547
jb 0x1400948c0
movzx eax, byte [rbx]
mov edx, 0x9d9d7d81
nop dword [rax]
mov r8d, dword [0x141dd2ff8]
or r8d, dword [0x141dd2ffc]
add r8d, 0x71cdefc4
imul r8, rdx
shr r8, 0x3d
xor r8d, 0xe868bb73
cmp r8d, 0xbf39d466
jb 0x1400948f0
xor edx, edx
nop
test dl, dl
jne 0x140094920
cmp al, 0xed
jne 0x140094af6
mov eax, dword [0x141dd3000]
xor r8d, r8d
xor edx, edx
div dword [0x141dd3004]
nop dword [rax]
test r8b, r8b
jne 0x140094940
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140094950
movzx r12d, byte [rbx + 1]
mov eax, r12d
and al, 0xf0
nop
mov edx, dword [0x141dd3008]
add edx, dword [0x141dd300c]
imul edx, edx, 0xc1528f3d
and edx, 0x5530fcd2
imul rdx, rdx, 0x3e9288b7
shr rdx, 0x3b
cmp edx, 0x142d2f47
ja 0x140094960
cmp al, 0xb0
jne 0x140094af6
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400949a0
nop word cs:[rax + rax]
mov eax, dword [0x141dd3010]
and eax, dword [0x141dd3014]
add eax, 0xb15f9230
and eax, 0xa4fa202
add eax, 0x62a45bf1
cmp eax, 0xa824dec
jb 0x1400949b0
movzx r13d, byte [rbx + 2]
and r12d, 0x1f
shl r12d, 6
and r13d, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x141dd3018]
add eax, dword [0x141dd301c]
imul eax, eax, 0x2b18cb59
add eax, 0x22ab4026
cmp eax, 0x1bb38ed
jb 0x1400949f0
test cl, cl
je 0x140094af6
cmp r14, 3
jb 0x140094a53
add r14, 0xfffffffffffffffd
mov qword [rsi + 0x10], r14
nop word cs:[rax + rax]
mov eax, dword [0x141dd3020]
xor eax, dword [0x141dd3024]
or eax, 0xcc6bbe1
imul eax, eax, 0xa466d872
add eax, 0xaf5ef30c
cmp eax, 0x356312ac
jb 0x140094a30
add rbx, 3
lea r15, [rdi + 1]
nop dword [rax + rax]
mov eax, dword [0x141dd3028]
sub eax, dword [0x141dd302c]
or eax, 0xefdcffff
xor eax, 0xdc098ecb
cmp eax, 0x58fa3938
ja 0x140094a60
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
cmp r15, rcx
jbe 0x140094dd7
mov qword [rsp + 0x30], r13
mov eax, dword [0x141dd30c0]
sub eax, dword [0x141dd30c4]
imul eax, eax, 0x92f01c0d
imul rcx, rax, 0x2383365
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0xdbf9ccc
cmp eax, 0x969725ec
jbe 0x1400951a9
jmp 0x1400951ee
mov eax, dword [0x141dd3030]
and eax, dword [0x141dd3034]
add eax, 0xd9993c0e
or eax, 0x416e0fd6
cmp eax, 0x897d2c70
je 0x140094ad0
test rdi, rdi
je 0x140094d20
lea rax, [rbx + rdi]
nop word [rax + rax]
mov ecx, dword [0x141dd3038]
sub ecx, dword [0x141dd303c]
or ecx, 0x7f7ff3f7
cmp ecx, 0x28c56f6b
jb 0x140094b00
xor ecx, ecx
mov rdx, rbx
nop
test cl, cl
jne 0x140094b20
lea r8, [rdx + 1]
movzx r9d, byte [rdx]
test r9b, r9b
js 0x140094b40
mov rdx, r8
jmp 0x140094ce0
mov r10d, dword [0x141dd3040]
imul r10d, dword [0x141dd3044]
or r10d, 0x834ea370
add r10d, 0x54264f36
xor r10d, 0x62f78ca5
cmp r10d, 0x6ffc7d6b
ja 0x140094b40
cmp r9b, 0xe0
jae 0x140094baa
add rdx, 2
cmp r8, rax
cmove rdx, r8
nop
mov r8d, dword [0x141dd3048]
sub r8d, dword [0x141dd304c]
add r8d, 0x9a29295
and r8d, 0x14a10015
cmp r8d, 0x6d782e61
jae 0x140094b80
jmp 0x140094ce0
cmp r9b, 0xed
jne 0x140094c23
cmp r8, rax
je 0x140094d20
lea r9, [rdx + 2]
cmp r9, rax
je 0x140094d20
nop word cs:[rax + rax]
mov r9d, dword [0x141dd3058]
xor r9d, dword [0x141dd305c]
add r9d, 0x34fdac8f
imul r9, r9, 0x404bed51
shr r9, 0x3d
cmp r9d, 0x66833637
ja 0x140094bd0
add rdx, 3
movzx r8d, byte [r8]
nop word cs:[rax + rax]
test cl, cl
jne 0x140094c10
cmp r8b, 0x9f
jbe 0x140094ce0
jmp 0x140094db0
add rdx, 2
cmp r8, rax
cmove rdx, r8
xor r8d, r8d
cmp rdx, rax
setne r10b
mov r11d, dword [0x141dd3050]
sub r11d, dword [0x141dd3054]
add r11d, 0xa3977e11
xor r11d, 0xe1e66d49
cmp r11d, 0xd0f197d6
jb 0x140094c2e
mov r8b, r10b
add rdx, r8
cmp r9b, 0xf0
jb 0x140094ce0
nop dword [rax]
mov r10d, dword [0x141dd3060]
add r10d, dword [0x141dd3064]
or r10d, 0x933b4e0
add r10d, 0x187b71a7
xor r8d, r8d
cmp rdx, rax
setne r9b
cmp r10d, 0x24c73ad2
ja 0x140094c70
mov r8b, r9b
add rdx, r8
nop word cs:[rax + rax]
mov r8d, dword [0x141dd3068]
sub r8d, dword [0x141dd306c]
and r8d, 0x31e6066
imul r8d, r8d, 0xbfebee17
or r8d, 0xee8bc159
cmp r8d, 0x5854a6c0
jb 0x140094cb0
nop dword [rax]
mov r8d, dword [0x141dd3070]
sub r8d, dword [0x141dd3074]
xor r8d, 0x192608a
add r8d, 0xc87b2ff6
or r8d, 0xeeab0a3e
cmp r8d, 0x6cfdceac
jb 0x140094ce0
cmp rdx, rax
jne 0x140094b20
nop word cs:[rax + rax]
mov eax, dword [0x141dd30e8]
xor eax, dword [0x141dd30ec]
add eax, 0x8fb3e82e
xor eax, 0x80d1a040
or eax, 0x460e4db9
cmp eax, 0x9169dfe2
ja 0x140094d20
mov rax, qword [rsi]
mov ecx, 0x84639621
sub rax, r14
nop dword [rax]
mov edx, dword [0x141dd30f0]
imul edx, dword [0x141dd30f4]
imul edx, edx, 0x6b5ee79c
add edx, 0xa56da058
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xf5f341bf
ja 0x140094d50
cmp rax, rdi
jae 0x140095138
mov eax, dword [0x141dd30f8]
sub eax, dword [0x141dd30fc]
add eax, 0x18297674
and eax, 0x4a8721cf
add eax, 0xa2e5046f
cmp eax, 0x9b17627f
jae 0x14009509d
jmp 0x1400950d4
mov eax, dword [0x141dd30e0]
sub eax, dword [0x141dd30e4]
or eax, 0xd8f8bfbb
imul eax, eax, 0xd1317754
cmp eax, 0x6bb3499
je 0x140094db0
mov byte [rsi + 0x18], 0
jmp 0x140094d20
add r12d, 0xfc00
and r12d, 0xffc0
or r12d, ebp
or r13d, r12d
lea r15d, [r13 + 0x10000]
mov edx, r15d
shr edx, 0x12
and edx, 7
cmp rcx, 3
ja 0x140094ed0
mov qword [rsp + 0x30], rdx
mov eax, dword [0x141dd3078]
sub eax, dword [0x141dd307c]
imul rax, rax, 0x4e7029e3
shr rax, 0x38
imul eax, eax, 0xbba8d528
cmp eax, 0x6d6b4281
ja 0x140094e79
mov eax, dword [0x141dd3080]
xor eax, dword [0x141dd3084]
imul eax, eax, 0x9ddc8200
imul rbp, rax, 0x46023cc5
shr rbp, 0x3b
xor ebp, 0x7c70c2f5
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400f2140
cmp ebp, 0x974890b8
jbe 0x140094e9b
mov qword [rsp + 0x20], 1
mov r8d, 4
mov r9d, 1
mov rcx, rsi
mov rdx, r14
call fcn.1400f2140
jmp 0x140094e2e
mov r14, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3088]
and eax, dword [0x141dd308c]
add eax, 0x50856b47
or eax, 0xaaef8ef3
cmp eax, 0xa50086ea
je 0x140094eb0
mov rax, qword [rsi]
mov rbp, 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 ecx, [rdx + r15]
add ecx, 0x808080f0
mov dword [rbp + r14], ecx
add r14, 4
mov qword [rsi + 0x10], r14
add rdi, 0xfffffffffffffffd
sub rax, r14
cmp rax, rdi
jae 0x14009500c
mov eax, dword [0x141dd3090]
xor eax, dword [0x141dd3094]
imul eax, eax, 0x5ce1b9f1
imul rax, rax, 0x3dfd8871
shr rax, 0x3c
cmp eax, 0x890ea4c1
je 0x140094f86
mov eax, dword [0x141dd3098]
or eax, dword [0x141dd309c]
imul ebp, eax, 0xd37c16e7
or ebp, 0x2d39193c
and ebp, 0x3fbf593f
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400f2140
cmp ebp, 0xc2c3a17b
jbe 0x140094fb0
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400f2140
jmp 0x140094f43
mov eax, dword [0x141dd30a0]
sub eax, dword [0x141dd30a4]
or eax, 0x8ced9248
imul eax, eax, 0x2f145d03
add eax, 0xb96f3e2c
cmp eax, 0x3d1a46cb
jb 0x140094fb0
mov r14, qword [rsi + 0x10]
nop word [rax + rax]
mov eax, dword [0x141dd30a8]
or eax, dword [0x141dd30ac]
add eax, 0x1358855c
or eax, 0xc881d690
imul rax, rax, 0x19bb1eb3
shr rax, 0x3c
cmp eax, 0x9133d025
je 0x140094fe0
mov rbp, qword [rsi + 8]
mov eax, dword [0x141dd30b0]
or eax, dword [0x141dd30b4]
add eax, 0xceb8028f
or eax, 0xcc1f0a47
mov ecx, 0xf0866425
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xc1464859
je 0x140095074
mov eax, dword [0x141dd30b8]
mov ecx, dword [0x141dd30bc]
lea r15d, [rax + rcx]
add r15d, 0xa23942a5
xor r15d, 0x40228322
and r15d, 0x606aa373
lea rcx, [r14 + rbp]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp r15d, 0xab058ab8
jbe 0x140095085
lea rcx, [r14 + rbp]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140095037
add r14, rdi
mov qword [rsi + 0x10], r14
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dd3100]
or eax, dword [0x141dd3104]
imul ebp, eax, 0xa92a1bd2
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400f2140
cmp ebp, 0x8da6f568
jne 0x1400950f3
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1400f2140
jmp 0x14009509d
mov eax, dword [0x141dd3108]
xor edx, edx
div dword [0x141dd310c]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3110]
xor edx, edx
div dword [0x141dd3114]
imul eax, eax, 0xd9ac3ca7
and eax, 0x7de42b8c
cmp eax, 0x448f32ca
ja 0x140095110
mov r15, qword [rsi + 8]
mov r14, qword [rsi + 0x10]
mov eax, dword [0x141dd3118]
imul eax, dword [0x141dd311c]
xor eax, 0x25cbf6a4
add eax, 0x5bdf0aac
or eax, 0x7181ed8
cmp eax, 0x6cc705d0
jae 0x14009516a
lea rcx, [r15 + r14]
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r15, r14
add r14, rdi
mov eax, dword [0x141dd3120]
mov ecx, dword [0x141dd3124]
add eax, ecx
add eax, 0x74b6608b
or eax, 0x56a26eef
imul ebp, eax, 0x3b57f5ca
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp ebp, 0xbb14d9b0
ja 0x140095170
jmp 0x140095088
mov eax, dword [0x141dd30c8]
xor eax, dword [0x141dd30cc]
xor eax, 0xe18d0afe
imul r13d, eax, 0x622a3ab
and r13d, 0x9b1cedcf
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400f2140
cmp r13d, 0xf2f0017f
jne 0x14009520d
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400f2140
jmp 0x1400951a9
mov r14, qword [rsi + 0x10]
mov eax, dword [0x141dd30d0]
xor edx, edx
div dword [0x141dd30d4]
mov r13, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x141dd30d8]
mov ecx, dword [0x141dd30dc]
add eax, ecx
add eax, 0xb018e5a
xor eax, 0xa0276864
add eax, 0xc074142a
cmp eax, 0xb967ae53
jbe 0x140095230
mov rax, qword [rsi]
mov rcx, rax
sub rcx, r14
jmp 0x140094dd7