Function at 0x1004b1a5
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x100a0070]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
lea ebx, [ebp - 0x114]
mov esi, edx
mov dword [ebp - 0x240], edi
push 0x10
pop edx
mov eax, dword [edi]
sub ebx, esi
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x224], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x218], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x220], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x230], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x234], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x21c], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x228], eax
mov eax, dword [edi + 0x1c]
mov edi, edx
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x23c], edx
mov ecx, dword [esi]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov dword [ebx + esi], edx
lea esi, [esi + 4]
sub edi, 1
jne 0x1004b24f
lea ebx, [ebp - 0xe0]
mov dword [ebp - 0x22c], 0x34
mov esi, dword [ebx]
lea ebx, [ebx + 4]
mov ecx, dword [ebx - 0x1c]
xor ecx, dword [ebx - 0x38]
mov edx, dword [ebx - 0x2c]
rol esi, 0xf
xor ecx, esi
rol edx, 7
mov eax, ecx
ror ecx, 9
rol eax, 0xf
xor edx, eax
xor edx, ecx
xor edx, dword [ebx - 0x10]
xor edx, dword [ebx - 0x1c]
xor edx, dword [ebx - 0x38]
xor edx, esi
sub dword [ebp - 0x22c], 1
mov dword [ebx + 8], edx
jne 0x1004b290
xor edx, edx
mov dword [ebp - 0x22c], edx
mov ecx, edx
mov eax, dword [ebp + ecx - 0x104]
xor eax, dword [ebp + ecx - 0x114]
mov dword [ebp + ecx - 0x214], eax
add ecx, 4
cmp ecx, 0x100
jl 0x1004b2d3
mov esi, dword [ebp - 0x234]
mov eax, dword [ebp - 0x224]
mov ecx, edx
rol eax, 0xc
and ecx, 0x8000001f
jns 0x1004b311
dec ecx
or ecx, 0xffffffe0
inc ecx
mov ebx, dword [ebp - 0x220]
mov edx, 0x79cc4519
xor ebx, dword [ebp - 0x218]
xor ebx, dword [ebp - 0x224]
rol edx, cl
mov ecx, dword [ebp - 0x228]
add edx, eax
xor ecx, dword [ebp - 0x21c]
add edx, esi
rol edx, 7
xor ecx, esi
xor eax, edx
add ebx, eax
mov eax, dword [ebp - 0x22c]
push 0x10
add ebx, dword [ebp + eax*4 - 0x214]
add ecx, dword [ebp + eax*4 - 0x114]
add ebx, dword [ebp - 0x230]
add ecx, edx
mov eax, dword [ebp - 0x220]
add ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x218]
rol eax, 9
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x21c]
ror eax, 0xd
mov dword [ebp - 0x21c], esi
mov esi, ecx
mov dword [ebp - 0x228], eax
mov eax, ecx
ror esi, 0xf
rol eax, 9
xor esi, eax
mov dword [ebp - 0x224], ebx
xor esi, ecx
inc edx
pop eax
mov dword [ebp - 0x22c], edx
cmp edx, eax
jl 0x1004b2f9
mov dword [ebp - 0x234], esi
mov edi, esi
mov edx, ebx
mov ecx, eax
rol edx, 0xc
and ecx, 0x8000001f
jns 0x1004b3f5
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebx
mov esi, 0x7a879d8a
or eax, dword [ebp - 0x218]
and eax, dword [ebp - 0x220]
and ebx, dword [ebp - 0x218]
rol esi, cl
or ebx, eax
mov eax, dword [ebp - 0x21c]
add esi, edx
add esi, edi
and eax, edi
rol esi, 7
mov ecx, edi
xor edx, esi
not ecx
and ecx, dword [ebp - 0x228]
add ebx, edx
mov edx, dword [ebp - 0x23c]
or ecx, eax
mov eax, dword [ebp - 0x220]
add ebx, dword [ebp + edx*4 - 0x214]
add ecx, dword [ebp + edx*4 - 0x114]
add ebx, dword [ebp - 0x230]
add ecx, esi
add ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x218]
mov esi, dword [ebp - 0x21c]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x238], eax
mov eax, ecx
mov dword [ebp - 0x21c], edi
mov edi, ecx
ror edi, 0xf
rol eax, 9
xor edi, eax
rol edx, 9
mov eax, dword [ebp - 0x23c]
xor edi, ecx
ror esi, 0xd
inc eax
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x23c], eax
cmp eax, 0x40
jl 0x1004b3e1
mov eax, dword [ebp - 0x244]
xor eax, ebx
mov dword [ebp - 0x234], edi
mov edi, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x254]
xor ecx, dword [ebp - 0x234]
mov dword [edi], eax
mov eax, dword [ebp - 0x248]
xor eax, dword [ebp - 0x218]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x24c]
xor eax, edx
mov dword [edi + 0x10], ecx
mov ecx, dword [ebp - 4]
mov dword [edi + 8], eax
xor ecx, ebp
mov eax, dword [ebp - 0x250]
xor eax, dword [ebp - 0x230]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x258]
xor eax, dword [ebp - 0x21c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x25c]
xor eax, esi
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x260]
xor eax, dword [ebp - 0x238]
mov dword [edi + 0x1c], eax
pop edi
pop esi
pop ebx
call fcn.1004d78e
mov esp, ebp
pop ebp
ret