Function at 0x427450
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [0x4590b0], 0x52a125f8
xor dword [0x462640], 0xcd7b7cbf
mov eax, dword [0x45a774]
shl eax, 8
push ebx
mov ebx, dword [ebp + 8]
or eax, 0x9825d140
and dword [0x46b934], eax
push esi
mov esi, dword [ebp + 0x10]
cmp ebx, esi
jne 0x4274d5
mov eax, dword [0x4675d4]
mov edx, ebx
imul eax, dword [0x45c164]
mov esi, dword [ebp + 0xc]
mov dword [0x45c164], eax
imul eax, dword [0x460590], 0xf82bd0d8
mov dword [0x460590], eax
add dword [0x45d6f8], 0xdc8d328a
mov eax, dword [0x468368]
movzx ecx, word [0x4739ae]
not eax
imul eax, eax, 0x77cea67f
add ecx, eax
mov word [0x4739ae], cx
jmp 0x4274d8
mov edx, dword [ebp + 0xc]
or dword [0x45a86c], 0xd93b88ee
cmp ebx, edx
je 0x4274f8
push edx
push ebx
call fcn.00406810
add esp, 8
test eax, eax
jne 0x42771d
mov eax, dword [0x461024]
xor eax, dword [0x459984]
cmp eax, 0xcc022065
jne 0x427514
add dword [0x465b24], 0x1412e02a
push edi
mov edi, dword [esi + 4]
dec edi
js 0x42752c
mov eax, dword [esi + 8]
lea eax, [eax + edi*4]
cmp dword [eax], 0
jne 0x42752c
sub eax, 4
dec edi
jns 0x427521
add dword [0x467af0], 0xf80e055d
lea eax, [edi + 1]
push eax
push ebx
call fcn.00406060
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x42771c
mov ecx, dword [0x46fc00]
or ecx, dword [0x458d2c]
mov dword [0x46849c], ecx
mov ecx, 0xd042149
mov eax, dword [esi + 8]
xor esi, esi
xor dword [0x457704], 0xafb3bfef
mov edx, dword [ebx + 8]
add dword [0x46034c], 0x17bf4451
mov dword [ebp + 0xc], eax
imul eax, dword [0x46319c], 0x563ce6b9
sub ecx, eax
cmp ecx, 0xb171050e
jl 0x4275b6
movsx eax, word [0x4750fa]
add eax, 0xf75643b2
cmp eax, dword [0x45df40]
je 0x4275b6
add dword [0x467644], 0xc56b1433
test edi, edi
js 0x42770f
sub dword [ebp + 0xc], edx
lea ecx, [edi + 1]
mov ebx, dword [ebp + 0xc]
mov edi, 0xffffdc7f
mov dword [ebp - 4], ecx
nop
mov word [0x479fa8], di
add dword [edx], esi
xor dword [0x46a0f0], 0x109983c4
cmp dword [edx], esi
mov eax, dword [0x463ab4]
sbb esi, esi
or eax, 0xdc1a5fd9
xor dword [0x45ae40], eax
neg esi
mov eax, dword [ebx + edx]
add dword [edx], eax
mov eax, dword [0x45768c]
mov dword [0x45c574], eax
inc dword [0x45768c]
mov eax, dword [edx]
cmp eax, dword [ebx + edx]
sbb eax, eax
add edx, 4
neg eax
add esi, eax
movzx eax, word [0x47a7a2]
xor eax, 0x94b5569b
mov word [0x47a7a2], ax
dec ecx
jne 0x4275d0
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 8]
test esi, esi
je 0x42770f
nop
or dword [0x46d1e8], 0xd8d27781
cmp edi, dword [ebx + 4]
jl 0x4276a8
add dword [0x469888], 0x632ce7de
lea eax, [edi + 1]
push eax
push ebx
call fcn.00406060
add esp, 8
mov dword [ebp + 0x10], eax
test eax, eax
jne 0x42771c
mov dword [0x463f70], 0x9256d22
mov eax, dword [ebx + 8]
lea edx, [eax + edi*4]
mov eax, dword [0x45a618]
movsx ecx, word [0x478daa]
sar eax, 6
imul ecx, eax
mov eax, dword [0x459eb0]
imul eax, ecx
add dword [0x464fd0], eax
dec word [0x478daa]
mov eax, dword [0x46a520]
or eax, dword [0x463224]
mov dword [0x46a520], eax
add dword [edx], esi
add dword [0x46eeec], 0xb1528f82
cmp dword [edx], esi
sbb esi, esi
imul eax, dword [0x46b144], 0x66d43270
neg esi
and eax, 0x8472f4e6
cmp eax, 0xade1022b
jg 0x4276ea
mov dword [0x459490], 0xe0aa28f3
mov ax, word [0x474a80]
inc edi
mov ecx, dword [0x464c38]
cwde
or ecx, eax
mov word [0x474a80], cx
dec dword [0x464c38]
test esi, esi
jne 0x427640
and dword [0x46bb74], 0x2ff1dcdf
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret