Function at 0x10001cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1009d0b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ecx
movzx eax, byte [ecx + edx]
mov byte [ebp + edx*4 - 0x14], al
movzx eax, byte [ecx + edx + 4]
mov byte [ebp + edx*4 - 0x13], al
movzx eax, byte [ecx + edx + 8]
mov byte [ebp + edx*4 - 0x12], al
movzx eax, byte [ecx + edx + 0xc]
mov byte [ebp + edx*4 - 0x11], al
inc edx
cmp edx, 4
jl 0x10001ce0
lea ecx, [ebp - 0x10]
mov esi, 4
lea edx, [ebx + 0x208]
nop word [eax + eax]
movzx eax, byte [edx - 4]
lea ecx, [ecx + 1]
xor byte [ecx - 5], al
lea edx, [edx + 1]
movzx eax, byte [edx - 1]
xor byte [ecx - 1], al
movzx eax, byte [edx + 3]
xor byte [ecx + 3], al
movzx eax, byte [edx + 7]
xor byte [ecx + 7], al
sub esi, 1
jne 0x10001d20
lea eax, [ebx + 0x218]
mov dword [ebp - 0x1c], 1
lea edx, [ebp - 0x14]
mov dword [ebp - 0x2c], eax
lea esi, [ebp - 0x12]
lea edi, [ebp - 0x11]
xor ecx, ecx
movzx eax, byte [edx + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [edx + ecx*4], al
movzx eax, byte [ebp + ecx*4 - 0x13]
movzx eax, byte [eax + ebx + 4]
mov byte [ebp + ecx*4 - 0x13], al
movzx eax, byte [esi + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [esi + ecx*4], al
movzx eax, byte [edi + ecx*4]
movzx eax, byte [eax + ebx + 4]
mov byte [edi + ecx*4], al
inc ecx
cmp ecx, 4
jl 0x10001d62
mov esi, 4
mov edi, 3
lea eax, [edi - 2]
and eax, 0x80000003
jns 0x10001db3
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov bl, byte [ebp + eax - 0x14]
lea eax, [edi - 1]
and eax, 0x80000003
jns 0x10001dc8
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov dl, byte [ebp + eax - 0x14]
mov eax, edi
and eax, 0x80000003
jns 0x10001ddc
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
inc edi
mov cl, byte [ebp + eax - 0x14]
mov eax, edi
and eax, 0x80000003
jns 0x10001df1
dec eax
or eax, 0xfffffffc
inc eax
add eax, esi
mov al, byte [ebp + eax - 0x14]
mov byte [ebp + esi - 0x11], al
lea eax, [edi - 2]
mov byte [ebp + esi - 0x14], bl
mov byte [ebp + esi - 0x13], dl
mov byte [ebp + esi - 0x12], cl
add esi, 4
cmp eax, 4
jl 0x10001da4
mov esi, dword [ebp - 0x1c]
cmp esi, 0xa
je 0x10001ee2
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop dword [eax]
nop word [eax + eax]
lea eax, [ebp + ecx - 0x14]
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x20], eax
mov edi, 1
movzx eax, byte [eax]
mov byte [ebp - 0x18], al
movzx eax, byte [ebp + ecx - 0x10]
mov byte [ebp - 0x17], al
movzx eax, byte [ebp + ecx - 0xc]
mov byte [ebp - 0x16], al
movzx eax, byte [ebp + ecx - 8]
mov byte [ebp - 0x15], al
mov cl, byte [ebp + edi - 0x19]
mov al, cl
add al, al
test cl, cl
jns 0x10001e6f
xor al, 0x1b
mov ecx, edi
and ecx, 0x80000003
jns 0x10001e7e
dec ecx
or ecx, 0xfffffffc
inc ecx
mov cl, byte [ebp + ecx - 0x18]
mov bl, cl
add bl, bl
test cl, cl
jns 0x10001e8d
xor bl, 0x1b
xor bl, cl
lea ecx, [edi + 1]
and ecx, 0x80000003
jns 0x10001e9f
dec ecx
or ecx, 0xfffffffc
inc ecx
mov dl, byte [ebp + ecx - 0x18]
lea ecx, [edi + 2]
and ecx, 0x80000003
jns 0x10001eb3
dec ecx
or ecx, 0xfffffffc
inc ecx
mov cl, byte [ebp + ecx - 0x18]
inc edi
xor cl, dl
mov edx, dword [ebp - 0x20]
xor cl, bl
xor cl, al
mov byte [edx], cl
add edx, 4
sub dword [ebp - 0x24], 1
mov dword [ebp - 0x20], edx
jne 0x10001e61
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 4
jl 0x10001e30
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
xor edx, edx
mov ecx, edi
nop dword [eax]
movzx eax, byte [ecx - 4]
lea ecx, [ecx + 1]
xor byte [ebp + edx - 0x14], al
movzx eax, byte [ecx - 1]
xor byte [ebp + edx - 0x10], al
movzx eax, byte [ecx + 3]
xor byte [ebp + edx - 0xc], al
movzx eax, byte [ecx + 7]
xor byte [ebp + edx - 8], al
inc edx
cmp edx, 4
jl 0x10001ef0
mov ebx, dword [ebp - 0x30]
lea edx, [ebp - 0x14]
inc esi
add edi, 0x10
mov dword [ebp - 0x1c], esi
cmp esi, 0xa
mov dword [ebp - 0x2c], edi
lea esi, [ebp - 0x12]
lea edi, [ebp - 0x11]
jle 0x10001d60
mov esi, dword [ebp - 0x34]
xor edx, edx
nop dword [eax]
movzx eax, byte [ebp + edx*4 - 0x14]
movzx ecx, byte [ebp + edx*4 - 0x12]
mov byte [esi + edx], al
movzx eax, byte [ebp + edx*4 - 0x13]
mov byte [esi + edx + 8], cl
movzx ecx, byte [ebp + edx*4 - 0x11]
mov byte [esi + edx + 4], al
mov byte [esi + edx + 0xc], cl
inc edx
cmp edx, 4
jl 0x10001f40
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10057fdd
mov esp, ebp
pop ebp
ret 4