Function at 0x10110500
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10197345
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x102a67c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x80], edi
cmp dword [edi + 4], 0
jne 0x101106f8
mov eax, dword [0x102a7958]
mov ecx, 0x102a2bc8
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002f740
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
cmova eax, dword [ebp - 0x40]
cmp byte [0x102a2b88], 0
mov dword [ebp - 0x7c], eax
je 0x101105f7
cmp byte [0x102a2b89], 0
jne 0x10110658
xor esi, esi
mov byte [0x102a2b89], 1
mov dword [ebp - 0x74], esi
nop word [eax + eax]
xor esi, dword [0x102a2bc0]
xor edi, edi
xor edi, dword [0x102a2bc4]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x102a2b8a], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x30
jb 0x101105a0
jmp 0x10110655
xor esi, esi
mov dword [ebp - 0x74], esi
nop dword [eax]
xor esi, dword [0x102a2bc0]
xor edi, edi
xor edi, dword [0x102a2bc4]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x102a2b8a], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x30
jb 0x10110600
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x75]
push eax
push 0x102a2bb9
push 0x102a2b8a
lea ecx, [ebp - 0x28]
call fcn.10027a10
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x74]
mov ebx, dword [ebp - 0x84]
lea esi, [ebp - 0x28]
cmova esi, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push ebx
push eax
mov dword [ebp - 0x74], 0x54
call fcn.100ee230
add esp, 0xc
mov ecx, ebx
mov eax, dword [eax]
push 0
push 1
push dword [ebp - 0x7c]
push esi
call eax
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x101106c7
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x101106f8
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [edi + 8], 0
jne 0x101108d3
mov eax, dword [0x102a7958]
mov ecx, 0x102a2c20
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002f740
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
cmova eax, dword [ebp - 0x40]
cmp byte [0x102a2be8], 0
mov dword [ebp - 0x88], eax
je 0x101107cd
cmp byte [0x102a2be9], 0
jne 0x10110830
xor esi, esi
mov byte [0x102a2be9], 1
mov dword [ebp - 0x74], esi
nop dword [eax]
xor esi, dword [0x102a2c18]
xor edi, edi
xor edi, dword [0x102a2c1c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2bea]
xor cl, bl
mov byte [esi + 0x102a2bea], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x29
jb 0x10110770
jmp 0x1011082d
xor esi, esi
mov dword [ebp - 0x74], esi
xor esi, dword [0x102a2c18]
xor edi, edi
xor edi, dword [0x102a2c1c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2bea]
xor cl, bl
mov byte [esi + 0x102a2bea], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x29
jb 0x101107d2
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x75]
push eax
push 0x102a2c12
push 0x102a2bea
lea ecx, [ebp - 0x28]
call fcn.10027a10
mov ebx, dword [ebp - 0x84]
lea eax, [ebp - 0x7c]
cmp dword [ebp - 0x14], 0xf
lea esi, [ebp - 0x28]
push eax
cmova esi, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
push ebx
push eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x7c], 0x54
call fcn.100ee230
add esp, 0xc
mov ecx, ebx
mov eax, dword [eax]
push 0
push 1
push dword [ebp - 0x88]
push esi
call eax
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x101108a2
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x101108d3
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [edi + 0xc], 0
jne 0x10110aa3
mov eax, dword [0x102a7958]
mov ecx, 0x102a2c80
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002f740
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 4
cmova eax, dword [ebp - 0x40]
cmp byte [0x102a2c40], 0
mov dword [ebp - 0x84], eax
je 0x1011099d
cmp byte [0x102a2c41], 0
jne 0x10110a00
xor esi, esi
mov byte [0x102a2c41], 1
mov dword [ebp - 0x74], esi
nop dword [eax]
xor esi, dword [0x102a2c78]
xor edi, edi
xor edi, dword [0x102a2c7c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2c42]
xor cl, bl
mov byte [esi + 0x102a2c42], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x34
jb 0x10110940
jmp 0x101109fd
xor esi, esi
mov dword [ebp - 0x74], esi
xor esi, dword [0x102a2c78]
xor edi, edi
xor edi, dword [0x102a2c7c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2c42]
xor cl, bl
mov byte [esi + 0x102a2c42], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x34
jb 0x101109a2
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x75]
push eax
push 0x102a2c75
push 0x102a2c42
lea ecx, [ebp - 0x28]
call fcn.10027a10
mov ebx, dword [ebp - 0x7c]
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x14], 0xf
lea esi, [ebp - 0x28]
push eax
cmova esi, dword [ebp - 0x28]
lea eax, [ebp - 0x7c]
push ebx
push eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x88], 0x54
call fcn.100ee230
add esp, 0xc
mov ecx, ebx
mov eax, dword [eax]
push 0
push 1
push dword [ebp - 0x84]
push esi
call eax
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10110a72
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x10110aa3
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [edi + 0x10], 0
jne 0x10110c7d
mov eax, dword [0x102a7958]
mov ecx, 0x102a2cd8
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0xdc]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x70]
push eax
call fcn.1002f740
cmp dword [ebp - 0x5c], 0xf
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 6
cmova eax, dword [ebp - 0x70]
cmp byte [0x102a2ca0], 0
mov dword [ebp - 0x84], eax
je 0x10110b67
cmp byte [0x102a2ca1], 0
jne 0x10110bc8
xor esi, esi
mov byte [0x102a2ca1], 1
mov dword [ebp - 0x74], esi
nop dword [eax]
xor esi, dword [0x102a2cd0]
xor edi, edi
xor edi, dword [0x102a2cd4]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x102a2ca2], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x28
jb 0x10110b10
jmp 0x10110bc5
xor esi, esi
mov dword [ebp - 0x74], esi
nop dword [eax]
xor esi, dword [0x102a2cd0]
xor edi, edi
xor edi, dword [0x102a2cd4]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x74]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x102a2ca2], cl
inc esi
mov dword [ebp - 0x74], esi
cmp esi, 0x28
jb 0x10110b70
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x75]
push eax
push 0x102a2cc9
push 0x102a2ca2
lea ecx, [ebp - 0x58]
call fcn.10027a10
cmp dword [ebp - 0x44], 0xf
lea eax, [ebp - 0x88]
mov ebx, dword [ebp - 0x7c]
lea esi, [ebp - 0x58]
cmova esi, dword [ebp - 0x58]
push eax
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 7
push ebx
push eax
mov dword [ebp - 0x88], 0x54
call fcn.100ee230
add esp, 0xc
mov ecx, ebx
mov eax, dword [eax]
push 0
push 1
push dword [ebp - 0x84]
push esi
call eax
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x44]
cmp eax, 0xf
jbe 0x10110c3a
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x58]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x10110c6b
push eax
push dword [ebp - 0x70]
lea eax, [ebp - 0x70]
push eax
call fcn.100163b0
add esp, 0xc
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov ebx, dword [0x10c02958]
shr ebx, 3
and bl, 1
mov byte [ebp - 0x7c], bl
cmp byte [edi], bl
je 0x10110cc1
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0x7c]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [edi + 8]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [edi + 0xc]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [edi + 0x10]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov byte [edi], bl
test bl, bl
je 0x10110cd2
mov eax, dword [0x102a79a8]
mov eax, dword [eax]
mov dword [eax], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10184b39
mov esp, ebp
pop ebp
ret