Function at 0x427120
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
xor dword [0x445fdc], 0xa0cbdedc
mov eax, dword [0x447a10]
imul eax, eax, 0xc4302597
mov dword [0x447a10], eax
mov eax, dword [0x4466e0]
mov ecx, dword [0x43d2ac]
mov edx, dword [0x442b90]
imul eax, ecx
push ebx
sub edx, 0x2ac8852
push esi
add eax, 0x7b77a050
or edx, 0xb81ea9b0
xor esi, esi
cmp eax, edx
push edi
jl 0x42717f
mov ax, word [0x44b012]
cwde
not eax
add eax, 0x946e071f
or dword [0x445e08], eax
cmp dword [ebp + 8], esi
mov edi, dword [ebp + 0x10]
jle 0x42735b
jmp 0x427190
add dword [0x442350], 0xeb4e17d1
and dword [0x43e3ac], 0xe482ffc8
mov ecx, dword [0x4476d8]
mov ebx, dword [ebp + 0xc]
imul ecx, ecx, 0x84173cd4
mov dword [0x4476d8], ecx
mov dx, word [0x44bbd4]
movsx eax, dx
sar eax, 6
and dword [0x43ce9c], eax
mov ecx, dword [ebx]
xor eax, eax
push eax
mov eax, dword [ebp + 0x14]
push eax
push 0
push ecx
call fcn.0042d470
mov cx, word [0x44fb44]
add ebx, 4
movsx ecx, cx
mov dword [ebp + 0xc], ebx
mov ebx, dword [0x4445b8]
or ecx, 0x34996846
imul ebx, ecx
mov dword [0x4445b8], ebx
inc word [0x44fb44]
and dword [0x4425ac], 0x4b20a002
mov ecx, dword [0x438070]
mov ebx, dword [0x439534]
not ecx
xor ecx, 0xfa397cd2
or ebx, ecx
or ebx, 0xe2203810
mov dword [0x439534], ebx
lea ecx, [eax + esi]
mov eax, dword [0x4463d8]
mov ebx, dword [0x44274c]
add eax, ebx
and dword [0x438918], eax
mov ebx, 1
add dword [0x4463d8], ebx
cmp ecx, esi
sbb eax, eax
add dword [0x447654], ebx
neg eax
add eax, edx
mov edx, dword [0x447654]
mov esi, dword [0x438fa8]
and edx, esi
cmp edx, 0x1df018ee
je 0x4272ad
dec word [0x44bcd6]
mov dx, word [0x44bcd6]
movsx edx, dx
add edx, 0x1f34e2b2
cmp edx, 0x800040
jge 0x4272ad
mov edx, dword [0x4389cc]
not edx
imul edx, edx, 0xa6aa6ece
and dword [0x4439c4], edx
mov edx, dword [0x438368]
add ecx, dword [edi]
sar edx, 5
add edx, 0x1477da0
xor edx, 0x66ca862
sub dword [0x43b1cc], edx
cmp ecx, dword [edi]
sbb edx, edx
dec dword [0x4413dc]
neg edx
add eax, edx
mov edx, dword [0x4413dc]
mov esi, dword [0x445e8c]
imul edx, esi
mov esi, dword [0x43abd0]
or esi, 0x1c4bc03f
cmp esi, edx
je 0x42730d
movzx edx, word [0x44cb9c]
xor edx, 0x605876b
mov word [0x44cb9c], dx
jmp 0x427317
mov dword [0x439768], 0xd7038b14
mov esi, eax
mov eax, dword [0x439838]
imul eax, eax, 0xd3dbf6bd
mov dword [0x439838], eax
mov dword [edi], ecx
mov eax, dword [0x4459a0]
sar eax, 9
add eax, 0xe8d4b68b
xor dword [0x43e96c], eax
mov eax, dword [ebp + 8]
and dword [0x44156c], 0x400a433
sub eax, ebx
add edi, 4
mov dword [ebp + 8], eax
test eax, eax
jg 0x427190
mov ecx, dword [0x4425fc]
or edx, 0xffffffff
cmp ecx, 0x5918d282
jl 0x42739a
add dword [0x43c000], edx
mov eax, dword [0x43c000]
cmp eax, 0xc207e89f
jne 0x42739a
add word [0x44cfdc], dx
mov cx, word [0x44cfdc]
movsx eax, cx
or eax, 0xb4b7ae6c
sub dword [0x43d4b4], eax
mov eax, dword [0x43e0fc]
imul eax, eax, 0xaae9d3e1
mov dword [0x43e0fc], eax
mov ecx, 0x93007c24
nop
movzx eax, word [0x449e24]
mov ebx, dword [0x4413e0]
cwde
lea eax, [ebx + eax + 0x6cdf458a]
mov word [0x449e24], ax
add dword [edi], esi
and dword [0x443164], ecx
cmp dword [edi], esi
movzx eax, word [0x44bc22]
sbb esi, esi
xor eax, 0x44b8c9fc
mov word [0x44bc22], ax
mov eax, dword [0x43fc28]
sar eax, 8
neg esi
or eax, 0x1cd896d5
add edi, 4
mov dword [0x43fa68], eax
test esi, esi
jne 0x4273b0
mov ecx, dword [0x437d08]
mov eax, 0xc8bbaa8d
sub eax, ecx
pop edi
xor eax, 0xd45e21fa
sub dword [0x446704], eax
add dword [0x437d08], edx
pop esi
pop ebx
pop ebp
ret