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

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
cmp rdx, 0x500
jae 0x140047ab8
mov rdi, rdx
mov rsi, rcx
mov r14, rdx
shr r14, 5
mov rax, qword [rcx + 0xa0]
test rax, rax
je 0x14004776a
mov ecx, 0xbc6a1f17
mov edx, 0xf49d8e45
mov r8, rax
cmp rax, 0x29
jae 0x1400479d8
dec r8
nop dword [rax]
mov r9d, dword [0x141dc62a8]
mov r10d, dword [0x141dc62ac]
add r9d, r10d
add r9d, 0xb8ed7354
and r9d, 0x7b7095c3
cmp r9d, 0xaf1e862c
je 0x140047680
lea r9, [r8 + r14]
mov r10d, dword [0x141dc62b0]
imul r10d, dword [0x141dc62b4]
add r10d, 0xa103e233
or r10d, 0xd39d5da6
imul r10, rcx
shr r10, 0x3f
cmp r10d, 0xe3dbff30
ja 0x1400476ac
cmp r9, 0x28
jae 0x140047a59
mov r10d, dword [0x141dc62d0]
and r10d, dword [0x141dc62d4]
imul r10d, r10d, 0x4121f478
add r10d, 0x14af58d0
cmp r10d, 0x295d3984
jb 0x1400476e4
mov r10d, dword [rsi + r8*4]
mov r11d, dword [0x141dc62d8]
xor r11d, dword [0x141dc62dc]
cmp r11d, 0xdf107105
jne 0x140047730
mov dword [rsi + r9*4], r10d
nop dword [rax + rax]
mov r11d, dword [0x141dc62e0]
xor r11d, dword [0x141dc62e4]
imul r11d, r11d, 0x27154452
add r11d, 0xeacd30e2
imul r11, rdx
shr r11, 0x3c
mov dword [rsi + r9*4], r10d
cmp r11d, 0xb5c1b5c4
ja 0x140047730
test r8, r8
jne 0x140047670
mov ebx, edi
and ebx, 0x1f
cmp rdi, 0x20
jb 0x1400477d4
mov eax, dword [0x141dc6250]
xor edx, edx
div dword [0x141dc6254]
mov eax, 0xa58ef54d
nop dword [rax + rax]
mov ecx, dword [0x141dc6258]
or ecx, dword [0x141dc625c]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x96603c8e
cmp r14, 1
mov r8, r14
adc r8, 0
cmp ecx, 0xb98c58f8
ja 0x140047790
shl r8, 2
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov al, 1
nop dword [rax]
test al, al
je 0x1400477d0
mov r8, qword [rsi + 0xa0]
add r8, r14
nop
mov eax, dword [0x141dc6260]
add eax, dword [0x141dc6264]
xor eax, 0xde8e03d2
imul eax, eax, 0x74115fd3
add eax, 0x84c6afaf
cmp eax, 0xb7917816
ja 0x1400477e0
test rbx, rbx
je 0x14004795f
lea rcx, [r8 - 1]
mov eax, dword [0x141dc6268]
imul eax, dword [0x141dc626c]
or eax, 0x8a31b826
add eax, 0xa13a6048
imul rax, rax, 0x77b1708d
shr rax, 0x3c
cmp eax, 0x7e7799b5
ja 0x140047810
nop dword [rax]
mov eax, dword [0x141dc6270]
xor edx, edx
div dword [0x141dc6274]
or eax, 0x444415a4
and eax, 0xd44615a6
imul eax, eax, 0x78610efc
cmp eax, 0x436fc4d
jb 0x140047840
cmp rcx, 0x27
ja 0x140047976
mov r9d, dword [rsi + r8*4 - 4]
neg edi
and edi, 0x1f
mov r11d, r9d
mov ecx, edi
shr r11d, cl
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140047890
mov r10, r8
test r11d, r11d
je 0x14004790a
nop dword [rax]
mov eax, dword [0x141dc6280]
xor edx, edx
div dword [str.DV_]
imul rax, rax, 0x69fd9dd1
shr rax, 0x3d
imul eax, eax, 0x87339ce6
add eax, 0x452505b
cmp eax, 0xe2947c41
ja 0x1400478a0
cmp r8, 0x27
ja 0x140047adc
mov dword [rsi + r8*4], r11d
lea r10, [r8 + 1]
nop dword [rax]
mov eax, dword [0x141dc6288]
xor edx, edx
div dword [0x141dc628c]
imul rax, rax, 0x47323fa3
shr rax, 0x3c
xor eax, 0xa060296
or eax, 0xf4c99940
cmp eax, 0xd548a210
jb 0x1400478e0
lea rax, [r14 + 1]
cmp rax, r8
jae 0x140047957
nop word cs:[rax + rax]
lea rcx, [r8 - 2]
cmp rcx, 0x28
jae 0x1400479ae
mov ecx, ebx
shl r9d, cl
mov edx, dword [rsi + r8*4 - 8]
mov r11d, edx
mov ecx, edi
shr r11d, cl
or r11d, r9d
mov dword [rsi + r8*4 - 4], r11d
lea rcx, [r8 - 1]
mov r9d, edx
mov r8, rcx
cmp rax, rcx
jb 0x140047920
mov ecx, ebx
shl dword [rsi + r14*4], cl
jmp 0x140047962
mov r10, r8
mov qword [rsi + 0xa0], r10
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
ud2
ud2
mov eax, dword [0x141dc62b8]
imul eax, dword [0x141dc62bc]
add eax, 0xba5b2293
and eax, 0x5c6a345
add eax, 0x75a50e9c
cmp eax, 0x8363d831
jbe 0x140047a00
ud2
mov eax, dword [0x141dc62c0]
imul eax, dword [0x141dc62c4]
imul rax, rax, 0x7af13bb
shr rax, 0x3a
or eax, 0xa6d24acc
ud2
mov eax, dword [0x141dc62e8]
sub eax, dword [0x141dc62ec]
or eax, 0xec9be167
xor eax, 0xa806d1c7
imul eax, eax, 0x9e686db2
cmp eax, 0xa9c24aa8
jbe 0x140047a80
ud2
mov eax, dword [0x141dc62f0]
xor edx, edx
div dword [0x141dc62f4]
imul eax, eax, 0xda44b83c
ud2
mov eax, dword [0x141dc6238]
xor eax, dword [0x141dc623c]
or eax, 0xbb89f6b1
xor eax, 0xf0a31dac
add eax, 0x532cc0ef
cmp eax, 0xcecf77f1
jbe 0x140047b3c
jmp 0x140047b51
mov eax, dword [0x141dc6290]
xor edx, edx
div dword [0x141dc6294]
add eax, 0xbdc9223
or eax, 0x1c62ab96
and eax, 0xbcfabfb7
cmp eax, 0x5205d360
jne 0x140047b02
ud2
mov eax, 0xa9363193
nop word [rax + rax]
mov ecx, dword [0x141dc6298]
xor ecx, dword [0x141dc629c]
imul ecx, ecx, 0x4e1559b3
or ecx, 0x334dd1cf
imul rcx, rax
shr rcx, 0x3f
ud2
mov eax, dword [0x141dc6240]
sub eax, dword [0x141dc6244]
ud2
ud2