Function at 0x1800028d0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x8a8
mov rax, qword [0x180135070]
xor rax, rsp
mov qword [rsp + 0x880], rax
call fcn.180001900
mov word [0x1801556ec], ax
lea edx, [rax - 0x15]
cmp dx, 9
ja 0x180002b8d
mov word [0x180155b74], dx
cmp ax, 0x18
jb 0x180002b8d
movsxd rax, dword [0x180156af4]
mov qword [rsp + 0x8b0], rbx
mov qword [rsp + 0x8a0], r12
lea rcx, [rax + rax*4]
movzx eax, dx
lea r12, [0x180000000]
lea r10, [rax + rcx*2]
lea rcx, [r12 + 0x1579b0]
imul r10, r10, 0x3c
add rcx, r10
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180002950
xor edx, edx
movsxd r8, eax
test eax, eax
jle 0x180002999
lea rcx, [rsp + 0x38]
mov rax, r10
lea r9, [r12 + 0x1579b0]
sub rax, rcx
add r9, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x38]
add rcx, rdx
inc rdx
movzx eax, byte [r9 + rcx]
xor al, 0x18
mov byte [rcx], al
cmp rdx, r8
jl 0x180002980
mov rcx, qword [0x180239a38]
lea rax, [r8 + r10]
lea rdx, [rsp + 0x38]
movzx eax, byte [rax + r12 + 0x1579b0]
mov r9d, 1
mov byte [rsp + r8 + 0x38], al
lea r8, [0x180120864]
call fcn.18001ec80
mov rcx, rax
mov qword [0x1802395c8], rax
call fcn.180021f70
mov ebx, eax
test eax, eax
jne 0x180002ba5
mov qword [rsp + 0x8c8], rdi
mov qword [rsp + 0x890], r15
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rcx, str.JS0GROUP.dll
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x30], 0
mov r15, rax
test rax, rax
je 0x180002b27
mov rcx, rax
mov qword [rsp + 0x8c0], rsi
call fcn.180016190
mov ecx, eax
mov ebx, eax
call fcn.180006414
mov r9d, ebx
mov rdx, r15
mov rsi, rax
lea rax, [rsp + 0x30]
mov rcx, rdi
mov r8, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x180002b12
mov qword [rsp + 0x8b8], rbp
mov rbp, qword [rsp + 0x30]
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x898], r14
test ebp, ebp
je 0x180002af4
movzx r14d, word [0x180155b74]
add eax, 0x15
cmp eax, ebp
jae 0x180002af4
nop
cmp ecx, ebp
jae 0x180002af4
movzx r11d, r14w
lea r8, [r12 + 0x157530]
mov edi, ecx
mov r10d, reloc.WSOCK32.dll_setsockopt
imul r11, r11, 0x15
lea r8, [r8 + r11*4]
cmp dword [r8], 0
jne 0x180002ac8
lea rax, [r11 + r9]
movzx eax, byte [rax + r12 + 0x1555f0]
cmp byte [rcx + rsi], al
jne 0x180002ae5
inc ecx
inc r9
add r8, 4
dec r10d
jne 0x180002ab0
inc ebx
cmp ebx, 1
je 0x180002af6
lea ecx, [rdi + 1]
xor r9d, r9d
jmp 0x180002a90
mov eax, 1
xor r9d, r9d
lea ecx, [rdi + 1]
cmp ebp, eax
ja 0x180002a87
xor edi, edi
mov r14, qword [rsp + 0x898]
mov rbp, qword [rsp + 0x8b8]
mov eax, edi
add rax, r15
mov qword [0x180239a28], rax
test rsi, rsi
je 0x180002b1f
mov rcx, rsi
call fcn.180005840
mov rsi, qword [rsp + 0x8c0]
call fcn.180016250
call fcn.180018780
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.180018cb0
cmp qword [0x180239a28], 0
mov r15, qword [rsp + 0x890]
mov rdi, qword [rsp + 0x8c8]
je 0x180002b6c
lea rdx, [0x180002be0]
lea rcx, [0x180239a28]
call fcn.180017d70
call fcn.180018800
mov rcx, qword [0x1802395c8]
call fcn.18001c910
mov rbx, qword [rsp + 0x8b0]
mov r12, qword [rsp + 0x8a0]
mov rcx, qword [rsp + 0x880]
xor rcx, rsp
call fcn.180005860
add rsp, 0x8a8
ret
lea r8, [rsp + 0x38]
lea rcx, [rsp + 0x80]
call fcn.180001450
lea r8, str.CatiaV5_RLM_License_Error
lea rdx, [rsp + 0x80]
mov r9d, setsockopt
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, ebx
call fcn.1800077f4
int3