Function at 0x100e9940
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x10331c40]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
call fcn.100f4930
cmp byte [0x1032f5d0], 0
je 0x100e99c7
cmp byte [0x1032f5d1], 0
jne 0x100e9a15
mov byte [0x1032f5d1], 1
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x1032f604]
xor ebx, dword [0x1032f600]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x1032f5d2]
xor al, bl
mov byte [esi + 0x1032f5d2], al
inc esi
cmp esi, 0x2c
jb 0x100e9980
jmp 0x100e9a15
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x1032f604]
xor ebx, dword [0x1032f600]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x1032f5d2]
xor al, bl
mov byte [esi + 0x1032f5d2], al
inc esi
cmp esi, 0x2c
jb 0x100e99d0
lea eax, [ebp - 0x7d]
push eax
push 0x1032f5fd
push 0x1032f5d2
lea ecx, [ebp - 0x7c]
call fcn.10054040
cmp dword [ebp - 0x68], 0xf
lea edx, [ebp - 0x7c]
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
cmova edx, dword [ebp - 0x7c]
mov ecx, edx
mov dword [ebp - 0x38], 0
movups xmmword [ebp - 0x4c], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e9a50
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.100481b0
lea eax, [ebp - 0x64]
mov ecx, 0x1032f5b0
push eax
call fcn.100551b0
cmp dword [ebp - 0x50], 0xf
lea edx, [ebp - 0x64]
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
cmova edx, dword [ebp - 0x64]
mov ecx, edx
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x34], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e9a96
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.100481b0
push 0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0xc], 1
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 8], 0xf
push eax
xorps xmm0, xmm0
lea eax, [ebp - 0x1c]
movups xmmword [ebp - 0x1c], xmm0
push eax
mov word [ebp - 0x1c], 0x7a
call fcn.100f5b60
mov ecx, dword [ebp - 8]
add esp, 0x10
pop esi
pop ebx
cmp ecx, 0xf
jbe 0x100e9b10
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e9b06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e9c00
push ecx
push edx
call fcn.1015539a
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x100e9b56
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e9b4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e9c00
push ecx
push edx
call fcn.1015539a
add esp, 8
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
cmp ecx, 0xf
jbe 0x100e9b98
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e9b8e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e9c00
push ecx
push edx
call fcn.1015539a
add esp, 8
mov ecx, dword [ebp - 0x38]
cmp ecx, 0xf
jbe 0x100e9bc8
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e9bbe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e9c00
push ecx
push edx
call fcn.1015539a
add esp, 8
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
cmp ecx, 0xf
jbe 0x100e9c10
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e9c06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100e9c06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1015539a
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101556c2
mov esp, ebp
pop ebp
ret