Function at 0x1001180e
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x100652d9
call fcn.10064c90
sub esp, 0x48
mov dword [ebp - 0x1c], 0xffffffff
push ebx
mov dword [ebp - 0x14], 0x3bf3
push esi
mov dword [ebp - 0x20], 0xfff8
xor esi, esi
mov dword [ebp - 0x18], 0x7b37
cmp dword [ebp - 0x18], 0x7d8f
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
jle 0x10011875
mov edi, esi
mov ebx, esi
mov eax, ebx
mov ecx, 0x1060f718
xor eax, edi
cdq
push edx
push eax
call fcn.1000f771
inc ebx
cmp ebx, 0x490f
jl 0x10011852
inc edi
cmp edi, 0xb2f
jl 0x10011850
mov dword [ebp - 4], esi
cmp dword [ebp - 0x18], 0x79f3
jge 0x10011890
mov edx, 0x10007af0
mov ecx, 0x1060f718
call fcn.100111e1
or dword [ebp - 4], 0xffffffff
push 3
xor edi, edi
mov dword [ebp - 0x18], esi
pop ebx
inc edi
cmp dword [ebp - 0x18], ebx
jge 0x100118d0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], edi
inc dword [ebp - 0x18]
jmp 0x1001189d
cmp dword [ebp - 0x1c], esi
je 0x10011907
push edi
lea ecx, [ebp - 0x3c]
call fcn.1000f886
mov dword [ebp - 0x18], esi
jmp 0x100118f0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100118e3
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.1000f8e2
jmp 0x10011962
mov dword [ebp - 0x28], 0x5c6f
mov dword [ebp - 0x18], esi
jmp 0x10011921
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10011913
mov dword [ebp - 0x1c], 0x272b
dec dword [ebp - 0x20]
imul eax, dword [ebp - 0x28], 0x8ae5
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
je 0x10011946
mov eax, dword [ebp - 0x20]
mov eax, edi
jmp 0x10011948
mov eax, esi
imul ecx, eax, 0x78e0
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setne dl
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x14], esi
jmp 0x10011975
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x46e74a6e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10011967
mov dword [ebp - 0x14], 0xd06ce125
mov dword [ebp - 0x18], 0xfe4b2830
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x1c], esi
jmp 0x1001199e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x24], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10011994
mov dword [ebp - 0x14], esi
jmp 0x100119b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x24], 0xfff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100119a8
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x14]
setns cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
pop edi
setge dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x24]
pop esi
setge bl
add eax, 0x559e03d3
xor ecx, ecx
cmp eax, 0xc1da
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 0x30]
pop ebx
setle dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret