Function at 0x1800485e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7e0]
sub rsp, 0x8e0
mov rax, qword [0x18009da48]
xor rax, rsp
mov qword [rbp + 0x7d0], rax
mov ebx, dword [rsp + 0x58]
mov eax, edx
mov dword [rsp + 0x6c], edx
mov r10, r8
add edx, 0x70
mov qword [rbp - 0x38], r9
mov qword [rsp + 0x70], r8
mov r11, rcx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], edx
cmp eax, edx
jae case.0x180048699.58
mov esi, dword [rsp + 0x44]
mov r15, qword [rsp + 0x60]
mov r14, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
mov r13, qword [rbp - 0x60]
mov dword [rsp + 0x34], ebx
lea r8, [0x180000000]
cmp eax, 0x13c
ja 0x180048db7
je 0x180048daa
add eax, 0xffffffca
cmp eax, 0xfe
ja case.0x180048699.64
movzx eax, byte [r8 + rax + 0x48e24]
movsxd rdi, dword [rsp + 0x68]
mov qword [rbp - 0x80], rdi
mov ecx, dword [r8 + rax*4 + 0x48df8]
add rcx, r8
jmp rcx
mov eax, dword [r11]
cmp dword [r10], eax
jle 0x1800486f7
mov edi, 0x17
cmp edi, 0x17
je 0x1800486bc
cmp edi, 0xca
jne 0x1800486e7
mov qword [rsp + 0x78], r11
jmp 0x1800486e7
mov r8d, 0xc0
lea rdx, [rbp - 0x58]
mov rcx, r10
call fcn.180026df0
test eax, eax
jne 0x180048dcd
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x70]
mov eax, dword [r11]
mov dword [rsp + 0x40], eax
add edi, 0xb3
cmp edi, 0x17d
jb 0x1800486a8
jmp 0x180048757
mov edi, 0x14
nop dword [rax]
cmp edi, 0x14
je 0x180048725
cmp edi, 0xf28
je 0x18004871c
cmp edi, 0x1e3c
jne 0x180048749
mov qword [rsp + 0x78], r10
jmp 0x180048749
mov eax, dword [r10]
mov dword [rsp + 0x40], eax
jmp 0x180048749
mov r8d, 0xc0
lea rdx, [rbp - 0x58]
mov rcx, r11
call fcn.180026df0
test eax, eax
jne 0x180048dcd
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x38]
add edi, 0xf14
cmp edi, 0x2d3c
jbe 0x180048700
mov r8d, dword [rsp + 0x40]
xor edx, edx
test r8d, r8d
jle 0x18004886d
cmp r8d, 0x10
jb 0x18004886d
mov rdi, qword [rsp + 0x78]
lea eax, [r8 - 1]
mov r8, qword [rbp - 0x48]
lea r10, [rdi + 0x10]
mov r9, qword [r10]
movsxd rcx, eax
lea rax, [r9 + rcx*4]
lea r11, [r8 + rcx*4]
cmp r8, rax
ja 0x18004879e
cmp r11, r9
jae 0x180048876
cmp r8, r10
ja 0x1800487ac
cmp r11, r10
jae 0x180048876
mov eax, dword [rsp + 0x40]
mov ecx, eax
and ecx, 0x8000000f
jge 0x1800487c1
dec ecx
or ecx, 0xfffffff0
inc ecx
sub eax, ecx
mov r8, 0xfffffffffffffff0
cdqe
mov r11d, reloc.SHELL32.dll_ILFindLastID
mov qword [rbp - 0x80], rax
mov rdi, 0xffffffffffffffe0
mov rax, qword [rbp - 0x48]
mov r10, rax
sub r8, rax
neg r10
sub r11, rax
sub rdi, rax
lea rcx, [rax + 0x20]
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx - 0x20]
lea rax, [rdi + rcx]
add rdx, 0x10
movdqu xmm1, xmmword [rax + r9]
lea rax, [r8 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [rax + r9]
lea rax, [r10 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rax + r9]
lea rax, [r11 + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x40], xmm1
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp rdx, qword [rbp - 0x80]
jl 0x180048800
mov rdi, qword [rsp + 0x78]
mov r8, qword [rbp - 0x48]
movsxd r9, dword [rsp + 0x40]
cmp rdx, r9
jge 0x180048899
mov rax, qword [rdi + 0x10]
mov ecx, dword [rax + rdx*4]
xor dword [r8 + rdx*4], ecx
inc rdx
cmp rdx, r9
jge 0x180048899
mov r8, qword [rbp - 0x48]
jmp 0x180048880
xor edx, edx
mov qword [rsp + 0x20], 0
lea r9, [rbp - 0x58]
xor r8d, r8d
lea ecx, [rdx + 3]
call fcn.18003f700
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
jmp case.0x180048699.64
mov eax, dword [r10]
inc eax
cmp dword [r11 + 4], eax
jge 0x1800488f6
xor r9d, r9d
mov dword [rsp + 0x48], eax
mov r8, r11
lea rdx, [rsp + 0x48]
mov ecx, 0xbf
call fcn.18000ee90
test eax, eax
jne 0x180048dcd
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
mov eax, dword [r11]
mov dword [rsp + 0x48], eax
jmp case.0x180048699.64
mov r12d, dword [rsp + 0x48]
mov ebx, 0x1b
nop dword [rax]
mov eax, ebx
sub eax, 0x1b
je 0x1800489d4
sub eax, 1
je 0x180048965
cmp eax, 1
jne 0x1800489e0
movsxd rdx, dword [r11]
mov rax, qword [r11 + 0x10]
lea r15, [rax + rdx*4]
cmp edx, r12d
jge 0x1800489e0
mov eax, r12d
mov rcx, r15
sub eax, edx
xor edx, edx
mov r8d, eax
shl r8, 2
mov edi, eax
call sub.VCRUNTIME140.dll_memset
mov r10, qword [rsp + 0x70]
lea r15, [r15 + rdi*4]
mov r11, qword [rsp + 0x38]
jmp 0x1800489e0
xor edx, edx
xor r9d, r9d
cmp dword [r10], edx
jle 0x1800489e0
nop
mov eax, 0xc7
cmp eax, 0xc7
je 0x180048987
cmp eax, 0x5ed6
jne 0x1800489ac
mov edx, esi
jmp 0x1800489ac
mov r8, qword [rbp - 0x40]
mov ecx, dword [r8]
mov esi, ecx
add ecx, ecx
shr esi, 0x1b
or ecx, edx
and ecx, 0xfffffff
mov dword [r15], ecx
add r15, 4
add r8, 4
mov qword [rbp - 0x40], r8
add eax, 0x5e0f
cmp eax, 0xbc1e
jbe 0x180048975
inc r9d
mov dword [rsp + 0x44], esi
cmp r9d, dword [r10]
jl 0x180048970
test edx, edx
je 0x1800489e0
mov dword [r15], 1
inc dword [r11]
jmp 0x1800489e0
mov rax, qword [r10 + 0x10]
mov r15, qword [r11 + 0x10]
mov qword [rbp - 0x40], rax
inc ebx
cmp ebx, 0x1e
jb 0x180048910
mov ebx, dword [rsp + 0x34]
mov r12, qword [rbp - 0x68]
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x60], r15
jmp case.0x180048699.64
mov rcx, qword [rbp - 0x38]
lea r8, [rbp - 0x58]
xor r9d, r9d
lea edx, [r9 + 0x44]
call fcn.180040e40
xor r9d, r9d
lea rcx, [rbp - 0x58]
xor r8d, r8d
lea edx, [r9 + 0xa]
call fcn.18003c210
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
xor ebx, ebx
mov dword [rsp + 0x34], ebx
mov eax, dword [rsp + 0x6c]
add eax, 8
mov dword [rsp + 0x6c], eax
cmp eax, edx
jae case.0x180048699.58
mov r10, qword [rsp + 0x70]
jmp 0x180048656
mov eax, dword [r10]
mov ebx, 0xed
mov esi, dword [rsp + 0x58]
add eax, eax
mov r15d, dword [rsp + 0x68]
mov dword [r11], eax
nop word [rax + rax]
mov eax, ebx
sub eax, 0xed
je 0x180048ba0
cmp eax, 1
jne 0x180048ba9
mov r10, qword [rsp + 0x50]
xor r8d, r8d
xor edx, edx
test r15d, r15d
jle 0x180048b45
cmp r15d, 0x10
jb 0x180048b45
lea eax, [r15 - 1]
movsxd rcx, eax
lea rax, [rbp - 0x30]
lea rax, [rax + rcx*4]
lea r9, [r10 + rcx*4]
cmp r10, rax
ja 0x180048ac8
lea rax, [rbp - 0x30]
cmp r9, rax
jae 0x180048b45
mov ecx, r15d
and ecx, 0x8000000f
jge 0x180048ada
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm1, xmmword [0x1800961d0]
mov eax, r15d
sub eax, ecx
movsxd rcx, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rdx*4 - 0x30]
add r8d, 0x10
pand xmm0, xmm1
movdqu xmmword [r10], xmm0
movdqu xmm0, xmmword [rbp + rdx*4 - 0x20]
pand xmm0, xmm1
movdqu xmmword [r10 + 0x10], xmm0
movdqu xmm0, xmmword [rbp + rdx*4 - 0x10]
pand xmm0, xmm1
movdqu xmmword [r10 + 0x20], xmm0
movdqu xmm0, xmmword [rbp + rdx*4]
add rdx, 0x10
pand xmm0, xmm1
movdqu xmmword [r10 + 0x30], xmm0
add r10, 0x40
cmp rdx, rcx
jl 0x180048af0
mov qword [rsp + 0x50], r10
cmp rdx, rdi
jge 0x180048b6e
mov eax, edi
sub eax, edx
add r8d, eax
mov eax, dword [rbp + rdx*4 - 0x30]
inc rdx
and eax, 0xfffffff
mov dword [r10], eax
add r10, 4
cmp rdx, rdi
jl 0x180048b51
mov qword [rsp + 0x50], r10
cmp r8d, esi
jge 0x180048ba9
mov eax, esi
xor edx, edx
sub eax, r8d
mov rcx, r10
movsxd rdi, eax
shl rdi, 2
mov r8, rdi
and r8, 0xfffffffffffffffc
call sub.VCRUNTIME140.dll_memset
add qword [rsp + 0x50], rdi
mov rdi, qword [rbp - 0x80]
mov r11, qword [rsp + 0x38]
jmp 0x180048ba9
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x50], rax
inc ebx
cmp ebx, 0xef
jb 0x180048a70
mov ebx, dword [rsp + 0x34]
xor edx, edx
mov esi, dword [rsp + 0x44]
mov r9, r11
mov r15, qword [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x20], 0
lea ecx, [rdx + 3]
call fcn.18003f700
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
jmp case.0x180048699.64
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
test rdi, rdi
jle 0x180048d52
mov ebx, dword [rbp - 0x70]
mov esi, dword [rbp - 0x74]
mov r15, qword [rsp + 0x70]
nop dword [rax + rax]
mov eax, r10d
mov r8d, 0x5f
shr rax, 1
mov edi, r10d
lea rcx, [rax*4]
mov qword [rsp + 0x58], rcx
nop dword [rax]
cmp r8d, 0x161
ja 0x180048cec
je 0x180048ca5
mov eax, r8d
sub eax, 0x5f
je 0x180048c94
sub eax, 0x56
je 0x180048c76
cmp eax, 0x56
jne 0x180048d11
mov ecx, dword [r15]
lea eax, [rsi + 1]
sub ecx, dword [rbp - 0x78]
mov ebx, esi
cmp ecx, eax
cmovge ecx, eax
sub ebx, dword [rbp - 0x78]
inc ebx
sar ebx, 1
cmp ecx, ebx
cmovl ebx, ecx
jmp 0x180048d11
mov rcx, qword [r15 + 0x10]
mov edx, edi
sub edx, esi
movsxd rax, edx
mov dword [rbp - 0x78], edx
lea r12, [rcx + rax*4]
movsxd rax, esi
lea r13, [rcx + rax*4]
jmp 0x180048d11
mov esi, dword [r15]
xor r14d, r14d
dec esi
cmp esi, r10d
cmovge esi, r10d
jmp 0x180048d11
test ebx, ebx
jle 0x180048cd2
mov edx, ebx
nop dword [rax + rax]
mov ecx, dword [r13]
sub r13, 4
mov eax, dword [r12]
add r12, 4
imul rcx, rax
add r14, rcx
sub rdx, 1
jne 0x180048cb0
mov rcx, qword [rsp + 0x58]
lea r14, [r9 + r14*2]
test r10b, 1
jne 0x180048d11
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + rcx]
imul rcx, rcx
add r14, rcx
jmp 0x180048d11
mov eax, r8d
sub eax, 0x1b7
je 0x180048d04
cmp eax, 0x56
jne 0x180048d11
mov r9, r14
shr r9, 0x1c
jmp 0x180048d11
mov eax, r14d
and eax, 0xfffffff
mov dword [rbp + r11*4 - 0x30], eax
mov rcx, qword [rsp + 0x58]
add r8d, 0x56
cmp r8d, 0x263
jb 0x180048c30
inc r10d
mov dword [rbp - 0x74], esi
inc r11
mov dword [rbp - 0x70], ebx
mov qword [rbp - 0x68], r12
cmp r11, qword [rbp - 0x80]
jl 0x180048c10
mov ebx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x44]
mov r15, qword [rsp + 0x60]
mov edx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov eax, dword [r11]
mov dword [rsp + 0x58], eax
jmp case.0x180048699.64
mov eax, dword [r10]
add eax, eax
mov dword [rsp + 0x68], eax
cmp dword [r11 + 4], eax
jge case.0x180048699.64
xor r9d, r9d
mov dword [rbp - 0x60], eax
mov r8, r11
lea rdx, [rbp - 0x60]
mov ecx, 0xbf
call fcn.18000ee90
test eax, eax
jne 0x180048dcd
mov r11, qword [rsp + 0x38]
mov edx, dword [rsp + 0x30]
jmp case.0x180048699.64
mov eax, dword [r10]
mov dword [r11], eax
jmp case.0x180048699.64
mov eax, dword [r10 + 8]
mov dword [r11 + 8], eax
jmp case.0x180048699.64
sub eax, 0x144
je case.0x180048699.57
cmp eax, 8
jne case.0x180048699.64
mov eax, ebx
mov rcx, qword [rbp + 0x7d0]
xor rcx, rsp
call fcn.180083f10
mov rbx, qword [rsp + 0x928]
add rsp, 0x8e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret