Function at 0x1401518f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x210
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x1402ea010]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov rdi, r9
mov rbx, rdx
mov qword [rbp - 0x80], rcx
xor r13d, r13d
mov byte [rsp + 0x40], r13b
mov rax, qword [rdx]
lea r8, [rsp + 0x40]
mov rdx, qword [r9]
mov rcx, rbx
call qword [rax + 0x1f0]
mov r12, rax
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140151a57
mov rdx, qword [rdi]
lea rcx, [rbp - 0x10]
call qword [sym.imp.Hedgine_x64.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_hedgine::Widen_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
mov r8, rax
lea rdx, str.Error_:_Entity
lea rcx, [rbp + 0x90]
call fcn.140017fe0
nop
lea r8d, [r13 + 0xb]
lea rdx, str._Not_found.
mov rcx, rax
call fcn.14000e060
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov edx, 0xffff0000
lea rcx, [rbp - 0x40]
call qword [sym.imp.Hedgine_x64.dll_void___cdecl_hedgine::print_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__enum_hedgine::DEFAULT_COLOR_]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140151a2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140151a25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140151a25
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140244ae4
movdqa xmm0, xmmword [0x14029b1c0]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x40], r13w
lea rcx, [rbp + 0x90]
call fcn.1400073b0
nop
lea rcx, [rbp - 0x10]
call fcn.1400073b0
jmp 0x140152265
mov rax, qword [rax]
mov rcx, r12
call qword [rax + reloc.WSOCK32.dll_htonl]
cmp eax, 0x19
je 0x140151aa9
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov r8d, 0x25
lea rdx, str.Error_:_Entity_must_be_a_static_mesh.
lea rcx, [rbp - 0x60]
call fcn.14000c040
nop
mov edx, 0xffff0000
lea rcx, [rbp - 0x60]
call qword [sym.imp.Hedgine_x64.dll_void___cdecl_hedgine::print_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__enum_hedgine::DEFAULT_COLOR_]
nop
lea rcx, [rbp - 0x60]
call fcn.1400073b0
jmp 0x140152265
mov rax, qword [rbx]
mov rdx, qword [rdi]
add rdx, 0x20
lea r8, [rsp + 0x40]
mov rcx, rbx
call qword [rax + 0x1f0]
mov rcx, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140151b6d
mov rdx, qword [rdi]
add rdx, 0x20
lea rcx, [rbp + 0x10]
call qword [sym.imp.Hedgine_x64.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_hedgine::Widen_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
mov r8, rax
lea rdx, str.Error_:_Entity
lea rcx, [rbp + 0x70]
call fcn.140017fe0
nop
mov r8d, recv
lea rdx, str._Not_found.
mov rcx, rax
call fcn.14000e060
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov edx, 0xffff0000
lea rcx, [rbp - 0x60]
call qword [sym.imp.Hedgine_x64.dll_void___cdecl_hedgine::print_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__enum_hedgine::DEFAULT_COLOR_]
nop
lea rcx, [rbp - 0x60]
call fcn.1400073b0
nop
lea rcx, [rbp + 0x70]
call fcn.1400073b0
nop
lea rcx, [rbp + 0x10]
call fcn.1400073b0
jmp 0x140152265
mov rax, qword [rax]
call qword [rax + reloc.WSOCK32.dll_htonl]
cmp eax, 0x1b
je 0x140151bbc
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov r8d, 0x21
lea rdx, str.Error_:_Entity_must_be_a_terrain.
lea rcx, [rbp - 0x60]
call fcn.14000c040
nop
mov edx, 0xffff0000
lea rcx, [rbp - 0x60]
call qword [sym.imp.Hedgine_x64.dll_void___cdecl_hedgine::print_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__enum_hedgine::DEFAULT_COLOR_]
nop
lea rcx, [rbp - 0x60]
call fcn.1400073b0
jmp 0x140152265
mov rax, qword [rbx]
mov rdx, qword [rdi]
add rdx, 0x40
mov rcx, rbx
call qword [rax + 0x230]
mov rsi, rax
mov rcx, qword [r12]
mov r8, qword [rcx + 0x1a8]
xor edx, edx
mov rcx, r12
call r8
mov r14, rax
cmp byte [rsp + 0x40], r13b
jne 0x140152265
movaps xmm0, xmmword [0x14029c170]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [0x14029b9d0]
movaps xmmword [rbp - 0x50], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r13
mov rbx, qword [rsi + 8]
sub rbx, qword [rsi]
sar rbx, 3
test rbx, rbx
je 0x140151c74
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x1401522a8
mov rdx, rbx
call fcn.1400091f0
mov rdi, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
lea rcx, [rax + rbx*8]
mov qword [rbp - 0x30], rcx
mov rbx, qword [rsi + 8]
mov rdx, qword [rsi]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 3
lea rax, [rdi + rbx*8]
mov qword [rbp - 0x38], rax
mov r15, r13
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x20]
test eax, eax
je 0x14015221d
movss xmm9, dword [0x14029c160]
xorps xmm7, xmm7
movss xmm10, dword [0x14029a6b4]
movss xmm8, dword [0x14029a564]
mov r12, qword [rsp + 0x48]
nop dword [rax + rax]
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe0]
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xa0]
test rax, rax
je 0x14015215b
mov dword [rbp + 0x1c], 0
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x90]
mov rdx, r13
mov rcx, rax
call r8
mov rbx, rax
mov rcx, qword [r14]
mov r8, qword [rcx + 0x28]
mov rdx, r15
mov rcx, r14
call r8
mov rcx, qword [rax]
mov r8, qword [rcx + 0x98]
mov rdx, r13
mov rcx, rax
call r8
mov rsi, rax
movss xmm0, dword [rbx + 8]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm7
lea r8, [rbp - 0x40]
mov edx, 8
mov rcx, qword [rbp - 0x80]
call fcn.140152740
movaps xmm6, xmm0
movaps xmm3, xmm0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x48]
call fcn.1401522b0
movaps xmm3, xmm6
addss xmm3, xmm8
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x68]
call fcn.1401522b0
subss xmm6, xmm8
movaps xmm3, xmm6
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x60]
call fcn.1401522b0
movss xmm1, dword [rsp + 0x64]
subss xmm1, dword [rsp + 0x6c]
movss xmm0, dword [rsp + 0x60]
subss xmm0, dword [rsp + 0x68]
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x68]
call qword [sym.imp.Hedgine_x64.dll_class_hedgine::vector2Df___cdecl_hedgine::normalize_class_hedgine::vector2Df__class_hedgine::vector2Df_const____ptr64_]
movss xmm1, dword [rbp - 0x64]
xorps xmm1, xmm9
movss xmm2, dword [rbx]
movaps xmm0, xmm2
mulss xmm0, dword [rbp - 0x68]
mulss xmm2, xmm1
movss xmm3, dword [rsp + 0x4c]
addss xmm3, xmm0
movss xmm1, dword [rsp + 0x48]
addss xmm1, xmm2
movss xmm0, dword [rbx + 4]
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x58], xmm3
mov dword [rsp + 0x5c], 0
movss dword [rbx], xmm1
movss dword [rbx + 4], xmm0
movss dword [rbx + 8], xmm3
xorps xmm0, xmm0
movaps xmmword [rbp + 0x70], xmm0
mov rax, qword [r12]
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x70]
mov rcx, r12
call qword [rax + 0x280]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
mov rax, qword [r12]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x10]
mov rcx, r12
call qword [rax + 0x288]
movss xmm1, dword [rbp + 0x74]
subss xmm1, dword [rsp + 0x54]
addss xmm1, dword [rbx + 4]
addss xmm1, dword [rbx + 4]
movss dword [rbx + 4], xmm1
movaps xmm0, xmmword [0x14029aee0]
movups xmmword [rbp + 0x30], xmm0
movaps xmm1, xmmword [0x14029afb0]
movups xmmword [rbp + 0x40], xmm1
movaps xmm0, xmmword [0x14029b2d0]
movups xmmword [rbp + 0x50], xmm0
movaps xmm1, xmmword [0x14029b8a0]
movups xmmword [rbp + 0x60], xmm1
movss xmm0, dword [rbp - 0x68]
movss dword [rsp + 0x70], xmm0
mov dword [rsp + 0x74], 0
movss xmm1, dword [rbp - 0x64]
movss dword [rsp + 0x78], xmm1
mov dword [rsp + 0x7c], 0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x90]
call qword [sym.imp.Hedgine_x64.dll_class_hedgine::vector3Df___cdecl_hedgine::radians_class_hedgine::vector3Df__class_hedgine::vector3Df_const____ptr64_]
movss xmm3, dword [rax + 8]
movss xmm2, dword [rax + 4]
movss xmm1, dword [rax]
lea rcx, [rbp + 0x30]
call qword [sym.imp.Hedgine_x64.dll_void___cdecl_hedgine::SetRotationRadians_class_hedgine::matrix4f____ptr64__float__float__float_]
movzx r10d, word [rsi + 4]
mov r9d, r10d
shr r9d, 0xa
mov r8d, r10d
and r8d, 0x3ff
shl r8d, 0xd
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movd edx, xmm0
shr edx, 0x17
mov ecx, __WSAFDIsSet
sub ecx, edx
mov edi, r8d
shl edi, cl
and edi, 0x7fe000
lea eax, [rdx - 0x25]
shl eax, 0x17
or edi, eax
xor r11d, r11d
mov ecx, r11d
test r8d, r8d
setne cl
mov eax, r11d
and r9d, 0x1f
sete al
and ecx, eax
imul edi, ecx
lea ecx, [r9 + 0x70]
shl ecx, 0x17
or ecx, r8d
mov eax, r11d
test r9d, r9d
cmovne eax, ecx
or edi, eax
shl r10d, 0x10
and r10d, 0x80000000
or edi, r10d
movzx r10d, word [rsi + 2]
mov r9d, r10d
shr r9d, 0xa
mov r8d, r10d
and r8d, 0x3ff
shl r8d, 0xd
mov eax, r8d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movd edx, xmm0
shr edx, 0x17
mov ecx, __WSAFDIsSet
sub ecx, edx
mov ebx, r8d
shl ebx, cl
and ebx, 0x7fe000
lea eax, [rdx - 0x25]
shl eax, 0x17
or ebx, eax
mov ecx, r11d
test r8d, r8d
setne cl
mov eax, r11d
and r9d, 0x1f
sete al
and ecx, eax
imul ebx, ecx
lea ecx, [r9 + 0x70]
shl ecx, 0x17
or ecx, r8d
mov eax, r11d
test r9d, r9d
cmovne eax, ecx
or ebx, eax
shl r10d, 0x10
and r10d, 0x80000000
or ebx, r10d
movzx r11d, word [rsi]
mov r10d, r11d
shr r10d, 0xa
mov r9d, r11d
and r9d, 0x3ff
shl r9d, 0xd
mov eax, r9d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movd edx, xmm0
shr edx, 0x17
mov ecx, __WSAFDIsSet
sub ecx, edx
mov r8d, r9d
shl r8d, cl
and r8d, 0x7fe000
lea eax, [rdx - 0x25]
shl eax, 0x17
or r8d, eax
xor edx, edx
mov ecx, edx
and r10d, 0x1f
sete cl
mov eax, edx
test r9d, r9d
setne al
and ecx, eax
imul r8d, ecx
lea ecx, [r10 + 0x70]
shl ecx, 0x17
or ecx, r9d
mov eax, edx
test r10d, r10d
cmovne eax, ecx
or r8d, eax
shl r11d, 0x10
and r11d, 0x80000000
or r8d, r11d
movd xmm6, r8d
movaps xmm2, xmm6
mulss xmm2, dword [rbp + 0x30]
movss xmm0, dword [rbp + 0x40]
movd xmm4, ebx
mulss xmm0, xmm4
addss xmm2, xmm0
movss xmm1, dword [rbp + 0x50]
movd xmm5, edi
mulss xmm1, xmm5
addss xmm2, xmm1
movss dword [rbp + 0x10], xmm2
movss xmm2, dword [rbp + 0x44]
mulss xmm2, xmm4
movss xmm0, dword [rbp + 0x34]
mulss xmm0, xmm6
addss xmm2, xmm0
movss xmm1, dword [rbp + 0x54]
mulss xmm1, xmm5
addss xmm2, xmm1
movss dword [rbp + 0x14], xmm2
movss xmm3, dword [rbp + 0x48]
mulss xmm3, xmm4
movss xmm0, dword [rbp + 0x38]
mulss xmm0, xmm6
addss xmm3, xmm0
movss xmm1, dword [rbp + 0x58]
mulss xmm1, xmm5
addss xmm3, xmm1
movss dword [rbp + 0x18], xmm3
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x10]
call fcn.140129670
movzx ecx, word [rax]
mov word [rsi], cx
movzx ecx, word [rax + 2]
mov word [rsi + 2], cx
movzx ecx, word [rax + 4]
mov word [rsi + 4], cx
movzx eax, word [rax + 6]
mov word [rsi + 6], ax
inc r13
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xa0]
cmp r13, rax
jb 0x140151cf0
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x30]
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 0xa0]
mov rcx, qword [r14]
mov r8, qword [rcx + 0x28]
mov rdx, r15
mov rcx, r14
call r8
mov rdx, rax
mov rcx, rdi
call rbx
mov rax, qword [r14]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xf0]
mov rax, qword [r14]
mov rcx, r14
test r15, r15
jne 0x1401521d1
xor edx, edx
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe0]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x50], xmm1
jmp 0x1401521fc
mov rdx, r15
call qword [rax + 0x28]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe0]
lea rdx, [rax + 0x10]
lea rcx, [rbp - 0x60]
call fcn.14009e210
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14009e210
inc r15
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x20]
mov eax, eax
cmp r15, rax
mov r13d, 0
jb 0x140151cb0
mov r12, qword [rbp - 0x78]
mov rax, qword [r12]
lea rdx, [rbp - 0x60]
mov rcx, r12
call qword [rax + 0x60]
mov rax, qword [r12]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
mov rcx, r12
call qword [rax + 0xb0]
mov rax, qword [r12]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
mov rcx, r12
call qword [rax + 0xc0]
nop
lea rcx, [rbp - 0x40]
call fcn.140009190
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1402447f0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140008110
int3