Function at 0xdecc63
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0xe1a53c]
push esi
and eax, 0x9abbfa
mov dword [ebp - 0x38], edx
push edi
mov esi, eax
mov dword [ebp - 0x24], ecx
push 0x53
or esi, 0x9842ddb5
mov dword [ebp - 0x1c], 0x1d
pop edx
mov dword [ebp - 0x18], 0xffffffb0
xor ecx, ecx
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0xdecc99
push 0x2c
mov dword [ebp - 0x34], edx
xor ecx, ecx
pop edx
mov dword [ebp - 0x1c], 0x38
mov dword [ebp - 0x18], 0xffffffac
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0xdeccb9
push 0x1b
mov dword [ebp - 0x2c], edx
xor ecx, ecx
pop edx
mov dword [ebp - 0x10], 0x4f
mov dword [ebp - 0xc], 0x5a
mov dword [ebp - 8], 0x41
mov dword [ebp - 4], 0xffffff2e
sub edx, dword [ebp + ecx*4 - 0x10]
xor eax, 0xa7cda4f0
inc ecx
cmp ecx, 4
jl 0xdecce7
mov dword [ebp - 0x28], edx
xor edx, edx
push 0x50
pop ecx
mov dword [ebp - 0x1c], 0x40
mov eax, edx
mov dword [ebp - 0x18], 0xffffff90
add ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 2
jl 0xdecd0e
mov edi, 0xc0
mov dword [ebp - 0x44], ecx
mov ecx, edi
mov dword [ebp - 0x20], 0x34
mov dword [ebp - 0x1c], 0x40
mov dword [ebp - 0x18], 0x3c
xor esi, 0x2775b889
mov eax, edx
sub ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xdecd3f
push 0x15
mov dword [ebp - 0x40], ecx
xorps xmm1, xmm1
pop ecx
mov dword [ebp - 0x10], ecx
xorps xmm2, xmm2
mov dword [ebp - 0xc], 0x50
mov dword [ebp - 8], 0x25
mov dword [ebp - 4], 0xffffffa0
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0xc], 5
psubd xmm1, xmm0
mov dword [ebp - 8], 0x25
movaps xmm0, xmm1
mov dword [ebp - 4], 0xffffff87
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x39
movups xmm0, xmm1
mov dword [ebp - 0x1c], 0x47
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0xffffff92
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x10]
add eax, 0x2d
movaps xmm0, xmm1
mov dword [ebp - 0x3c], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x26
mov dword [ebp - 0x48], eax
mov eax, edx
sub ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xdecdf0
mov dword [ebp - 0x10], 0x47
movaps xmm1, xmm2
mov dword [ebp - 0xc], 0x24
mov dword [ebp - 8], 0x23
mov dword [ebp - 4], 0x52
movups xmm0, xmmword [ebp - 0x10]
push 0x2c
mov dword [ebp - 0x54], ecx
psubd xmm1, xmm0
mov dword [ebp - 0x20], 0x25
movaps xmm0, xmm1
mov dword [ebp - 0x1c], 0x42
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0xffffff6f
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x100
mov dword [ebp - 0x4c], eax
mov eax, edx
add ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xdece62
mov dword [ebp - 0x50], ecx
mov eax, 0xdd2570
add esi, 0xae59b506
mov edx, eax
mov ecx, eax
call fcn.00dec55a
xor edx, edx
mov dword [ebp - 0x14], 0x21
push 0x1e
mov dword [ebp - 0x10], 0x4c
mov eax, edx
mov dword [ebp - 0xc], 0x44
mov dword [ebp - 8], 0x35
mov dword [ebp - 4], 0xffffff35
pop ecx
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0xdecead
push 0x1e
mov dword [ebp - 0x64], ecx
movaps xmm1, xmm2
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 0x1a
mov dword [ebp - 8], 0x47
mov dword [ebp - 4], 0xc1
movups xmm0, xmmword [ebp - 0x10]
push 0x10
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 0x14], 9
movaps xmm0, xmm1
mov dword [ebp - 0x10], 0x50
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xc], 0x23
movups xmm0, xmm1
mov dword [ebp - 8], 0x5d
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 4], 0xffffff35
movd eax, xmm1
add eax, 0x160
mov dword [ebp - 0x5c], eax
mov eax, edx
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0xdecf2c
mov dword [ebp - 0x60], ecx
mov eax, edx
push 5
mov ecx, edi
mov dword [ebp - 0x10], 0x33
pop edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0x17
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0xc
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, edi
jl 0xdecf5f
push 0x5b
mov dword [ebp - 0x58], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x20], 0xb
mov dword [ebp - 0x1c], 0x48
mov dword [ebp - 0x18], 0xffffff55
add ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xdecf85
push 0x24
pop edi
mov dword [ebp - 0xa8], ecx
mov eax, edx
mov ecx, 0x100
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], 0x1d
mov dword [ebp - 0xc], 0x4d
mov dword [ebp - 8], 0x37
mov dword [ebp - 4], 0x1b
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0xdecfbe
push 0x6b
mov dword [ebp - 0xa4], ecx
mov edx, 0x205b
imul esi, esi, 0xdbbb50a6
mov eax, 0xdd26a8
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x1672
ja 0xdecff7
movzx ecx, word [eax]
test ecx, ecx
jne 0xdecfe1
jmp 0xdecffd
add esi, 0x77c1cd6a
sub esi, 0x21061894
call fcn.00dec2a3
mov dword [ebp - 0x20], 0x40
xor eax, eax
mov dword [ebp - 0x1c], 0x49
mov dword [ebp - 0x18], 0xffffff98
sub edi, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xded01f
push 0x50
mov dword [ebp - 0x7c], edi
movaps xmm1, xmm2
pop edi
mov dword [ebp - 0x10], 0x14
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], 0x1b
mov dword [ebp - 4], 0xffffff4a
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0x4c
mov dword [ebp - 0xc], 0x4a
paddd xmm1, xmm0
mov dword [ebp - 8], 0x58
movaps xmm0, xmm1
mov dword [ebp - 4], 0xfffffff2
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x1c
movups xmm0, xmm1
mov dword [ebp - 0x1c], edi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0xffffff81
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0x15
movd eax, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
mov dword [ebp - 0xc], 0x44
movaps xmm0, xmm1
mov dword [ebp - 8], 0x53
psrldq xmm0, 8
add eax, 0x57
paddd xmm1, xmm0
mov dword [ebp - 0x78], eax
movups xmm0, xmm1
mov dword [ebp - 4], 0xffffff70
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x10]
push 0x1e
movd eax, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x100
paddd xmm1, xmm0
mov dword [ebp - 0x70], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop edx
push 0x33
add eax, edx
mov dword [ebp - 0x74], eax
xor eax, eax
pop ecx
add ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xded120
mov dword [ebp - 0x68], ecx
xor ecx, ecx
mov dword [ebp - 0x20], 6
mov eax, ecx
mov dword [ebp - 0x1c], 0x24
mov dword [ebp - 0x18], 0xffffffba
add edx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xded146
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x10], 0x46
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], 0x4e
mov dword [ebp - 4], 0xffffff12
movups xmm1, xmmword [ebp - 0x10]
push 0x4c
imul edi, esi, 0x2bfaef11
paddd xmm1, xmm2
mov dword [ebp - 0x1c], 0x5e
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0xffffff56
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop esi
add eax, 0xb
mov dword [ebp - 0x80], eax
mov eax, esi
add eax, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 2
jl 0xded1ae
mov dword [ebp - 0x84], eax
xor eax, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xc], esi
mov esi, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0x53
mov dword [ebp - 8], 0x32
mov dword [ebp - 4], 0xfffffee3
mov ecx, eax
mov eax, 0xdd2570
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x10da
jl 0xded1ff
xor edx, edx
cmp word [eax], dx
mov edx, dword [ebp - 0x30]
jne 0xded1e7
jmp 0xded207
call fcn.00dec3d8
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp + esi*4 - 0x14]
xor eax, eax
inc esi
mov dword [ebp - 0x30], edx
cmp esi, 5
jl 0xded1e0
push 0x3b
pop ecx
mov dword [ebp - 0x1c], 0x46
mov dword [ebp - 0x18], 0xffffff9f
add ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 2
jl 0xded227
mov dword [ebp - 0x10], 0x53
mov edx, 0x119b
mov dword [ebp - 0xc], 0x43
mov dword [ebp - 8], 0x41
mov dword [ebp - 4], 0xfffffecd
movups xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 4
mov dword [ebp - 0xc], 0x2a
paddd xmm1, xmm2
mov dword [ebp - 8], 0x60
movaps xmm0, xmm1
mov dword [ebp - 4], 0xffffff19
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x88], ecx
movups xmm0, xmm1
mov dword [ebp - 0x20], 0x32
psrldq xmm0, 4
mov ecx, 0xe1a500
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x49
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x10]
mov dword [ebp - 0x18], 0x35
add eax, 0x5d
paddd xmm1, xmm2
mov dword [ebp - 0x8c], eax
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x59
mov dword [ebp - 0x98], eax
movzx eax, byte [0xe1a500]
jmp 0xded2ff
add edx, eax
inc ecx
cmp edx, 0x2541
ja 0xded305
movzx eax, byte [ecx]
test eax, eax
jne 0xded2f1
jmp 0xded310
call fcn.00dec2a3
or edi, 0xfc946dba
and edi, 0xa4109774
call fcn.00dec2a3
xor edx, edx
mov ecx, 0xc0
mov eax, edx
sub ecx, dword [ebp + eax*4 - 0x20]
inc eax
cmp eax, 3
jl 0xded324
mov eax, edx
mov dword [ebp - 0x94], ecx
imul edx, edi, 0xe05601ed
push 0xa
pop esi
mov ecx, esi
mov dword [ebp - 0x14], 0x51
mov dword [ebp - 0x10], 0x62
mov dword [ebp - 0xc], 6
mov dword [ebp - 8], 0x25
mov dword [ebp - 4], 0xffffff2b
mov dword [0xe1a53c], edx
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0xded36a
mov dword [ebp - 0xc], 0x44
mov dword [ebp - 8], 2
mov dword [ebp - 4], 0xffffff4a
mov dword [ebp - 0x10], 0x3d
movups xmm1, xmmword [ebp - 0x10]
push 0x52
mov dword [ebp - 0x90], ecx
paddd xmm1, xmm2
mov dword [ebp - 0xc], 8
movaps xmm0, xmm1
mov dword [ebp - 8], esi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 4], 0xffffff9f
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x33
mov dword [ebp - 0x18], eax
xor eax, eax
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xded3d6
push 0xd
mov dword [ebp - 0xa0], ecx
xor eax, eax
pop ecx
mov dword [ebp - 0x14], 0x12
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0xc], 0x2d
mov dword [ebp - 8], 0x3e
mov dword [ebp - 4], 0xffffff63
sub ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 5
jl 0xded40e
imul eax, edx, 0x5b4f01dc
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [0xe1a54c], eax
call fcn.00dec63b
mov ecx, dword [ebp - 0x2c]
mov edi, eax
call fcn.00dec63b
mov ecx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x2c], esi
call fcn.00dec63b
mov dword [ebp - 0x28], eax
test edi, edi
je 0xded5a5
test esi, esi
je 0xded5a5
test eax, eax
je 0xded5a5
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
push esi
push edi
push dword [ebp + 8]
call fcn.00ddb76f
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
push eax
call fcn.00ddc365
push dword [ebp - 0x48]
or dword [0xe1a53c], 0x4b8d09ad
mov esi, eax
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x28]
add eax, esi
add eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x44]
push dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
call fcn.00e05084
mov eax, dword [ebp - 0x4c]
cdq
idiv dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x24]
push eax
push edi
push ecx
call fcn.00e05084
mov eax, dword [ebp - 0x5c]
cdq
idiv dword [ebp - 0x60]
push dword [ebp - 0x58]
add eax, dword [ebp - 0x64]
push dword [ebp - 0x2c]
add eax, dword [ebp - 0x24]
push eax
call fcn.00e05084
mov ecx, dword [ebp - 0xa4]
add ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0x24]
push esi
push dword [ebp - 0x38]
push ecx
call fcn.00e05084
mov eax, dword [ebp - 0x68]
add esp, 0x40
cdq
idiv dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x70]
cdq
idiv dword [ebp - 0x74]
add eax, edi
push eax
mov eax, dword [ebp - 0x78]
add eax, esi
mov esi, dword [ebp - 0x24]
add eax, dword [ebp - 0x7c]
add eax, esi
push eax
call fcn.00e05084
mov eax, dword [ebp - 0x80]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add eax, ecx
xor edx, edx
mov byte [eax + esi], dl
mov eax, dword [ebp - 0x84]
jmp 0xded539
cmp byte [eax + esi], 0x3d
jne 0xded538
mov byte [eax + esi], 0x5f
inc eax
cmp eax, ecx
jb 0xded52e
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x8c]
push eax
push dword [ebp - 0x30]
push edi
call fcn.00e05117
mov eax, dword [ebp - 0x90]
add eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x2c]
push eax
push dword [ebp - 0x98]
push esi
call fcn.00e05117
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0xa0]
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x28]
call fcn.00e05117
add esp, 0x24
mov ecx, edi
call fcn.00dee98d
mov ecx, esi
call fcn.00dee98d
mov ecx, dword [ebp - 0x28]
call fcn.00dee98d
mov eax, dword [ebp - 0x34]
jmp 0xded601
mov dword [ebp - 0x10], 0x49
xorps xmm1, xmm1
mov dword [ebp - 0xc], 0x2a
mov ecx, edi
mov dword [ebp - 8], 3
mov dword [ebp - 4], 0xffffff8a
movups xmm0, xmmword [ebp - 0x10]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
call fcn.00dee98d
mov ecx, dword [ebp - 0x2c]
call fcn.00dee98d
mov ecx, dword [ebp - 0x28]
call fcn.00dee98d
mov eax, esi
pop edi
pop esi
leave
ret