Function at 0x1005df00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5ef0
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
cmp dword [0x100fb6e8], 0
push esi
jne 0x1005e033
mov dword [ebp - 0x3e], 0x49a0494
xor ecx, ecx
mov dword [ebp - 0x3a], 0x484048f
mov dword [ebp - 0x36], 0x4a2048f
mov dword [ebp - 0x32], 0x4aa04bc
mov dword [ebp - 0x2e], 0x490048c
mov dword [ebp - 0x2a], 0x4870486
mov dword [ebp - 0x26], 0x49c0486
mov dword [ebp - 0x22], 0x4820494
mov dword [ebp - 0x1e], 0x49c048c
mov dword [ebp - 0x1a], 0x4f50489
mov dword [ebp - 0x16], 0x4b804af
mov dword [ebp - 0x12], 0x4b1
mov byte [ebp - 0xe], 1
nop word [eax + eax]
lea eax, [ecx + 0x4c8]
xor word [ebp + ecx*2 - 0x3e], ax
inc ecx
cmp ecx, 0x17
jb 0x1005df90
mov edx, dword [0x1017ddf0]
lea ecx, [ebp - 0x3e]
mov byte [ebp - 0xe], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005dfb1
sub ecx, esi
mov eax, Ordinal_2
sar ecx, 1
sub eax, edx
cmp eax, ecx
jb 0x1005e1cb
cmp dword [0x1017ddf4], 8
mov eax, 0x1017dde0
push ecx
cmovae eax, dword [0x1017dde0]
lea ecx, [ebp - 0x3e]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x44]
lea ecx, [ebp - 0x5c]
call fcn.1000e2e0
mov ecx, 0x100fb6d8
call fcn.1000d830
movups xmm0, xmmword [ebp - 0x5c]
xor eax, eax
lea ecx, [ebp - 0x5c]
mov word [ebp - 0x5c], ax
movups xmmword [0x100fb6d8], xmm0
movq xmm0, qword [ebp - 0x4c]
movq qword [0x100fb6e8], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
call fcn.1000d830
sub esp, 0xc
lea ecx, [ebp - 0x1b8]
push 0x100fb6d8
call fcn.10045150
mov esi, eax
mov dword [ebp - 4], 0
cmp esi, 0x100fb628
je 0x1005e07b
mov ecx, 0x100fb62c
call fcn.1000d7a0
push esi
mov ecx, 0x100fb628
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::swap_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t____]
lea eax, [esi + 4]
mov ecx, 0x100fb62c
push eax
call fcn.100459b0
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 4], 0xffffffff
call fcn.1000ab00
cmp dword [0x100fb678], 0
je 0x1005e1bc
mov esi, dword [0x100fb564]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x1005e197
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
nop dword [eax]
nop word [eax + eax]
push dword [esi + 0x14]
lea eax, [ebp - 0x108]
push 0x100df414
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x108]
push dword [esi + 0x14]
push str.Index
push eax
call fcn.1005d6b0
push dword [esi + 0x18]
lea eax, [ebp - 0x108]
push str.Effect
push eax
call fcn.1005d6b0
push dword [esi + 0x1c]
lea eax, [ebp - 0x108]
push str.Particle
push eax
call fcn.1005d6b0
push dword [esi + 0x20]
lea eax, [ebp - 0x108]
push 0x100dada0
push eax
call fcn.1005d6b0
movzx eax, byte [esi + 0x24]
push eax
push str.Ancient
lea eax, [ebp - 0x108]
push eax
call fcn.1005d7a0
movzx eax, byte [esi + 0x25]
push eax
push str.StyleOverride
lea eax, [ebp - 0x108]
push eax
call fcn.1005d7a0
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x1005e176
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1005e172
cmp esi, dword [eax + 8]
jne 0x1005e172
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1005e162
mov esi, eax
jmp 0x1005e18c
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x1005e18c
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x1005e180
cmp byte [esi + 0xd], 0
je 0x1005e0c0
pop edi
mov ecx, 0x100fb62c
call fcn.1000d7a0
test eax, eax
jne 0x1005e1bc
push eax
mov eax, dword [0x100fb628]
push 2
mov ecx, dword [eax + 4]
add ecx, 0x100fb628
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool_]
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.100051b0
int3