Function at 0x10002a30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1001dcfb
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xd8], edi
push 0xb8
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd8], edi
push 0
push eax
call fcn.10008360
push esi
lea ecx, [ebp - 0xd4]
call fcn.100046d0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xd4]
mov word [ebp - 0xe8], 1
mov byte [ebp - 0xdb], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov edx, dword [ebp + eax - 0x9c]
test edx, edx
movzx eax, word [ebp - 0xda]
mov word [ebp - 0xe6], ax
sete cl
movzx eax, word [ebp - 0xda]
mov word [ebp - 0xda], ax
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xdc], cl
mov dword [ebp - 0xd8], eax
push dword [ebp - 0xe8]
mov ecx, eax
mov byte [ebp - 4], 1
push 0
push dword [ebp - 0xdc]
push edx
call fcn.10005d30
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jne 0x10002bfb
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
test ecx, ecx
je 0x10002b84
mov edx, dword [ebp - 0x14]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10002b65
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002d34
push edx
push ecx
call fcn.10006014
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xd8], eax
lea ecx, [ebp - 0xc4]
call fcn.10004360
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 4]
lea ecx, [edx - 0x18]
mov dword [ebp + edx - 0xd8], ecx
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 2
push eax
mov dword [ebp - 0x64], vtable.std::ios_base.0
call fcn.10007408
mov eax, edi
jmp 0x10002d16
mov edi, eax
xor esi, esi
xor eax, eax
mov edx, edi
sub edx, ecx
cmp ecx, edi
cmova edx, eax
mov eax, ecx
test edx, edx
je 0x10002c68
cmp edx, 0x40
jb 0x10002c68
movaps xmm2, xmmword [0x10026000]
and edx, 0xffffffc0
nop
movups xmm0, xmmword [eax]
add esi, 0x40
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [eax], xmm1
movups xmm0, xmmword [eax + 0x10]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [eax + 0x10], xmm1
movups xmm0, xmmword [eax + 0x20]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [eax + 0x20], xmm1
movups xmm0, xmmword [eax + 0x30]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [eax + 0x30], xmm1
add eax, 0x40
cmp esi, edx
jne 0x10002c20
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
jmp 0x10002c6a
mov edx, edi
cmp eax, edi
je 0x10002c7e
nop
xor byte [eax], 0x14
inc eax
cmp eax, edi
jne 0x10002c70
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi], ecx
mov dword [ebp - 0x1c], 0
mov dword [esi + 4], edx
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xd8], eax
lea ecx, [ebp - 0xc4]
call fcn.10004360
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0xd8], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 3
push eax
mov dword [ebp - 0x64], vtable.std::ios_base.0
call fcn.10007408
mov eax, esi
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10005fd1
mov esp, ebp
pop ebp
ret
call fcn.1000daca
int3