Function at 0x100e3e70
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x300
mov edx, 1
push ebx
push esi
xor ebx, ebx
nop
mov eax, edx
mov byte [esp + ebx + 0x108], dl
and al, 0x80
mov byte [esp + ebx + 0x207], dl
mov byte [esp + edx + 8], bl
inc ebx
movzx ecx, al
lea eax, [edx + edx]
neg ecx
sbb ecx, ecx
and ecx, 0x11b
xor ecx, eax
xor edx, ecx
cmp edx, 1
jne 0x100e3e80
mov ebx, edx
xor edx, edx
mov eax, ebx
mov byte [edx + 0x101fca78], bl
and al, 0x80
movzx ecx, al
neg ecx
sbb ecx, ecx
add ebx, ebx
and ecx, 0x11b
inc edx
xor ebx, ecx
cmp edx, 0x1e
jb 0x100e3eb4
xor eax, eax
test al, al
je 0x100e3ef1
movzx esi, al
lea edx, [esp + 0x207]
movzx ecx, byte [esp + esi + 8]
sub edx, ecx
movzx edx, byte [edx]
jmp 0x100e3ef5
xor edx, edx
xor esi, esi
lea ecx, [edx + edx]
xor ecx, edx
add ecx, ecx
xor ecx, edx
add ecx, ecx
xor ecx, edx
add ecx, ecx
xor edx, ecx
mov ecx, edx
shr ecx, 8
xor cl, dl
xor cl, 0x63
mov byte [eax + 0x101fc878], cl
mov byte [eax*4 + 0x101fd699], cl
mov byte [eax*4 + 0x101fd698], cl
mov byte [eax*4 + 0x101fd29b], cl
mov byte [eax*4 + 0x101fd298], cl
mov byte [eax*4 + 0x101fce9b], cl
mov byte [eax*4 + 0x101fce9a], cl
mov byte [eax*4 + 0x101fca9a], cl
mov byte [eax*4 + 0x101fca99], cl
je 0x100e3f89
movzx edx, cl
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x121]
mov byte [eax*4 + 0x101fd69b], cl
mov byte [eax*4 + 0x101fd29a], cl
mov byte [eax*4 + 0x101fce99], cl
mov byte [eax*4 + 0x101fca98], cl
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x109]
jmp 0x100e3fab
mov byte [eax*4 + 0x101fd69b], 0
xor cl, cl
mov byte [eax*4 + 0x101fd29a], 0
mov byte [eax*4 + 0x101fce99], 0
mov byte [eax*4 + 0x101fca98], 0
mov byte [eax*4 + 0x101fd69a], cl
mov byte [eax*4 + 0x101fd299], cl
mov byte [eax*4 + 0x101fce98], cl
mov byte [eax*4 + 0x101fca9b], cl
lea ecx, [esi*8]
xor ecx, esi
shl ecx, 2
xor ecx, esi
lea ebx, [ecx + ecx]
mov edx, ebx
shr edx, 8
mov cl, dl
xor cl, bl
cmp cl, 5
je 0x100e4019
movzx ecx, bl
xor ecx, 5
xor ecx, edx
lea edx, [esp + 0x207]
movzx ecx, byte [esp + ecx + 8]
sub edx, ecx
mov bl, byte [edx]
mov byte [eax + 0x101fc978], bl
test bl, bl
je 0x100e4021
movzx edx, bl
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x170]
jmp 0x100e4025
xor bl, bl
mov byte [eax + 0x101fc978], bl
xor edx, edx
xor cl, cl
mov byte [eax*4 + 0x101fe69a], cl
mov byte [eax*4 + 0x101fe299], cl
mov byte [eax*4 + 0x101fde98], cl
mov byte [eax*4 + 0x101fda9b], cl
mov byte [edx*4 + 0x101ff69a], cl
mov byte [edx*4 + 0x101ff299], cl
mov byte [edx*4 + 0x101fee98], cl
mov byte [edx*4 + 0x101fea9b], cl
test bl, bl
je 0x100e406f
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x1cf]
jmp 0x100e4071
xor cl, cl
mov byte [eax*4 + 0x101fe698], cl
mov byte [eax*4 + 0x101fe29b], cl
mov byte [eax*4 + 0x101fde9a], cl
mov byte [eax*4 + 0x101fda99], cl
mov byte [edx*4 + 0x101ff698], cl
mov byte [edx*4 + 0x101ff29b], cl
mov byte [edx*4 + 0x101fee9a], cl
mov byte [edx*4 + 0x101fea99], cl
test bl, bl
je 0x100e40bb
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x1f6]
jmp 0x100e40bd
xor cl, cl
mov byte [eax*4 + 0x101fe699], cl
mov byte [eax*4 + 0x101fe298], cl
mov byte [eax*4 + 0x101fde9b], cl
mov byte [eax*4 + 0x101fda9a], cl
mov byte [edx*4 + 0x101ff699], cl
mov byte [edx*4 + 0x101ff298], cl
mov byte [edx*4 + 0x101fee9b], cl
mov byte [edx*4 + 0x101fea9a], cl
test bl, bl
je 0x100e4107
movzx ecx, byte [esp + edx + 8]
mov cl, byte [esp + ecx + 0x1e7]
jmp 0x100e4109
xor cl, cl
mov byte [eax*4 + 0x101fe69b], cl
mov byte [eax*4 + 0x101fe29a], cl
mov byte [eax*4 + 0x101fde99], cl
mov byte [eax*4 + 0x101fda98], cl
inc eax
mov byte [edx*4 + 0x101ff69b], cl
mov byte [edx*4 + 0x101ff29a], cl
mov byte [edx*4 + 0x101fee99], cl
mov byte [edx*4 + 0x101fea98], cl
cmp eax, 0x100
jl 0x100e3ed7
pop esi
pop ebx
add esp, 0x300
ret