Function at 0x140038da0
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, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc3ea8]
xor edx, edx
div dword [0x141dc3eac]
and eax, 0xa45bad4e
imul eax, eax, 0x9fb6f946
cmp eax, 0x317dc99d
je 0x140038dc0
mov r15, qword [rdi]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3eb0]
imul eax, dword [0x141dc3eb4]
and eax, 0x13278c37
xor eax, 0x51ec97fd
imul eax, eax, 0xf0dea34a
cmp eax, 0x6384a0a
jb 0x140038df0
mov r12, qword [rdi + 8]
test r12, r12
je 0x140038ea0
mov ecx, r12d
and ecx, 3
mov eax, 0x90bf4483
nop dword [rax]
mov edx, dword [0x141dc3eb8]
add edx, dword [0x141dc3ebc]
xor edx, 0x21c8663d
add edx, 0xa77cff59
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x2bdfb2e6
ja 0x140038e30
nop dword [rax + rax]
mov eax, dword [0x141dc3ec0]
add eax, dword [0x141dc3ec4]
and eax, 0x9d9121a2
xor eax, 0x9b9275e9
add eax, 0x65b2b062
cmp eax, 0xd60405a9
ja 0x140038e60
cmp r12, 4
jae 0x140038ecc
xor r8d, r8d
xor r9d, r9d
jmp 0x140038f5c
mov eax, dword [0x141dc3ee0]
xor eax, dword [0x141dc3ee4]
or eax, 0xa4700fb
imul eax, eax, 0x8cbc3a5
or eax, 0x22578c0c
cmp eax, 0x4fc2d935
je 0x140038ea0
mov r13, qword [rdi + 0x18]
jmp 0x140039041
mov eax, dword [0x141dc3ec8]
xor edx, edx
div dword [0x141dc3ecc]
nop word [rax + rax]
mov eax, dword [0x141dc3ed0]
mov edx, dword [0x141dc3ed4]
add eax, edx
add eax, 0x146f040e
or eax, 0xbe2ffbf7
cmp eax, 0xfa01fb0b
ja 0x140038ee0
nop
mov eax, dword [0x141dc3ed8]
or eax, dword [0x141dc3edc]
and eax, 0xed1c30be
add eax, 0xcb6ccc0
shr eax, 1
imul rax, rax, 0x46659453
shr rax, 0x3c
cmp eax, 0x95205021
je 0x140038f00
lea rax, [r15 + 0x38]
mov rdx, r12
and rdx, 0xfffffffffffffffc
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
add r8, qword [rax - 0x30]
add r8, qword [rax - 0x20]
add r8, qword [rax - 0x10]
add r8, qword [rax]
add r9, 4
add rax, 0x40
cmp rdx, r9
jne 0x140038f40
mov eax, dword [0x141dc3ee8]
xor edx, edx
div dword [0x141dc3eec]
xor eax, eax
nop dword [rax]
test al, al
jne 0x140038f70
test rcx, rcx
je 0x140038fa0
shl r9, 4
lea rax, [r9 + r15]
add rax, 8
shl rcx, 4
xor edx, edx
nop dword [rax + rax]
add r8, qword [rax + rdx]
add rdx, 0x10
cmp rcx, rdx
jne 0x140038f90
nop dword [rax]
mov eax, dword [0x141dc3ef0]
imul eax, dword [0x141dc3ef4]
xor eax, 0x80140040
or eax, 0x5febff3e
cmp eax, 0x57654798
jb 0x140038fa0
mov r13, qword [rdi + 0x18]
test r13, r13
je 0x14003901a
lea r14, [r8 + r8]
nop dword [rax + rax]
mov eax, dword [0x141dc3ef8]
xor edx, edx
div dword [0x141dc3efc]
imul r9d, eax, 0x323bc8
add r9d, 0x87cd2ceb
cmp qword [r15 + 8], 0
sete cl
cmp r8, 0x10
setb dl
test r8, r8
sets al
cmp r9d, 0x1210d11d
jb 0x140038fd0
and dl, cl
or al, dl
xor ecx, ecx
test cl, cl
jne 0x140039010
test al, al
jne 0x140039041
jmp 0x14003901d
mov r14, r8
xor eax, eax
nop
test al, al
jne 0x140039020
test r14, r14
js 0x1400393c0
xor eax, eax
nop
test al, al
jne 0x140039030
test r14, r14
je 0x140039041
xor eax, eax
test al, al
jne 0x140039086
jmp 0x14003904e
mov ebx, 1
xor r14d, r14d
jmp 0x14003911d
mov ebp, dword [0x141dc3f00]
imul ebp, dword [0x141dc3f04]
add ebp, 0x3301beab
and ebp, 0xfa74d16a
add ebp, 0x40fec393
movzx eax, byte [0x141dda6b8]
xor ecx, ecx
mov rdx, r14
call fcn.1400bf230
cmp ebp, 0x4baa2e52
jae 0x140039099
movzx eax, byte [0x141dda6b8]
xor ecx, ecx
mov rdx, r14
call fcn.1400bf230
jmp 0x14003904e
mov rbx, rax
nop dword [rax]
mov eax, dword [0x141dc3f08]
and eax, dword [0x141dc3f0c]
add eax, 0x288f1c44
xor eax, 0x42e2800
or eax, 0x835155d7
cmp eax, 0x49d47e1b
jb 0x1400390a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3f10]
add eax, dword [0x141dc3f14]
xor eax, 0xd09d3f57
add eax, 0x5788ad99
xor eax, 0x97c236bc
cmp eax, 0x9865e507
jb 0x1400390d0
test rbx, rbx
je 0x1400393c0
nop dword [rax + rax]
mov eax, dword [0x141dc3f18]
sub eax, dword [0x141dc3f1c]
add eax, 0x60895930
and eax, 0x1d04c1e2
cmp eax, 0xfb3abe63
je 0x140039100
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
cmp r12, 1
je 0x140039180
test r12, r12
jne 0x1400391ab
nop dword [rax + rax]
mov eax, dword [0x141dc3f30]
mov ecx, dword [0x141dc3f34]
add eax, ecx
add eax, 0xda55bb02
cmp eax, 0xb0452c4d
ja 0x140039140
xor eax, eax
nop dword [rax]
test al, al
jne 0x140039160
test r13, r13
jne 0x1400391ab
xor r15d, r15d
mov edi, 1
jmp 0x140039303
mov eax, dword [0x141dc3f38]
xor edx, edx
div dword [0x141dc3f3c]
shr eax, 1
imul rax, rax, 0x40fa23ab
shr rax, 0x3d
cmp eax, 0xc1249547
je 0x140039180
test r13, r13
je 0x140039270
xor eax, eax
test al, al
je 0x1400391c5
lea rdx, [0x141db4178]
lea rcx, [rsp + 0x20]
mov r8, rdi
call fcn.140053150
lea rbx, [0x141db4178]
lea r14, [rsp + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3f60]
and eax, dword [0x141dc3f64]
or eax, 0xbae54f39
imul ebp, eax, 0x60099c2a
or ebp, 0x4c253f28
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140053150
cmp ebp, 0x8d529f1a
jb 0x1400391e0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3f68]
sub ecx, dword [0x141dc3f6c]
xor ecx, 0x602a2b0
or ecx, 0xf8b05d4d
cmp ecx, 0xfcfd2446
je 0x140039220
test al, al
je 0x140039348
mov eax, dword [0x141dc3f70]
xor edx, edx
div dword [0x141dc3f74]
add eax, 0x79d7d8b7
or eax, 0xa138fe44
cmp eax, 0xd54c0262
je 0x140039422
jmp 0x1400393fd
mov eax, dword [0x141dc3f40]
or eax, dword [0x141dc3f44]
imul eax, eax, 0x6d4b117a
imul rax, rax, 0x213ad5a5
shr rax, 0x3c
imul eax, eax, 0xe57dbde2
cmp eax, 0xe88756a
jb 0x140039270
mov rdi, qword [r15]
mov r15, qword [r15 + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3f48]
and eax, dword [0x141dc3f4c]
or eax, 0x8605473f
imul rax, rax, 0x3103f4e1
shr rax, 0x3d
xor eax, 0xb0936413
cmp eax, 0x3a03430a
jb 0x1400392b0
nop dword [rax + rax]
mov eax, dword [0x141dc3f50]
imul eax, dword [0x141dc3f54]
or eax, 0x89243be1
xor eax, 0x49e117bd
cmp eax, 0x45c725d6
jb 0x1400392e0
cmp r14, r15
jb 0x14003936a
xor r14d, r14d
xor eax, eax
test al, al
je 0x140039324
lea rcx, [rbx + r14]
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [r14 + r15]
mov qword [rsp + 0x30], rax
add rbx, r14
add r14, r15
xor ebp, ebp
nop dword [rax]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x30], r14
test bpl, bpl
jne 0x140039330
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8, r15
call fcn.1400f2c80
nop dword [rax]
mov eax, dword [0x141dc3f58]
sub eax, dword [0x141dc3f5c]
and eax, 0xfb73502c
add eax, 0x3c7e52ff
imul rcx, rax, 0x317d5a3d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov rbx, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
cmp eax, 0xd267eb07
ja 0x140039380
jmp 0x140039306
mov eax, dword [0x141dc3f20]
add eax, dword [0x141dc3f24]
and eax, 0x68584
cmp eax, 0xd9ad38b7
jne 0x1400393e0
ud2
mov eax, dword [0x141dc3f28]
sub eax, dword [0x141dc3f2c]
imul eax, eax, 0xa24a77cf
ud2
mov eax, dword [0x141dc3f78]
xor eax, dword [0x141dc3f7c]
imul eax, eax, 0x3d18c13b
add eax, 0xd4890987
xor eax, 0x3eeb2f7c
ud2
ud2