Function at 0x10111460
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10197416
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
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 ebx, ecx
mov dword [ebp - 0xd0], ebx
cmp byte [ebx + 0x48], 0
je 0x101114a3
mov al, 1
jmp 0x10111b8f
push 0
call fcn.1006c960
add esp, 4
test eax, eax
je 0x10111b8d
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
push dword [eax]
call fcn.1008b730
add esp, 4
test al, al
je 0x10111b8d
push dword [ebx + 8]
call fcn.1008af40
add esp, 4
test al, al
je 0x10111b8d
call fcn.1006f360
mov dword [ebp - 0xcc], eax
mov word [eax + 0xa8], 0
call fcn.1006eea0
mov esi, eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xd4], esi
or dword [esi + 4], 8
call fcn.1007af10
xor eax, eax
mov dword [ebp - 0xac], 3
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], 3
mov dword [ebp - 0x18], 0xf8ffe000
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x80], 0x90
mov ecx, dword [esi + 0x90]
mov dword [ebp - 4], 0
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41200000
push 0x6400
push 0x101f5c18
call fcn.1007c0c0
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0xac], 0x41200000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
cmp byte [0x102a2cf8], 0
mov dword [ebp - 0xdc], eax
je 0x10111643
cmp byte [0x102a2cf9], 0
jne 0x101116bd
xor esi, esi
mov byte [0x102a2cf9], 1
mov dword [ebp - 0xc4], esi
nop word [eax + eax]
xor esi, dword [0x102a2d18]
xor edi, edi
xor edi, dword [0x102a2d1c]
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 - 0xc4]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + str.Tlz_]
xor cl, bl
mov byte [esi + str.Tlz_], cl
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, 0x1b
jb 0x101115e0
jmp 0x101116b1
xor esi, esi
mov dword [ebp - 0xc4], esi
nop dword [eax + eax]
xor esi, dword [0x102a2d18]
xor edi, edi
xor edi, dword [0x102a2d1c]
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 - 0xc4]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + str.Tlz_]
xor cl, bl
mov byte [esi + str.Tlz_], cl
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, 0x1b
jb 0x10111650
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc5]
push eax
push 0x102a2d14
push str.Tlz_
lea ecx, [ebp - 0x30]
call fcn.10027a10
push dword [ebp - 0xdc]
cmp dword [ebp - 0x1c], 0xf
lea ecx, [ebp - 0xc0]
push ecx
push ecx
mov ecx, dword [esi + 0x90]
lea eax, [ebp - 0x30]
cmova eax, dword [ebp - 0x30]
mov dword [esp], 0x41200000
push eax
mov byte [ebp - 4], 1
call fcn.1007bdb0
lea ecx, [ebp - 0x30]
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], 0x41200000
call fcn.10023b60
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x80], eax
mov ecx, dword [esi + 0x90]
mov dword [ebp - 4], 0xffffffff
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41600000
push 0x2f238
push 0x1025e000
call fcn.1007c0c0
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], 0x41600000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41f00000
push 0x2f238
push 0x1025e000
call fcn.1007c0c0
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x94], 0x41f00000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
cmp byte [0x102a2d20], 0
mov dword [ebp - 0xd8], eax
je 0x10111845
cmp byte [0x102a2d21], 0
jne 0x101118bd
xor esi, esi
mov byte [0x102a2d21], 1
mov dword [ebp - 0xc4], esi
xor esi, dword [0x102a2d40]
xor edi, edi
xor edi, dword [0x102a2d44]
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 - 0xc4]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2d22]
xor cl, bl
mov byte [esi + 0x102a2d22], cl
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, 0x1d
jb 0x101117e2
jmp 0x101118b1
xor esi, esi
mov dword [ebp - 0xc4], esi
nop dword [eax]
xor esi, dword [0x102a2d40]
xor edi, edi
xor edi, dword [0x102a2d44]
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 - 0xc4]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102a2d22]
xor cl, bl
mov byte [esi + 0x102a2d22], cl
inc esi
mov dword [ebp - 0xc4], esi
cmp esi, 0x1d
jb 0x10111850
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc5]
push eax
push 0x102a2d3e
push 0x102a2d22
lea ecx, [ebp - 0x48]
call fcn.10027a10
push dword [ebp - 0xd8]
cmp dword [ebp - 0x34], 0xf
lea ecx, [ebp - 0xc0]
push ecx
push ecx
mov ecx, dword [esi + 0x90]
lea eax, [ebp - 0x48]
cmova eax, dword [ebp - 0x48]
mov dword [esp], 0x41400000
push eax
mov dword [ebp - 4], 2
call fcn.1007bdb0
lea ecx, [ebp - 0x48]
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], 0x41400000
mov dword [ebp - 4], 0xffffffff
call fcn.10023b60
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41600000
push 0x2f238
push 0x1025e000
call fcn.1007c0c0
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], 0x41600000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41200000
push 0x2c4ec
push 0x102259c0
call fcn.1007c0c0
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], 0x41200000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41600000
push 0x2c4ec
push 0x102259c0
call fcn.1007c0c0
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], 0x41600000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41d00000
push 0x2c4ec
push 0x102259c0
call fcn.1007c0c0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], 0x41d00000
mov ecx, dword [esi + 0x90]
call fcn.1007e110
push eax
lea eax, [ebp - 0xc0]
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41900000
push 0x2f238
push 0x1025e000
call fcn.1007c0c0
mov dword [ebx + 0x88], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc0]
mov dword [ebx + 0x8c], 0x41900000
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41500000
push 0x96b5
push 0x10251eb0
call fcn.1007bf10
mov dword [ebx + 0xb0], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc0]
mov dword [ebx + 0xb4], 0x41500000
push eax
push ecx
mov ecx, dword [esi + 0x90]
mov dword [esp], 0x41c00000
push 0x96b5
push 0x10251eb0
call fcn.1007bf10
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xbc], 0x41c00000
push 0
push dword [esi + 0x90]
call fcn.100894e0
push dword [ebp - 0xcc]
call fcn.10111bb0
add esp, 0xc
call fcn.1008adc0
test al, al
je 0x10111b8d
push 0x78
call fcn.10184796
mov esi, eax
add esp, 4
mov dword [ebp - 0xcc], esi
mov dword [ebp - 4], 3
test esi, esi
je 0x10111b14
call fcn.1006ec20
push eax
mov ecx, esi
call fcn.10066120
jmp 0x10111b16
xor eax, eax
push 0x78
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0xc], eax
call fcn.10184796
mov esi, eax
add esp, 4
mov dword [ebp - 0xcc], esi
mov dword [ebp - 4], 4
test esi, esi
je 0x10111b4c
call fcn.1006ec20
push eax
mov ecx, esi
call fcn.10066120
jmp 0x10111b4e
xor eax, eax
push 0x78
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0x10], eax
call fcn.10184796
mov esi, eax
add esp, 4
mov dword [ebp - 0xcc], esi
mov dword [ebp - 4], 5
test esi, esi
je 0x10111b84
call fcn.1006ec20
push eax
mov ecx, esi
call fcn.10066120
jmp 0x10111b86
xor eax, eax
mov dword [ebx + 0x14], eax
mov byte [ebx + 0x48], 1
xor al, al
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