Function at 0x140047c50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r12, rdx
mov r14, rcx
mov eax, dword [0x141dc9320]
xor eax, dword [0x141dc9324]
imul eax, eax, 0xb0cd8f19
xor eax, 0x2e88a4f2
add eax, 0x6373d964
cmp eax, 0x2170ca03
jae 0x140047cce
mov eax, 0xa0
call fcn.1400f1350
sub rsp, rax
mov rax, rsp
xorps xmm0, xmm0
movups xmmword [rax + 0x90], xmm0
movups xmmword [rax + 0x80], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
xorps xmm0, xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dc9328]
imul eax, dword [0x141dc932c]
imul ecx, eax, 0xa193595a
add ecx, 0x734c97be
and ecx, 0x5426af40
mov eax, 0xa0
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
movups xmmword [rdi + 0x90], xmm0
movups xmmword [rdi + 0x80], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
cmp ecx, 0xd4dff4fd
ja 0x140047ce0
mov r10, qword [r14 + 0xa0]
nop dword [rax + rax]
mov eax, dword [str._nQ59_]
xor eax, dword [0x141dc9334]
add eax, 0xb3fa12f8
or eax, 0xb9f19837
add eax, 0x1ee28f14
cmp eax, 0x8fef09a7
jb 0x140047d50
cmp r10, r8
jae 0x14004800f
nop dword [rax + rax]
mov eax, dword [0x141dc93c0]
or eax, dword [0x141dc93c4]
or eax, 0xc3d4196
cmp eax, 0xc83aa0bc
je 0x140047d80
cmp r10, 0x29
jae 0x1400483b4
mov ecx, 0x92f68a2b
lea r10, [r14 + r10*4]
nop dword [rax + rax]
mov eax, dword [0x141dc93d0]
xor edx, edx
div dword [0x141dc93d4]
and eax, 0xec463d6d
imul rax, rcx
shr rax, 0x3f
cmp eax, 0x25c12c7f
je 0x140047db0
lea rax, [r8 + 1]
mov qword [rbp - 8], rax
lea rsi, [r8*4]
xor eax, eax
mov rdx, r14
xor ebx, ebx
nop dword [rax]
mov ecx, dword [0x141dc93d8]
or ecx, dword [0x141dc93dc]
and ecx, 0xa1406a90
or ecx, 0x4caf952e
imul ecx, ecx, 0x249a3971
cmp ecx, 0x49b8f2d4
jb 0x140047df0
lea r9, [rdi + rax*4]
mov rcx, rdx
nop dword [rax]
mov r15, rax
mov r13, r9
mov eax, dword [0x141dc93e0]
xor edx, edx
div dword [0x141dc93e4]
mov eax, dword [0x141dc93e8]
xor eax, dword [0x141dc93ec]
imul eax, eax, 0x5bb8c2b
add eax, 0xf5319980
cmp eax, 0x2781fac7
ja 0x140047e34
cmp rcx, r10
je 0x140048304
lea rdx, [rcx + 4]
lea rax, [r15 + 1]
nop word cs:[rax + rax]
mov r9d, dword [0x141dc93f0]
sub r9d, dword [0x141dc93f4]
or r9d, 0xe9af4a26
xor r9d, 0xf1cd8700
imul r9d, r9d, 0xe3fc0b8a
cmp r9d, 0xdd9a0b4f
ja 0x140047e70
mov r11d, dword [rcx]
lea r9, [r13 + 4]
mov rcx, rdx
test r11, r11
je 0x140047e20
mov qword [rbp], r15
mov qword [rbp - 0x18], r10
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x10], rsi
xor r10d, r10d
xor r8d, r8d
mov r9, r12
nop dword [rax + rax]
mov ecx, dword [0x141dc93f8]
or ecx, dword [0x141dc93fc]
shr ecx, 4
imul rcx, rcx, 0x10155295
shr rcx, 0x34
imul ecx, ecx, 0xda4e1d3d
cmp ecx, 0x158e20fa
je 0x140047ed0
lea rcx, [rax + r8]
dec rcx
cmp rcx, 0x28
jae 0x140048404
mov r15, rdx
mov ecx, dword [0x141dc9420]
imul ecx, dword [0x141dc9424]
add ecx, 0xf66c063b
or ecx, 0x86b4bfc5
and ecx, 0xe7b5bfd5
cmp ecx, 0x88106ae8
jb 0x140047f0c
add r9, 4
mov ecx, dword [r12 + r8*4]
mov edx, dword [r13]
add r10, rdx
imul rcx, r11
add rcx, r10
mov r10, rcx
shr r10, 0x20
mov dword [r13], ecx
add r13, 4
inc r8
add rsi, 0xfffffffffffffffc
mov rdx, r15
jne 0x140047ed0
mov r8, qword [rbp - 0x20]
mov rcx, r8
test r10, r10
mov rsi, qword [rbp - 0x10]
mov r9d, 0xb1e08641
je 0x140047ffb
mov ecx, dword [0x141dc9400]
or ecx, dword [0x141dc9404]
add ecx, 0xd3283f61
or ecx, 0xff7dfff7
cmp ecx, 0xf1ae6b62
je 0x140047f7e
mov rcx, qword [rbp]
lea rdx, [rcx + r8]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9408]
imul ecx, dword [0x141dc940c]
imul rcx, r9
shr rcx, 0x3f
or ecx, 0xda96d12c
cmp ecx, 0x77e1b8bf
jb 0x140047fb0
cmp rdx, 0x28
jae 0x140048390
mov dword [rdi + rdx*4], r10d
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140047ff0
mov rcx, qword [rbp - 8]
mov rdx, r15
add rcx, qword [rbp]
cmp rbx, rcx
cmovbe rbx, rcx
mov r10, qword [rbp - 0x18]
jmp 0x140047df0
cmp r10, 0x29
jae 0x1400483bc
lea rcx, [r12 + r8*4]
lea rax, [r14 + r10*4]
mov qword [rbp], rax
lea rax, [r10 + 1]
mov qword [rbp - 8], rax
xor esi, esi
xor edx, edx
xor ebx, ebx
nop word cs:[rax + rax]
test sil, sil
jne 0x140048040
nop word cs:[rax + rax]
mov eax, dword [0x141dc9348]
and eax, dword [0x141dc934c]
add eax, 0xcce6cb53
or eax, 0x24793227
cmp eax, 0xd58b8376
ja 0x140048050
cmp r12, rcx
je 0x140048304
lea r8, [r12 + 4]
inc rdx
test sil, sil
jne 0x14004807e
mov r13d, dword [r12]
mov r12, r8
test r13, r13
je 0x140048050
lea r9, [rdx - 1]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], r10
nop
mov eax, dword [0x141dc9350]
sub eax, dword [0x141dc9354]
xor eax, 0x4ee39de
add eax, 0xdfc11119
cmp eax, 0x7be4a267
ja 0x1400480a0
xor r10d, r10d
xor ecx, ecx
mov rsi, r14
jmp 0x1400480e4
shr r11, 0x20
mov r10, r11
mov rsi, rdx
cmp rdx, qword [rbp]
je 0x1400481c6
mov eax, dword [0x141dc9358]
xor edx, edx
div dword [0x141dc935c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9360]
sub eax, dword [0x141dc9364]
add eax, 0x39f85a5e
xor eax, 0x3c066d50
cmp eax, 0x14045ada
jb 0x140048100
lea rax, [rcx + r9]
cmp rax, 0x28
jae 0x14004832f
inc rcx
lea rdx, [rsi + 4]
mov r11d, dword [0x141dc9398]
imul r11d, dword [0x141dc939c]
and r11d, 0xa7fb6ad4
xor r11d, 0x4305bbb8
imul r11, r11, 0x68b6be47
shr r11, 0x3d
cmp r11d, 0x75b4006d
ja 0x1400481af
nop word cs:[rax + rax]
mov r11d, dword [0x141dc93a0]
imul r11d, dword [0x141dc93a4]
imul r12d, r11d, 0x9551c1c3
or r12d, 0xdfffe9e3
mov r15d, dword [rsi]
mov r11d, dword [rdi + rax*4]
imul r15, r13
add r11, r10
add r11, r15
mov dword [rdi + rax*4], r11d
cmp r12d, 0xde08d5d8
jae 0x1400480d0
mov r11d, dword [rsi]
imul r11d, r13d
mov r15d, dword [rdi + rax*4]
add r15d, r10d
add r15d, r11d
mov dword [rdi + rax*4], r15d
jmp 0x140048170
mov r10, qword [rbp - 0x20]
mov rax, r10
test r11, r11
mov esi, 0
je 0x1400482c0
nop dword [rax + rax]
mov eax, dword [0x141dc9368]
add eax, dword [0x141dc936c]
or eax, 0x8a083028
and eax, 0xcb0c3eaa
imul eax, eax, 0x7558a7b
cmp eax, 0x3f951521
ja 0x1400481e0
lea rcx, [r9 + r10]
mov eax, dword [0x141dc9370]
xor edx, edx
div dword [0x141dc9374]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9378]
or eax, dword [0x141dc937c]
add eax, 0x7412688
and eax, 0x22714aa9
cmp eax, 0x5bd4c32e
ja 0x140048220
cmp rcx, 0x28
jae 0x140048404
test sil, sil
je 0x140048250
mov dword [rdi + rcx*4], r11d
mov eax, dword [0x141dc9388]
sub eax, dword [0x141dc938c]
xor eax, 0x81009605
and eax, 0x91f59ed5
imul rdx, rax, 0x247c0cd1
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
mov dword [rdi + rcx*4], r11d
cmp eax, 0xb45e8eff
je 0x140048250
nop word cs:[rax + rax]
mov eax, dword [0x141dc9390]
or eax, dword [0x141dc9394]
shr eax, 4
imul rax, rax, 0x4568721
shr rax, 0x36
xor eax, 0x5a9f1c49
cmp eax, 0x8363479f
jae 0x140048290
mov rax, qword [rbp - 8]
nop word [rax + rax]
mov ecx, dword [0x141dc9380]
or ecx, dword [0x141dc9384]
and ecx, 0xb18f1b68
xor ecx, 0xef508d1d
imul edx, ecx, 0xb25820d5
lea rcx, [rax + r9]
cmp rbx, rcx
cmova rcx, rbx
cmp edx, 0x9c128045
jb 0x1400482c0
mov r12, r8
mov rbx, rcx
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
jmp 0x140048040
mov eax, dword [0x141dc9428]
sub eax, dword [0x141dc942c]
and eax, 0xa3008204
xor eax, 0x3980206
or eax, 0x1c675db9
cmp eax, 0x18298d74
jne 0x14004845a
jmp 0x140048494
mov eax, dword [0x141dc93a8]
xor eax, dword [0x141dc93ac]
xor eax, 0x11290d4
and eax, 0xa11796dc
cmp eax, 0x2b52495f
jae 0x140048350
ud2
mov eax, dword [0x141dc93b0]
or eax, dword [0x141dc93b4]
and eax, 0x292150c0
imul eax, eax, 0x288c6f91
ud2
mov eax, dword [0x141dc9410]
xor edx, edx
div dword [0x141dc9414]
or eax, 0x81100004
and eax, 0x95100004
cmp eax, 0x23628957
jae 0x140048429
jmp 0x140048456
xor eax, eax
test al, al
je 0x140048406
jmp 0x140048425
mov eax, dword [0x141dc9338]
or eax, dword [0x141dc933c]
and eax, 0x24261080
add eax, 0xf3914344
cmp eax, 0xf92596c5
jbe 0x1400483e0
ud2
mov eax, dword [0x141dc9340]
and eax, dword [0x141dc9344]
xor eax, 0xe03032
or eax, 0xcc134fc5
add eax, 0x400602d1
ud2
ud2
mov eax, dword [0x141dc93c8]
sub eax, dword [0x141dc93cc]
xor eax, 0x582046c6
add eax, 0xa00e7573
ud2
ud2
mov eax, dword [0x141dc9418]
or eax, dword [0x141dc941c]
add eax, 0xd7df25a2
xor eax, 0xc1608965
mov ecx, 0xb3d49e21
imul rcx, rax
shr rcx, 0x3f
ud2
ud2
mov esi, dword [str.5kjqAJ_]
sub esi, dword [0x141dc9434]
or esi, 0x94a0e4ed
sub rsp, 0x20
mov r8d, 0xa0
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0xa0], rbx
cmp esi, 0x9a449986
jne 0x1400484b6
sub rsp, 0x20
mov r8d, 0xa0
mov rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r14 + 0xa0], rbx
jmp 0x14004845a
mov rax, r14
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret