Function at 0x1000afa0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
lea ecx, [eax + 0x2c]
mov esi, 4
mov edx, dword [ecx - 4]
mov edi, edx
and edi, 0xff0000
mov ebx, edx
shr ebx, 0x10
or edi, ebx
shr edi, 8
mov ebx, edx
shl ebx, 0x10
and edx, 0xff00
or ebx, edx
shl ebx, 8
or edi, ebx
mov dword [ecx - 4], edi
mov edx, dword [ecx]
mov edi, edx
and edi, 0xff0000
mov ebx, edx
shr ebx, 0x10
or edi, ebx
shr edi, 8
mov ebx, edx
shl ebx, 0x10
and edx, 0xff00
or ebx, edx
shl ebx, 8
or edi, ebx
mov dword [ecx], edi
mov edx, dword [ecx + 4]
mov edi, edx
and edi, 0xff0000
mov ebx, edx
shr ebx, 0x10
or edi, ebx
mov ebx, edx
shl ebx, 0x10
and edx, 0xff00
or ebx, edx
shl ebx, 8
shr edi, 8
or edi, ebx
mov dword [ecx + 4], edi
mov edx, dword [ecx + 8]
mov edi, edx
and edi, 0xff0000
mov ebx, edx
shr ebx, 0x10
or edi, ebx
mov ebx, edx
shl ebx, 0x10
and edx, 0xff00
or ebx, edx
shr edi, 8
shl ebx, 8
or edi, ebx
mov dword [ecx + 8], edi
add ecx, 0x10
dec esi
jne 0x1000afb1
lea ecx, [eax + 0x28]
mov dword [ebp - 0x18], 0x10
jmp 0x1000b070
mov edx, dword [ecx + 0x34]
xor edx, dword [ecx + 0x20]
mov esi, dword [ecx + 8]
mov ebx, dword [ecx + 0x38]
xor ebx, dword [ecx + 0x24]
mov edi, dword [ecx + 0xc]
xor ebx, dword [ecx + 4]
xor edx, esi
xor edx, dword [ecx]
xor ebx, edi
rol edx, 1
rol ebx, 1
mov dword [ecx + 0x44], ebx
mov ebx, dword [ecx + 0x3c]
xor ebx, dword [ecx + 0x28]
mov dword [ecx + 0x40], edx
xor ebx, dword [ecx + 0x10]
add ecx, 0x10
xor ebx, esi
mov esi, dword [ecx + 0x1c]
xor esi, dword [ecx + 4]
rol ebx, 1
xor esi, edx
xor esi, edi
rol esi, 1
dec dword [ebp - 0x18]
mov dword [ecx + 0x38], ebx
mov dword [ecx + 0x3c], esi
jne 0x1000b070
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [eax], ecx
mov ecx, dword [eax + 0x1c]
mov dword [eax + 4], edx
mov edx, dword [eax + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [eax + 0x24]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov esi, dword [eax + 4]
mov ebx, edx
mov dword [ebp - 8], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 2
mov dword [ebp - 0x18], 0x2c
mov edi, dword [ebp - 0xc]
mov ecx, dword [eax]
add edi, 0xfffffffe
cmp edi, 0x14
jae 0x1000b116
mov edi, esi
not edi
and edi, ebx
mov ebx, esi
and ebx, edx
or edi, ebx
mov ebx, dword [ebp - 8]
jmp 0x1000b135
cmp edi, 0x28
jb 0x1000b12f
cmp edi, 0x3c
jae 0x1000b12f
mov edi, ebx
or edi, edx
and ebx, edx
and edi, esi
or edi, ebx
mov ebx, dword [ebp - 8]
jmp 0x1000b135
mov edi, esi
xor edi, ebx
xor edi, edx
mov edx, dword [ebp - 0xc]
add edx, 0xfffffffe
cmp edx, 0x14
jae 0x1000b149
mov dword [ebp - 4], 0x5a827999
jmp 0x1000b16b
cmp edx, 0x28
jae 0x1000b157
mov dword [ebp - 4], 0x6ed9eba1
jmp 0x1000b16b
cmp edx, 0x3c
sbb edx, edx
and edx, 0xc4b8fb06
add edx, 0xca62c1d6
mov dword [ebp - 4], edx
mov edx, dword [ebp - 0x18]
rol ecx, 5
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ebx
add ecx, dword [ebp - 4]
add ecx, edi
add ecx, dword [edx + eax - 4]
mov edx, dword [eax]
mov edi, dword [ebp - 0x14]
mov dword [eax + 0x10], ebx
mov ebx, dword [ebp - 0xc]
ror esi, 2
dec ebx
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
cmp ebx, 0x14
jae 0x1000b1ad
mov ebx, edx
not ebx
and ebx, edi
mov edi, edx
and edi, esi
or ebx, edi
jmp 0x1000b1c9
cmp ebx, 0x28
jb 0x1000b1c3
cmp ebx, 0x3c
jae 0x1000b1c3
mov ebx, edi
or ebx, esi
and ebx, edx
and edi, esi
or ebx, edi
jmp 0x1000b1c9
mov ebx, edx
xor ebx, edi
xor ebx, esi
mov edi, dword [ebp - 0xc]
dec edi
cmp edi, 0x14
jae 0x1000b1db
mov dword [ebp - 4], 0x5a827999
jmp 0x1000b1fd
cmp edi, 0x28
jae 0x1000b1e9
mov dword [ebp - 4], 0x6ed9eba1
jmp 0x1000b1fd
cmp edi, 0x3c
sbb edi, edi
and edi, 0xc4b8fb06
add edi, 0xca62c1d6
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x18]
rol ecx, 5
add ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 4]
add ecx, ebx
add ecx, dword [edi + eax]
mov edi, dword [ebp - 0x14]
ror edx, 2
mov dword [ebp - 0x10], edi
mov dword [eax + 0x10], edi
mov edi, esi
mov ebx, edx
mov edx, dword [eax]
mov dword [eax + 0xc], esi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], ebx
mov dword [eax + 8], ebx
mov dword [eax + 4], edx
mov dword [eax], ecx
cmp esi, 0x14
jae 0x1000b24a
mov esi, edx
not esi
and esi, edi
mov edi, edx
and edi, ebx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b269
cmp esi, 0x28
jb 0x1000b263
cmp esi, 0x3c
jae 0x1000b263
mov esi, edi
or esi, ebx
and edi, ebx
and esi, edx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b269
mov esi, edx
xor esi, edi
xor esi, ebx
mov ebx, dword [ebp - 0xc]
cmp ebx, 0x14
jae 0x1000b27a
mov dword [ebp - 4], 0x5a827999
jmp 0x1000b29c
cmp ebx, 0x28
jae 0x1000b288
mov dword [ebp - 4], 0x6ed9eba1
jmp 0x1000b29c
cmp ebx, 0x3c
sbb ebx, ebx
and ebx, 0xc4b8fb06
add ebx, 0xca62c1d6
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x18]
rol ecx, 5
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edi
add ecx, dword [ebx + eax + 4]
mov dword [eax + 0x10], edi
add ecx, dword [ebp - 4]
mov edi, dword [ebp - 0x14]
add ecx, esi
mov esi, dword [ebp - 0xc]
ror edx, 2
mov ebx, edx
mov edx, dword [eax]
inc esi
mov dword [ebp - 8], edi
mov dword [eax + 0xc], edi
mov dword [ebp - 0x14], ebx
mov dword [eax + 8], ebx
mov dword [eax + 4], edx
mov dword [eax], ecx
cmp esi, 0x14
jae 0x1000b2e9
mov esi, edx
not esi
and esi, edi
mov edi, edx
and edi, ebx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b308
cmp esi, 0x28
jb 0x1000b302
cmp esi, 0x3c
jae 0x1000b302
mov esi, edi
or esi, ebx
and edi, ebx
and esi, edx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b308
mov esi, edx
xor esi, edi
xor esi, ebx
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, 0x14
jae 0x1000b31a
mov dword [ebp - 4], 0x5a827999
jmp 0x1000b33c
cmp ebx, 0x28
jae 0x1000b328
mov dword [ebp - 4], 0x6ed9eba1
jmp 0x1000b33c
cmp ebx, 0x3c
sbb ebx, ebx
and ebx, 0xc4b8fb06
add ebx, 0xca62c1d6
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x18]
rol ecx, 5
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edi
add ecx, dword [ebx + eax + 8]
mov dword [eax + 0x10], edi
add ecx, dword [ebp - 4]
mov edi, dword [ebp - 0x14]
add ecx, esi
mov esi, dword [ebp - 0xc]
ror edx, 2
mov ebx, edx
mov edx, dword [eax]
add esi, 2
mov dword [ebp - 8], edi
mov dword [eax + 0xc], edi
mov dword [ebp - 0x14], ebx
mov dword [eax + 8], ebx
mov dword [eax + 4], edx
mov dword [eax], ecx
cmp esi, 0x14
jae 0x1000b38b
mov esi, edx
not esi
and esi, edi
mov edi, edx
and edi, ebx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b3aa
cmp esi, 0x28
jb 0x1000b3a4
cmp esi, 0x3c
jae 0x1000b3a4
mov esi, edi
or esi, ebx
and edi, ebx
and esi, edx
or esi, edi
mov edi, dword [ebp - 8]
jmp 0x1000b3aa
mov esi, edx
xor esi, edi
xor esi, ebx
mov ebx, dword [ebp - 0xc]
add ebx, 2
cmp ebx, 0x14
jae 0x1000b3be
mov dword [ebp - 4], 0x5a827999
jmp 0x1000b3e0
cmp ebx, 0x28
jae 0x1000b3cc
mov dword [ebp - 4], 0x6ed9eba1
jmp 0x1000b3e0
cmp ebx, 0x3c
sbb ebx, ebx
and ebx, 0xc4b8fb06
add ebx, 0xca62c1d6
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0x18]
add dword [ebp - 0x18], 0x14
rol ecx, 5
add ecx, dword [ebx + eax + 0xc]
mov ebx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edi
add ecx, dword [ebp - 4]
mov dword [eax + 0x10], edi
add ecx, esi
mov esi, dword [eax]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 5
ror edx, 2
mov dword [ebp - 0xc], ecx
add ecx, 0xfffffffe
mov dword [ebp - 8], ebx
mov dword [eax + 0xc], ebx
mov dword [ebp - 0x14], edx
mov dword [eax + 8], edx
mov dword [eax + 4], esi
cmp ecx, 0x50
jb 0x1000b0f8
mov ecx, dword [eax]
add dword [eax + 0x14], ecx
mov edx, dword [eax + 4]
mov ecx, dword [eax + 8]
add dword [eax + 0x18], edx
add dword [eax + 0x1c], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
add dword [eax + 0x20], edx
add dword [eax + 0x24], ecx
pop edi
pop esi
mov dword [eax + 0x168], 0
pop ebx
mov esp, ebp
pop ebp
ret