Function at 0x427cf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
add dword [0x43c8c4], 0x625d4685
mov eax, dword [0x446978]
imul eax, eax, 0x59ebba9a
mov dword [0x446978], eax
mov ecx, dword [0x43b24c]
add ecx, 0x48c7c31d
cmp ecx, 0x6fa522d
jge 0x427d2c
and dword [0x440e4c], 0x28a080d9
mov eax, dword [0x44467c]
mov edx, dword [0x44c07c]
or eax, 0x7c09ef0a
imul edx, eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
add eax, 4
push edi
mov dword [0x44c07c], edx
push eax
call fcn.00414d90
mov edi, dword [ebp + 8]
mov dword [0x4418a4], 0x88fb7ea3
movzx ecx, word [0x458f10]
add esp, 4
mov esi, eax
xor ecx, 0xa4a0482
mov dword [ebp - 4], esi
mov word [0x458f10], cx
lea ecx, [ecx]
movzx edx, word [0x45675a]
mov ecx, dword [0x436a68]
movsx eax, dx
mov dl, byte [edi + str.._j]
add ecx, eax
mov word [0x45675a], cx
mov byte [esi], dl
dec dword [0x43d378]
mov eax, dword [0x43d378]
sub eax, 0x66c9aedd
or eax, 0x45d707ff
sub dword [0x44ac20], eax
mov eax, dword [0x4599bc]
mov cl, byte [eax + edi]
xor byte [esi], cl
mov eax, dword [0x43baec]
sar eax, 7
and eax, 0x408604a
or eax, 0xc3459fb5
xor dword [0x444940], eax
movzx edx, word [0x4563d0]
movsx eax, dx
add eax, eax
xor dword [0x43e8f4], eax
movzx eax, byte [edi + 0x433001]
inc edi
mov dword [0x4465bc], 0x37151dd0
mov byte [esi + 1], al
movzx ecx, word [0x457d82]
inc esi
movsx eax, cx
not eax
and eax, 0xa7c212d
or eax, 0xb100dcc2
and dword [0x437758], eax
mov edx, dword [0x4599bc]
movzx eax, byte [edx + edi]
xor byte [esi], al
movzx ecx, word [0x452472]
mov edx, dword [0x4467d4]
inc dword [0x4467d4]
movsx eax, cx
and eax, 0x42800ea
add eax, eax
add eax, eax
add eax, eax
or edx, 0x92767dbe
cmp eax, edx
jle 0x427e65
mov dword [0x449b54], 0x3aa4b673
jmp 0x427e6f
add dword [0x43e510], 0xccca9745
movzx eax, word [0x454434]
add eax, 0x7fb3ede0
mov word [0x454434], ax
mov ecx, dword [0x441d48]
imul ecx, ecx, 0xe756d8e2
or ecx, 0xdc196716
dec esi
inc edi
cmp ecx, 0xee440382
je 0x427ec9
mov dx, word [0x44fad8]
mov eax, dword [0x44dac8]
movsx ecx, dx
imul eax, ecx
mov ecx, dword [0x43fc28]
imul ecx, eax
movzx eax, word [0x4579b4]
and eax, ecx
mov word [0x4579b4], ax
jmp 0x427ed3
or dword [0x43ebb0], 0x14396177
movzx eax, word [esi]
movzx ecx, word [0x455f54]
movzx ebx, ax
imul ecx, ecx, 0x56068079
lea edx, [ebx + 3]
push edx
lea eax, [edi + str.._j]
push eax
mov word [0x455f54], cx
push esi
call fcn.0042a450
mov eax, dword [0x44aa5c]
movzx ecx, word [0x4500fe]
imul eax, eax, 0xe9207600
xor ecx, eax
mov word [0x4500fe], cx
movzx edx, word [0x451ed0]
add edx, 0x34378955
mov word [0x451ed0], dx
mov edx, dword [0x44bd18]
sar edx, 8
sub edx, 0x588deb6d
add esp, 0xc
cmp edx, 0xffbfdfca
mov ecx, esi
lea eax, [ebx + esi + 3]
jle 0x427f57
xor dword [0x445d18], 0x80464478
mov edx, dword [0x4599bc]
add edi, edx
mov edx, dword [0x438a08]
imul edx, edx, 0x8b28724a
mov dword [0x438a08], edx
cmp esi, eax
je 0x427fc7
jmp 0x427f80
mov edx, dword [0x4381d4]
imul edx, edx, 0x7fbccf4c
mov dword [0x4381d4], edx
mov dl, byte [edi]
xor byte [ecx], dl
mov esi, dword [0x443658]
mov dx, word [0x450d92]
sar esi, 1
movsx edx, dx
imul edx, esi
mov esi, dword [0x43fd44]
imul esi, edx
imul esi, esi, 0x43d733ad
inc ecx
inc edi
mov word [0x450d92], si
cmp ecx, eax
jne 0x427f80
mov dword [0x440dfc], 0x6052068b
cmp dword [ebp + 0xc], ebx
je 0x428046
mov dword [0x440f24], 0x6d547922
mov byte [eax], 0
mov ecx, dword [0x445de4]
add ecx, 0xeef2be7d
and dword [0x4472b0], ecx
mov ecx, dword [0x4477dc]
sub dword [ebp + 0xc], ebx
imul ecx, ecx, 0x6fa76e58
mov dword [0x4477dc], ecx
mov edx, dword [0x441584]
mov edi, dword [eax - 3]
imul edx, edx, 0xa8395795
sub eax, 3
mov dword [0x441584], edx
or dword [0x44d924], 0x74561de1
mov esi, eax
movzx eax, word [0x44fdc0]
imul eax, eax, 0xfb3f0c31
mov word [0x44fdc0], ax
jmp 0x427d80
mov ecx, dword [0x438bb8]
mov eax, dword [ebp - 4]
pop edi
sub ecx, 0x1b50c2bf
pop esi
pop ebx
cmp ecx, 0x82f01e69
je 0x42806c
mov edx, 0x7b2c
mov word [0x4510e4], dx
mov esp, ebp
pop ebp
ret