Function at 0x4281a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa30
mov esi, esp
push 0x1000
call fcn.00408d90
add esp, 4
mov dword [esi + 0x54], eax
mov dword [esi + 0x770], 0x7b8496a8
mov dword [esi + 0x774], 0x91405d4d
mov word [esi + 0x778], 0xad8e
mov dword [esi + 0x77a], 0
mov word [esi + 0x77e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x770]
lea edx, [eax - 0x42e4c01b]
mov edi, 0x1a
sub edi, eax
xor edi, edx
and edi, ecx
xor edi, edx
mov dword [esi + 0x178], edi
mov ecx, dword [esi + 0x178]
add cl, 0xbd
mov byte [esi + eax + 0x770], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x10
jb 0x428200
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esi + 0x14], eax
mov dword [esi + 0x4f8], 0xb492e082
mov dword [esi + 0x4fc], 0x5e5c6363
mov dword [esi + 0x500], 0x5a6c605f
mov dword [esi + 0x504], 0x6d6d506c
mov word [esi + 0x508], 0x9da2
mov byte [esi + 0x50a], 0xe2
mov dword [esi + 0x50f], 0
mov dword [esi + 0x50b], 0
xor ebx, ebx
mov edx, 0xffffffff
nop
nop
nop
nop
mov dword [esi + 4], edx
mov dword [esi + 0xc], ebx
or edx, 0x9fcd341
mov ecx, dword [esi + 4]
and ecx, 2
mov edi, dword [esi + 4]
or edi, 0xfffffffd
sub edi, edx
mov eax, ecx
not eax
and eax, edi
mov ebx, edi
not ebx
and ebx, ecx
imul ebx, eax
mov dword [esi + 8], ebx
mov eax, edi
and eax, ecx
or edi, ecx
imul edi, eax
mov dword [esi + 0x10], edi
mov eax, edx
not eax
xor edx, 0xfffffffd
add edx, eax
mov edi, eax
and eax, 0x1c
mov ecx, edx
sub ecx, eax
and edi, 2
mov ebx, ecx
not ebx
and ebx, edi
mov eax, edi
not eax
and eax, ecx
imul eax, ebx
mov ebx, dword [esi + 0xc]
and edx, edi
or ecx, edi
imul ecx, edx
mov edx, ebx
and edx, 1
mov edi, ebx
and edi, 0x1e
or edx, 0x91db853a
xor edx, edi
xor edx, 0x67d8a984
add edx, dword [esi + 0x10]
add edx, dword [esi + 8]
add edx, ecx
movzx ecx, byte [esi + ebx + 0x4f8]
add edx, eax
lea eax, [edx + edx]
not eax
add eax, edx
xor eax, edx
and eax, ecx
xor eax, edx
mov dword [esi + 0x178], eax
mov eax, dword [esi + 0x178]
add eax, 0x3944046c
mov ecx, eax
and ecx, 0x61
xor eax, 0x61
lea eax, [eax + ecx*2]
mov edx, dword [esi + 4]
inc al
mov byte [esi + ebx + 0x4f8], al
inc ebx
dec edx
cmp ebx, 0x1b
jne 0x4282a0
mov eax, dword [str.tLYMe5__n12]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x178], 0x60d2f5f3
mov dword [esi + 0x17c], 0x5e5a0965
mov dword [esi + 0x180], 0x370c2367
mov dword [esi + 0x184], 0x5b20013b
mov dword [esi + 0x188], 0x5c57566d
mov dword [esi + 0x18c], 0x4e714848
mov dword [esi + 0x190], 0x16e24048
mov dword [esi + 0x194], 0x787b3712
mov dword [esi + 0x198], 0x774f200c
mov dword [esi + 0x19c], 0x7e742976
mov dword [esi + 0x1a0], 0x23027877
mov dword [esi + 0x1a4], 0x744b7d02
mov dword [esi + 0x1a8], 0x7c776275
mov dword [esi + 0x1ac], 0x6b63646c
mov dword [esi + 0x1b0], 0xcd686c78
mov dword [esi + 0x1b4], 0x5c0c3121
mov dword [esi + 0x1b8], 0x6e736665
mov dword [esi + 0x1bc], 0x246e495c
mov dword [esi + 0x1c0], 0x6d081111
mov dword [esi + 0x1c4], 0x1e2b6642
mov dword [esi + 0x1c8], 0x5b535246
mov dword [esi + 0x1cc], 0x4b4e494c
mov dword [esi + 0x1d0], 0x6f5c4ea0
mov dword [esi + 0x1d4], 0x577e756d
mov byte [esi + 0x1d8], 0xb6
mov word [esi + 0x1e1], 0
mov dword [esi + 0x1dd], 0
mov dword [esi + 0x1d9], 0
xor ecx, ecx
mov edi, 0xffffffff
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], edi
mov dword [esi + 4], ecx
mov eax, ecx
and eax, 4
neg eax
mov ebx, edx
add edx, eax
add edx, 2
and edx, ebx
mov eax, edi
or eax, 0x25a7877d
add eax, ebx
inc eax
mov ecx, ebx
mov dword [esi + 8], ebx
xor ecx, 0xa5a7877d
or ecx, eax
lea eax, [ecx - 1]
and eax, edx
neg ecx
xor ecx, edx
movzx edx, byte [esi + ebx + 0x178]
mov dword [esi + 0x10], edx
add eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, edx
mov edi, ecx
or edi, 2
mov edx, ecx
and edx, 2
imul edi, edx
mov ebx, ecx
and ebx, 0xfffffffd
xor edx, 2
imul edx, ebx
add edx, edi
not edx
add edx, ecx
and edx, eax
mov edi, edx
or edi, 0xfffffffd
inc edi
mov ecx, edx
and ecx, 0xfffffffd
imul ecx, edi
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
mov edi, dword [esi + 0xc]
sub ecx, edx
add eax, dword [esi + 0x10]
add eax, ecx
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
add eax, 0x7a5c0f41
mov ecx, eax
or ecx, 0x94
and eax, 0x94
add eax, ecx
mov ecx, dword [esi + 4]
add al, 0xc0
mov edx, dword [esi + 8]
mov byte [esi + edx + 0x178], al
inc edx
add ecx, 2
dec edi
cmp edi, 0xffffff94
jne 0x4284a0
movzx eax, byte [esi + 0x178]
mov edx, dword [esi + 0x54]
mov ebx, edx
test al, al
je 0x42858b
lea ecx, [esi + 0x179]
mov ebx, edx
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428580
mov byte [ebx], 0
mov ecx, dword [esi + 0x1c]
movzx eax, byte [ecx]
test al, al
je 0x4285ab
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285a0
mov byte [ebx], 0
movzx eax, byte [esi + 0x4f8]
test al, al
je 0x4285cb
lea ecx, [esi + 0x4f9]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285c0
mov byte [ebx], 0
mov ecx, dword [esi + 0x14]
movzx eax, byte [ecx]
test al, al
je 0x4285eb
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285e0
mov byte [ebx], 0
movzx eax, byte [esi + 0x770]
test al, al
je 0x42860b
lea ecx, [esi + 0x771]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428600
mov byte [ebx], 0
push 0
call fcn.0043f730
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a234]