Function at 0x140047c50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
mov eax, 0x80e0
call fcn.14000f8e0
sub rsp, rax
vmovaps xmmword [rsp + 0x80d0], xmm6
vmovaps xmmword [rsp + 0x80c0], xmm7
vmovaps xmmword [rsp + 0x80b0], xmm8
vmovaps xmmword [rsp + 0x80a0], xmm9
vmovaps xmmword [rsp + 0x8090], xmm10
mov rax, qword [0x14006b060]
xor rax, rsp
mov qword [rsp + 0x8080], rax
mov rsi, rcx
mov ecx, 0x10000000
call fcn.14000f110
mov r14, rax
mov rbx, rax
sub rsi, rax
mov edi, 0x3fff
nop word [rax + rax]
lea rdx, [rsi + rbx]
lea rcx, [rsp + 0x4070]
call fcn.14000bfe0
mov rdx, rax
lea rcx, [rsp + 0x70]
mov r8d, 0x4000
call fcn.140011250
mov r8d, 0x4000
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140011250
add rbx, 0x4000
sub rdi, 1
jne 0x140047cd0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
vmovups ymm0, ymmword [0x140061928]
mov eax, dword [0x140061958]
lea rcx, [rsp + 0x30]
vmovups xmm1, xmmword [0x140061948]
vmovdqu xmm7, xmmword [0x140061ed0]
vmovdqu xmm6, xmmword [0x140062020]
vmovdqu xmm9, xmmword [0x140061f20]
vmovups ymmword [rsp + 0x30], ymm0
vmovdqu xmm0, xmmword [0x140061fe0]
mov dword [rsp + 0x60], eax
mov r15d, 4
movzx eax, word [0x14006195c]
mov edi, 0x1f
vmovdqu xmmword [rsp + 0x8070], xmm0
mov edx, dword [rsp + 0x8070]
xor r8d, r8d
vmovups xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x64], ax
vmovd xmm8, r15d
vmovd xmm10, edi
nop dword [rax + rax]
vmovd xmm0, r8d
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm1, xmm4, xmm10
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmm9
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm0, edx
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [rcx]
vpxor xmm1, xmm1, xmm0
vmovd dword [rcx], xmm1
lea eax, [r8 + 4]
add r8d, 8
lea rcx, [rcx + 8]
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm0, xmm4, xmm10
vpaddd xmm1, xmm0, xmm4
vmovd xmm0, dword [rcx - 4]
vpmulld xmm2, xmm1, xmm9
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm1, edx
vpaddb xmm2, xmm4, xmm1
vpxor xmm1, xmm2, xmm0
vmovd dword [rcx - 4], xmm1
cmp r8d, 0x30
jl 0x140047da0
cmp r8d, 0x36
jge 0x140047eb1
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x30
xor byte [r9 - 1], al
cmp r8d, 0x36
jl 0x140047e80
lea r8, [rsp + 0x30]
mov rdx, r14
mov ecx, 0x10000000
vzeroupper
call fcn.1400482b0
mov qword [rsp + 0x8070], rax
mov rbx, rax
test rax, rax
je 0x14004813a
nop word [rax + rax]
mov rdx, qword [0x140fb3fa8]
cmp rdx, qword [0x140fb3fb0]
je 0x140047efd
mov qword [rdx], rbx
add qword [0x140fb3fa8], 8
jmp 0x140047f12
lea r8, [rsp + 0x8070]
call fcn.14000cce0
mov rbx, qword [rsp + 0x8070]
movzx eax, word [0x140061ce0]
lea rdx, [rbx + rbx*2]
vmovsd xmm0, qword [str._DA_]
vmovsd qword [rsp + 0x20], xmm0
xor byte [rsp + 0x21], 0x31
lea rcx, [rsp + 0x20]
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
mov word [rsp + 0x28], ax
movzx eax, byte [0x140061ce2]
xor byte [rsp + 0x28], 0x38
xor al, 0x3a
xor byte [rsp + 0x29], 0x39
mov byte [rsp + 0x2a], al
mov byte [rsp + 0x20], 0x70
call fcn.1400036e0
mov r9d, ebx
sub r9d, r14d
add r9d, 0x12
cmp r9, 0x10000000
jae 0x14004813a
vmovups ymm0, ymmword [0x140061928]
mov eax, dword [0x140061958]
lea rdx, [rsp + 0x30]
vmovups xmm1, xmmword [0x140061948]
vmovdqu xmm7, xmmword [0x140061ed0]
vmovdqu xmm6, xmmword [0x140062020]
vmovdqu xmm9, xmmword [0x140061f20]
vmovups ymmword [rsp + 0x30], ymm0
vmovdqu xmm0, xmmword [0x140061fe0]
mov dword [rsp + 0x60], eax
xor ecx, ecx
movzx eax, word [0x14006195c]
vmovdqu xmmword [rsp + 0x8070], xmm0
mov r8d, dword [rsp + 0x8070]
vmovups xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x64], ax
vmovd xmm8, r15d
vmovd xmm10, edi
vmovd xmm0, ecx
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm1, xmm4, xmm10
vpaddd xmm0, xmm1, xmm4
vpmulld xmm2, xmm0, xmm9
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm0, r8d
vpaddb xmm1, xmm4, xmm0
vmovd xmm0, dword [rdx]
vpxor xmm1, xmm1, xmm0
vmovd dword [rdx], xmm1
lea eax, [rcx + 4]
add ecx, 8
lea rdx, [rdx + 8]
vmovd xmm0, eax
vpshufd xmm0, xmm0, 0
vpaddd xmm5, xmm0, xmm7
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmm6
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmm6
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, xmm8
vpsrld xmm0, xmm4, xmm10
vpaddd xmm1, xmm0, xmm4
vmovd xmm0, dword [rdx - 4]
vpmulld xmm2, xmm1, xmm9
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x140061e90]
vmovd xmm1, r8d
vpaddb xmm2, xmm4, xmm1
vpxor xmm1, xmm2, xmm0
vmovd dword [rdx - 4], xmm1
cmp ecx, 0x30
jl 0x140048003
cmp ecx, 0x36
jge 0x14004810d
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop word [rax + rax]
mov eax, 0x5397829d
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x31
movzx eax, cl
inc ecx
sub al, dl
add al, 0x30
xor byte [r8 - 1], al
cmp ecx, 0x36
jl 0x1400480e0
mov ecx, 0x10000000
lea rdx, [rbx + 0x12]
sub rcx, r9
lea r8, [rsp + 0x30]
vzeroupper
call fcn.1400482b0
mov qword [rsp + 0x8070], rax
mov rbx, rax
test rax, rax
jne 0x140047ee0
mov rbx, qword [0x140fb3fa0]
mov rcx, qword [0x140fb3fa8]
cmp rbx, rcx
je 0x140048250
movabs rsi, 0x7fffffffffbffffe
nop dword [rax + rax]
mov rax, qword [rbx]
add rax, r15
cmp rax, r15
jbe 0x140048239
mov edi, dword [rax]
xor r8d, r8d
mov dword [rsp + 0x8070], r8d
lea rdx, [rdi + 0xf8]
lea rax, [rdx - 0x400001]
cmp rax, rsi
ja 0x1400481b4
mov ecx, dword [0x1401a3e80]
lea r8, [rsp + 0x8070]
mov r9, r15
call fcn.14003c5c0
mov rcx, qword [0x140fb3fa8]
mov r8d, dword [rsp + 0x8070]
lea eax, [r8 - 0xd8]
test eax, 0xfffffff7
jne 0x140048239
movzx ecx, byte [0x140061a02]
movzx eax, word [0x140061a00]
xor cl, 0x3a
vmovsd xmm0, qword [str.bTS__t]
vmovsd qword [rsp + 0x20], xmm0
xor byte [rsp + 0x21], 0x31
xor byte [rsp + 0x22], 0x32
xor byte [rsp + 0x23], 0x33
xor byte [rsp + 0x24], 0x34
xor byte [rsp + 0x25], 0x35
xor byte [rsp + 0x26], 0x36
xor byte [rsp + 0x27], 0x37
mov word [rsp + 0x28], ax
xor al, 0x38
xor byte [rsp + 0x29], 0x39
mov byte [rsp + 0x2a], cl
lea rcx, [rsp + 0x20]
imul rdx, rdi, 7
mov qword [0x140fb3ef8], rdi
mov byte [rsp + 0x20], 0x52
mov byte [rsp + 0x28], al
call fcn.1400036e0
mov rcx, qword [0x140fb3fa8]
add rbx, 8
cmp rbx, rcx
jne 0x140048160
mov rbx, qword [0x140fb3fa0]
cmp rbx, rcx
cmovne rcx, rbx
mov qword [0x140fb3fa8], rcx
mov rcx, r14
call fcn.14000ee30
mov rcx, qword [rsp + 0x8080]
xor rcx, rsp
call fcn.14000ee10
lea r11, [rsp + 0x80e0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop rdi
ret