Function at 0x1198c
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x19044]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
xor eax, eax
dec dword [esi + 0x18]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], eax
jne 0x11f18
cmp dword [esi + 0x14], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x50], eax
jle 0x11f18
lea eax, [esi + 0x24]
push ebx
mov dword [ebp - 0x4c], eax
push edi
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov ecx, 0xfffffff
and edi, ecx
shr ebx, 1
and ebx, ecx
mov ecx, dword [ebp - 0x48]
add edi, 0x10000
mov dword [ebp - 0x34], ebx
cmp edi, ecx
jb 0x11a06
mov edx, dword [ebp - 0x44]
add edx, ecx
lea ecx, [ebx + edi]
cmp ecx, edx
jbe 0x11ac9
cmp dword [ebp - 0x3c], 0
je 0x11a19
push dword [ebp - 0x40]
call dword [0x17090]
and dword [ebp - 0x3c], 0
cmp dword [ebp - 0x40], 0
je 0x11a28
push dword [ebp - 0x40]
call dword [0x1708c]
mov eax, ebx
and eax, 0xfff
mov edx, edi
and edx, 0xfff
lea eax, [eax + edx + 0xfff]
xor edx, edx
push edx
shr eax, 0xc
push edx
shr ebx, 0xc
add eax, ebx
shl eax, 0xc
push edx
mov ecx, edi
and ecx, 0xfffff000
push eax
push ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
call dword [0x1709c]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x11ef1
push 2
push 0
mov ebx, eax
push ebx
call fcn.00011243
test eax, eax
je 0x11ee6
xor ecx, ecx
inc ecx
test byte [ebx + 6], 5
mov dword [ebp - 0x3c], ecx
je 0x11a94
mov ebx, dword [ebx + 0xc]
jmp 0x11aa5
push 0x20
xor eax, eax
push eax
push eax
push ecx
push eax
push ebx
call dword [0x17098]
mov ebx, eax
test ebx, ebx
je 0x11ed6
push 4
push dword [ebp - 0x40]
call dword [0x17094]
test eax, eax
jl 0x11ed6
sub ebx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
mov ecx, dword [ebp - 0x38]
add ecx, edi
je 0x11ef1
test byte [eax], 1
jne 0x11ebf
mov ebx, dword [eax + 4]
mov eax, dword [esi + 8]
and dword [ebp - 0x30], 0
and dword [ebp - 0x28], 0
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0xc]
and ebx, 0xfffffff
mov esi, edi
mov edi, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 8], eax
mov eax, ebx
and ecx, 7
mov byte [ebp - 0xd], 0
mov edx, ebx
not eax
mov dword [ebp - 0x24], ecx
je 0x11cc4
and dword [ebp - 0x30], 0
and dword [ebp - 0x28], 0
and dword [ebp - 0x14], 0
test ecx, ecx
jle 0x11b5e
mov dword [ebp - 0x1c], 0x38
mov cl, byte [esi]
xor byte [ebp - 0xd], cl
cmp dword [ebp - 0x14], 4
movzx edx, cl
mov ecx, dword [ebp - 0x1c]
jge 0x11b49
add ecx, 0xffffffe0
shl edx, cl
or dword [ebp - 0x28], edx
jmp 0x11b4e
shl edx, cl
or dword [ebp - 0x30], edx
sub dword [ebp - 0x1c], 8
inc esi
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jl 0x11b2e
movzx ecx, word [ebp - 0xc]
mov edx, eax
sub edx, ecx
xor edx, dword [ebp - 8]
movzx ecx, word [ebp - 6]
xor edx, ebx
mov dword [ebp - 0x14], ecx
mov ebx, edx
sub ebx, ecx
sub ebx, dword [ebp - 0xc]
movzx ecx, word [ebp - 8]
xor eax, ebx
mov ebx, eax
sub ebx, dword [ebp - 0xc]
ror ebx, 0xe
imul ebx, ecx
mov ecx, eax
rol ecx, 0xa
add ebx, ecx
xor edx, ebx
movzx ecx, word [ebp - 0xa]
mov ebx, dword [ebp - 0x14]
xor ebx, edx
imul ebx, ecx
mov ecx, edx
shr ecx, 7
xor ebx, ecx
xor eax, ebx
mov ebx, dword [ebp - 8]
movzx ecx, word [ebp - 0xc]
sub ebx, eax
ror ebx, 0xd
imul ebx, ecx
mov ecx, eax
ror ecx, 0x10
xor ebx, ecx
xor edx, ebx
mov ecx, edx
sub ecx, dword [ebp - 0xc]
mov ebx, edx
rol ecx, 7
imul ecx, dword [ebp - 0x14]
rol ebx, 4
xor ecx, ebx
xor eax, ecx
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
xor ecx, eax
xor edx, ecx
movzx ecx, word [ebp - 0xc]
mov ebx, edx
sub ebx, ecx
movzx ecx, word [ebp - 0xa]
rol ebx, 3
imul ebx, ecx
mov ecx, edx
shr ecx, 1
xor ebx, ecx
movzx ecx, word [ebp - 0xc]
xor eax, ebx
mov ebx, dword [ebp - 8]
xor ebx, eax
rol ebx, 0xa
imul ebx, ecx
mov ecx, eax
ror ecx, 0xc
xor ebx, ecx
mov ecx, dword [ebp - 8]
xor edx, ebx
mov ebx, dword [ebp - 0xc]
xor ecx, edx
sub ebx, ecx
movzx ecx, word [ebp - 8]
xor eax, ebx
mov ebx, dword [ebp - 0x14]
xor ebx, eax
rol ebx, 3
imul ebx, ecx
mov ecx, eax
ror ecx, 4
xor ebx, ecx
mov ecx, dword [ebp - 0x14]
xor edx, ebx
movzx ebx, word [ebp - 0xa]
xor ecx, edx
rol ecx, 2
imul ecx, ebx
mov ebx, edx
rol ebx, 0xc
sub ecx, ebx
xor eax, ecx
mov ecx, dword [ebp - 8]
and dword [ebp - 0x14], 0
lea ebx, [ecx + eax]
movzx ecx, word [ebp - 0xc]
ror ebx, 8
imul ebx, ecx
mov ecx, eax
xor eax, dword [ebp - 0x30]
rol ecx, 2
sub ebx, ecx
xor ebx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
xor edx, ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], edx
test ebx, ebx
jle 0x11c9e
cmp dword [ebp - 0x14], 4
jge 0x11c8c
rol dword [ebp - 0x2c], 8
mov cl, byte [ebp - 0x2c]
jmp 0x11c93
rol dword [ebp - 0x1c], 8
mov cl, byte [ebp - 0x1c]
mov byte [edi], cl
inc edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x11c7d
add ebx, 0xfffffffc
test ebx, ebx
jle 0x11cb3
push 4
pop ecx
sub ecx, ebx
shl ecx, 3
shr eax, cl
shl eax, cl
jmp 0x11cc4
xor eax, eax
test ebx, ebx
jge 0x11cc4
neg ebx
shl ebx, 3
mov ecx, ebx
shr edx, cl
shl edx, cl
mov ecx, dword [ebp - 0x34]
shr ecx, 3
mov dword [ebp - 0x24], ecx
test ecx, ecx
jbe 0x11eb0
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0x5c], ecx
movzx ecx, word [ebp - 0xa]
mov dword [ebp - 0x34], ecx
movzx ecx, word [ebp - 6]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], ecx
mov cl, byte [esi]
movzx ecx, cl
shl ecx, 8
mov bl, byte [esi + 1]
movzx ebx, bl
or ecx, ebx
shl ecx, 8
movzx ebx, byte [esi + 2]
or ecx, ebx
shl ecx, 8
movzx ebx, byte [esi + 3]
or ecx, ebx
mov bl, byte [esi + 5]
mov dword [ebp - 0x2c], ecx
mov cl, byte [esi + 4]
movzx ecx, cl
shl ecx, 8
mov byte [ebp - 0x15], bl
mov bl, byte [esi + 7]
mov byte [ebp - 0x1d], bl
movzx ebx, byte [ebp - 0x15]
or ecx, ebx
movzx ebx, byte [esi + 6]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [ebp - 0x1d]
shl ecx, 8
or ecx, ebx
mov dword [ebp - 0x1c], ecx
mov cl, byte [ebp - 0x1d]
xor cl, byte [esi + 6]
xor eax, dword [ebp - 0x1c]
xor cl, byte [esi + 5]
xor cl, byte [esi + 4]
xor cl, byte [esi + 3]
xor cl, byte [esi + 2]
xor cl, byte [esi + 1]
xor cl, byte [esi]
add esi, 8
xor byte [ebp - 0xd], cl
mov byte [ebp - 0x15], cl
mov ecx, dword [ebp - 8]
lea ebx, [ecx + eax]
movzx ecx, word [ebp - 0xc]
ror ebx, 8
imul ebx, ecx
mov ecx, eax
rol ecx, 2
sub ebx, ecx
xor ebx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
xor edx, ebx
xor ecx, edx
rol ecx, 2
imul ecx, dword [ebp - 0x34]
mov ebx, edx
rol ebx, 0xc
sub ecx, ebx
mov ebx, dword [ebp - 0x14]
xor eax, ecx
movzx ecx, word [ebp - 8]
xor ebx, eax
rol ebx, 3
imul ebx, ecx
mov ecx, eax
ror ecx, 4
xor ebx, ecx
mov ecx, dword [ebp - 8]
xor edx, ebx
mov ebx, dword [ebp - 0xc]
xor ecx, edx
sub ebx, ecx
movzx ecx, word [ebp - 0xc]
xor eax, ebx
mov ebx, dword [ebp - 8]
xor ebx, eax
rol ebx, 0xa
imul ebx, ecx
mov ecx, eax
ror ecx, 0xc
xor ebx, ecx
xor edx, ebx
movzx ecx, word [ebp - 0xc]
mov ebx, edx
sub ebx, ecx
rol ebx, 3
imul ebx, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 1
xor ebx, ecx
xor eax, ebx
mov ecx, dword [ebp - 0x5c]
xor ecx, eax
xor edx, ecx
mov ecx, edx
sub ecx, dword [ebp - 0xc]
mov ebx, edx
rol ecx, 7
imul ecx, dword [ebp - 0x14]
rol ebx, 4
xor ecx, ebx
mov ebx, dword [ebp - 8]
xor eax, ecx
movzx ecx, word [ebp - 0xc]
sub ebx, eax
ror ebx, 0xd
imul ebx, ecx
mov ecx, eax
ror ecx, 0x10
xor ebx, ecx
mov ecx, dword [ebp - 0x14]
xor edx, ebx
xor ecx, edx
imul ecx, dword [ebp - 0x34]
mov ebx, edx
shr ebx, 7
xor ecx, ebx
xor eax, ecx
movzx ecx, word [ebp - 8]
mov ebx, eax
sub ebx, dword [ebp - 0xc]
ror ebx, 0xe
imul ebx, ecx
mov ecx, eax
rol ecx, 0xa
add ebx, ecx
xor edx, ebx
mov ecx, edx
sub ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0xc]
xor eax, ecx
movzx ecx, word [ebp - 0xc]
mov ebx, eax
xor eax, dword [ebp - 0x30]
sub ebx, ecx
xor ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
xor ebx, dword [ebp - 0x28]
mov byte [edi + 7], al
xor edx, ebx
mov byte [edi + 3], dl
ror edx, 8
ror eax, 8
mov byte [edi + 2], dl
ror edx, 8
mov byte [edi + 6], al
ror eax, 8
mov byte [edi + 1], dl
ror edx, 8
mov byte [edi + 5], al
ror eax, 8
mov byte [edi], dl
mov byte [edi + 4], al
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x1c]
ror edx, 8
ror eax, 8
add edi, 8
dec dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
jne 0x11cf2
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0xd]
or dword [eax], 1
mov esi, dword [ebp - 0x58]
mov byte [eax - 4], cl
inc dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
add eax, 0x10
cmp ecx, dword [esi + 0x14]
mov dword [ebp - 0x4c], eax
jl 0x119d6
jmp 0x11ef8
push dword [ebp - 0x40]
call dword [0x17090]
and dword [ebp - 0x3c], 0
mov ebx, dword [ebp - 0x40]
push ebx
call dword [0x1708c]
and dword [ebp - 0x40], 0
mov dword [ebp - 0x54], 0x8007000e
cmp dword [ebp - 0x3c], 0
pop edi
pop ebx
je 0x11f09
push dword [ebp - 0x40]
call dword [0x17090]
cmp dword [ebp - 0x40], 0
je 0x11f18
push dword [ebp - 0x40]
call dword [0x1708c]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x54]
xor ecx, ebp
pop esi
call fcn.00011067
leave
ret 4