Function at 0x1017b2d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x10254be4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34], eax
mov ecx, 1
imul edx, ecx, 0
mov al, byte [ebp - 0x34]
mov byte [ebp + edx - 0x14], al
mov ecx, dword [ebp - 0x34]
sar ecx, 6
mov dword [ebp - 0x34], ecx
mov edx, 1
shl edx, 0
mov al, byte [ebp - 0x34]
mov byte [ebp + edx - 0x14], al
mov ecx, dword [ebp - 0x34]
sar ecx, 6
mov dword [ebp - 0x34], ecx
mov edx, 1
shl edx, 1
mov al, byte [ebp - 0x34]
mov byte [ebp + edx - 0x14], al
mov ecx, dword [ebp - 0x34]
sar ecx, 6
mov dword [ebp - 0x34], ecx
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp - 0x34]
mov byte [ebp + eax - 0x14], cl
mov edx, dword [ebp - 0x14]
and edx, 0x3f3f3f3f
shl edx, 2
mov dword [ebp + 0x10], edx
mov eax, 1
imul ecx, eax, 0
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0xc], cl
mov edx, 1
shl edx, 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0xc], dl
mov eax, 1
shl eax, 1
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0xc], al
mov ecx, 1
imul edx, ecx, 3
mov eax, 1
imul ecx, eax, 3
mov eax, dword [ebp + 8]
mov dl, byte [eax + edx]
mov byte [ebp + ecx - 0xc], dl
mov eax, 1
shl eax, 2
mov ecx, 1
shl ecx, 2
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0xc], al
mov ecx, 1
imul edx, ecx, 5
mov eax, 1
imul ecx, eax, 5
mov eax, dword [ebp + 8]
mov dl, byte [eax + edx]
mov byte [ebp + ecx - 0xc], dl
mov eax, 1
imul ecx, eax, 6
mov edx, 1
imul eax, edx, 6
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0xc], cl
mov edx, 1
imul eax, edx, 7
mov ecx, 1
imul edx, ecx, 7
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax]
mov byte [ebp + edx - 0xc], al
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x34]
and edx, 0x55555555
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
and eax, 0x55555555
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
shl ecx, 1
or ecx, dword [ebp - 0x38]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x3c]
and edx, 0xaaaaaaaa
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
sar eax, 1
and eax, 0x55555555
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 8], eax
push 4
push 0x1026b080
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0xc]
push edx
call fcn.1017c390
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
push 4
push 0x1026b080
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 8]
push eax
call fcn.1017c390
add esp, 0x10
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x40], edx
cmp dword [ebp + 0x14], 0
jl 0x1017b4e7
mov eax, 8
imul ecx, eax, 0
add ecx, 0x1026cca0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], 8
jmp 0x1017b507
mov edx, dword [ebp + 0x14]
neg edx
mov dword [ebp + 0x14], edx
mov eax, 8
imul ecx, eax, 0xf
add ecx, 0x1026cca0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], 0xfffffff8
mov edx, dword [ebp + 0x14]
sub edx, 1
mov dword [ebp + 0x14], edx
js 0x1017bad3
mov dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x3c]
xor eax, dword [ebp - 0x40]
and eax, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
xor ecx, dword [edx]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
xor eax, dword [ecx + 4]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], edx
mov eax, 1
imul ecx, eax, 0
movzx edx, byte [ebp + ecx - 0xc]
mov dword [ebp - 0x30], edx
mov eax, 0x800
imul ecx, eax, 0
mov edx, 0x100
imul eax, edx, 0
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x34], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
imul edx, ecx, 0
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x38], ecx
mov edx, 1
shl edx, 0
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
shl eax, 0
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x34], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
shl eax, 0
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x38], ecx
mov edx, 1
shl edx, 1
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
shl eax, 1
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x34], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
shl eax, 1
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x38], ecx
mov edx, 1
imul eax, edx, 3
movzx ecx, byte [ebp + eax - 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 0x800
imul eax, edx, 0
mov ecx, 0x100
imul edx, ecx, 3
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x34], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
imul ecx, eax, 3
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x38], eax
mov ecx, 1
shl ecx, 2
movzx edx, byte [ebp + ecx - 0xc]
mov dword [ebp - 0x30], edx
mov eax, 0x800
imul ecx, eax, 0
mov edx, 0x100
shl edx, 2
add ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor eax, dword [edx + ecx + 0x1026b480]
mov dword [ebp - 0x34], eax
mov ecx, 0x800
shl ecx, 0
mov edx, 0x100
shl edx, 2
add ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor eax, dword [edx + ecx + 0x1026b480]
mov dword [ebp - 0x38], eax
mov ecx, 1
imul edx, ecx, 5
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
imul ecx, eax, 5
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x34], eax
mov ecx, 0x800
shl ecx, 0
mov edx, 0x100
imul eax, edx, 5
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x38], edx
mov eax, 1
imul ecx, eax, 6
movzx edx, byte [ebp + ecx - 0xc]
mov dword [ebp - 0x30], edx
mov eax, 0x800
imul ecx, eax, 0
mov edx, 0x100
imul eax, edx, 6
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x34], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
imul edx, ecx, 6
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x38], ecx
mov edx, 1
imul eax, edx, 7
movzx ecx, byte [ebp + eax - 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 0x800
imul eax, edx, 0
mov ecx, 0x100
imul edx, ecx, 7
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x34], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
imul ecx, eax, 7
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x38]
and ecx, dword [ebp + 0x10]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
xor edx, dword [eax]
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0x30]
xor ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
xor ecx, dword [edx + 4]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
imul ecx, eax, 0
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x3c], eax
mov ecx, 0x800
shl ecx, 0
mov edx, 0x100
imul eax, edx, 0
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x40], edx
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 0x800
imul eax, edx, 0
mov ecx, 0x100
shl ecx, 0
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
xor edx, dword [ecx + eax + 0x1026b480]
mov dword [ebp - 0x3c], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
shl ecx, 0
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
xor edx, dword [ecx + eax + 0x1026b480]
mov dword [ebp - 0x40], edx
mov eax, 1
shl eax, 1
movzx ecx, byte [ebp + eax - 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 0x800
imul eax, edx, 0
mov ecx, 0x100
shl ecx, 1
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
xor edx, dword [ecx + eax + 0x1026b480]
mov dword [ebp - 0x3c], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
shl ecx, 1
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
xor edx, dword [ecx + eax + 0x1026b480]
mov dword [ebp - 0x40], edx
mov eax, 1
imul ecx, eax, 3
movzx edx, byte [ebp + ecx - 0xc]
mov dword [ebp - 0x30], edx
mov eax, 0x800
imul ecx, eax, 0
mov edx, 0x100
imul eax, edx, 3
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x3c], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
imul edx, ecx, 3
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x40], ecx
mov edx, 1
shl edx, 2
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
shl eax, 2
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x3c], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
shl eax, 2
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
xor ecx, dword [eax + edx + 0x1026b480]
mov dword [ebp - 0x40], ecx
mov edx, 1
imul eax, edx, 5
movzx ecx, byte [ebp + eax - 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 0x800
imul eax, edx, 0
mov ecx, 0x100
imul edx, ecx, 5
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x3c], ecx
mov edx, 0x800
shl edx, 0
mov eax, 0x100
imul ecx, eax, 5
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x40], eax
mov ecx, 1
imul edx, ecx, 6
movzx eax, byte [ebp + edx - 0xc]
mov dword [ebp - 0x30], eax
mov ecx, 0x800
imul edx, ecx, 0
mov eax, 0x100
imul ecx, eax, 6
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
xor eax, dword [ecx + edx + 0x1026b480]
mov dword [ebp - 0x3c], eax
mov ecx, 0x800
shl ecx, 0
mov edx, 0x100
imul eax, edx, 6
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x40], edx
mov eax, 1
imul ecx, eax, 7
movzx edx, byte [ebp + ecx - 0xc]
mov dword [ebp - 0x30], edx
mov eax, 0x800
imul ecx, eax, 0
mov edx, 0x100
imul eax, edx, 7
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x3c]
xor edx, dword [eax + ecx + 0x1026b480]
mov dword [ebp - 0x3c], edx
mov eax, 0x800
shl eax, 0
mov ecx, 0x100
imul edx, ecx, 7
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
xor ecx, dword [edx + eax + 0x1026b480]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x4c]
sub edx, 1
mov dword [ebp - 0x4c], edx
jne 0x1017b51d
mov eax, dword [ebp - 0x48]
shl eax, 4
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x34]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x38]
xor eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x40]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x34]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x40]
mov dword [ebp - 0x38], ecx
jmp 0x1017b507
mov edx, dword [ebp - 0x34]
sar edx, 3
and edx, 0xf0f0f0f
mov eax, dword [ebp - 0x38]
shl eax, 1
and eax, 0xf0f0f0f0
or edx, eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x3c]
sar ecx, 3
and ecx, 0xf0f0f0f
mov edx, dword [ebp - 0x40]
shl edx, 1
and edx, 0xf0f0f0f0
or ecx, edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 8], ecx
push 8
push 0x1026c480
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0xc]
push eax
call fcn.1017c390
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 8], ecx
mov edx, 1
imul eax, edx, 0
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 0xc]
mov al, byte [ebp + eax - 0xc]
mov byte [ecx + edx], al
mov ecx, 1
shl ecx, 0
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp + ecx - 0xc]
mov byte [eax + edx], cl
mov edx, 1
shl edx, 1
mov eax, 1
shl eax, 1
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp + edx - 0xc]
mov byte [ecx + eax], dl
mov eax, 1
imul ecx, eax, 3
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 0xc]
mov cl, byte [ebp + ecx - 0xc]
mov byte [edx + eax], cl
mov edx, 1
shl edx, 2
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp + edx - 0xc]
mov byte [ecx + eax], dl
mov eax, 1
imul ecx, eax, 5
mov edx, 1
imul eax, edx, 5
mov edx, dword [ebp + 0xc]
mov cl, byte [ebp + ecx - 0xc]
mov byte [edx + eax], cl
mov edx, 1
imul eax, edx, 6
mov ecx, 1
imul edx, ecx, 6
mov ecx, dword [ebp + 0xc]
mov al, byte [ebp + eax - 0xc]
mov byte [ecx + edx], al
mov ecx, 1
imul edx, ecx, 7
mov eax, 1
imul ecx, eax, 7
mov eax, dword [ebp + 0xc]
mov dl, byte [ebp + edx - 0xc]
mov byte [eax + ecx], dl
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101949b1
mov esp, ebp
pop ebp
ret