Function at 0x70ac90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x866204]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x224], ecx
mov eax, dword [ebp - 0x224]
add eax, 0x748
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0xc0], 0
mov dword [ebp - 0x210], 2
jmp 0x70ace6
mov edx, dword [ebp - 0x210]
add edx, 1
mov dword [ebp - 0x210], edx
cmp dword [ebp - 0x210], 0x40
jae 0x70ae8a
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x210]
movzx ecx, byte [eax + 0x2c9c]
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
shr edx, 1
sub edx, 1
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x24c]
and eax, 1
or eax, 2
mov ecx, dword [ebp - 0x228]
shl eax, cl
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
shl ecx, 1
mov edx, dword [ebp - 0x224]
lea eax, [edx + ecx*2 + 0x239c]
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 1
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x248], ecx
mov edx, 1
mov ecx, dword [ebp - 0x228]
shl edx, cl
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x238]
add eax, dword [ebp - 0x210]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x228], 0
je 0x70ae1a
mov ecx, dword [ebp - 0x248]
and ecx, 1
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x248]
shr edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x254]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x250]
neg eax
and eax, 0x7ff
xor edx, eax
shr edx, 4
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x240]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x250]
lea eax, [edx + ecx*2]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x228]
sub ecx, 1
mov dword [ebp - 0x228], ecx
jne 0x70ada0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x254]
movzx ecx, word [eax + edx*2]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x258]
shr edx, 4
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x240]
add ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x238]
mov dword [ebp + edx*4 - 0x204], ecx
mov eax, dword [ebp - 0x258]
xor eax, 0x7ff
shr eax, 4
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x240]
add edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x238]
add eax, dword [ebp - 0x268]
mov dword [ebp + eax*4 - 0x204], edx
jmp 0x70acd7
mov dword [ebp - 0x230], 0
jmp 0x70aea5
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 4
jae 0x70b324
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0xc8]
add eax, 1
shr eax, 1
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x230]
shl ecx, 8
mov edx, dword [ebp - 0x224]
lea eax, [edx + ecx + 0x121c]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x230]
shl ecx, 7
mov edx, dword [ebp - 0x224]
lea eax, [edx + ecx + 0x219c]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x20c], 0
jmp 0x70af1c
mov ecx, dword [ebp - 0x20c]
add ecx, 1
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x260]
jae 0x70b154
mov eax, dword [ebp - 0x20c]
add eax, 0x20
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
and ecx, 1
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x208]
shr edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x22c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x220]
neg eax
and eax, 0x7ff
xor edx, eax
shr edx, 4
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x208]
and eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x208]
shr ecx, 1
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x220]
neg edx
and edx, 0x7ff
xor ecx, edx
shr ecx, 4
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x21c]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x208]
and eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x208]
shr ecx, 1
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x220]
neg edx
and edx, 0x7ff
xor ecx, edx
shr ecx, 4
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x21c]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x208]
and eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x208]
shr ecx, 1
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x220]
neg edx
and edx, 0x7ff
xor ecx, edx
shr ecx, 4
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x21c]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x208]
and eax, 1
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x208]
shr ecx, 1
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
mov eax, dword [ebp - 0x22c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x220]
neg edx
and edx, 0x7ff
xor ecx, edx
shr ecx, 4
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x21c]
add edx, dword [eax + ecx*4]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x22c]
movzx edx, word [ecx + eax*2 + 0x40]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
shr eax, 4
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x21c]
add edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x20c]
shl eax, 1
mov ecx, dword [ebp - 0x214]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x25c]
xor edx, 0x7ff
shr edx, 4
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x21c]
add ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x20c]
shl edx, 1
mov eax, dword [ebp - 0x214]
mov dword [eax + edx*4 + 4], ecx
jmp 0x70af0d
mov dword [ebp - 0x244], 0x20
mov dword [ebp - 0x20c], 7
jmp 0x70b179
mov ecx, dword [ebp - 0x20c]
add ecx, 1
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x260]
jae 0x70b1ea
mov eax, dword [ebp - 0x20c]
shl eax, 1
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx + eax*4]
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x20c]
shl eax, 1
mov ecx, dword [ebp - 0x214]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x20c]
shl edx, 1
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax + edx*4 + 4]
add ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x20c]
shl edx, 1
mov eax, dword [ebp - 0x214]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp - 0x244]
add ecx, 0x10
mov dword [ebp - 0x244], ecx
jmp 0x70b16a
mov edx, dword [ebp - 0x230]
shl edx, 9
mov eax, dword [ebp - 0x224]
lea ecx, [eax + edx + 0x161c]
mov dword [ebp - 0x234], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x214]
mov eax, dword [esi + eax]
mov dword [ecx + edx], eax
mov ecx, 4
shl ecx, 0
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x234]
mov esi, dword [ebp - 0x214]
mov ecx, dword [esi + ecx]
mov dword [eax + edx], ecx
mov edx, 4
shl edx, 1
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x214]
mov edx, dword [esi + edx]
mov dword [ecx + eax], edx
mov eax, 4
imul ecx, eax, 3
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x214]
mov ecx, dword [esi + ecx]
mov dword [edx + eax], ecx
mov dword [ebp - 0x210], 4
jmp 0x70b2a7
mov edx, dword [ebp - 0x210]
add edx, 2
mov dword [ebp - 0x210], edx
cmp dword [ebp - 0x210], 0x80
jae 0x70b31f
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x210]
movzx ecx, byte [eax + 0x2c9c]
mov edx, dword [ebp - 0x214]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x264]
add edx, dword [ebp + ecx*4 - 0x204]
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x264]
add eax, dword [ebp + edx*4 - 0x200]
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x234]
mov dword [edx + ecx*4 + 4], eax
jmp 0x70b298
jmp 0x70ae96
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00742073
mov esp, ebp
pop ebp
ret