Function at 0x427e20
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
mov edx, dword [esp + 0x14]
push ebx
push ebp
push esi
push edi
mov edi, dword [ecx + 0xb8]
mov eax, dword [edi]
add eax, dword [edx]
mov ebp, dword [edi + 4]
lea ecx, [edx + 4]
mov edx, dword [ecx + 8]
add edx, dword [edi + 0xc]
mov esi, ecx
add ebp, dword [esi]
mov esi, dword [edi + 8]
add esi, dword [ecx + 4]
add ecx, 4
mov dword [esp + 0x1c], edi
xor ebx, ebx
jmp 0x427e60
mov ecx, eax
and ecx, 0xff
mov edi, dword [ecx*4 + 0x6ac100]
xor edi, ebp
mov ecx, eax
shr ecx, 8
and ecx, 0xff
add edi, dword [ecx*4 + 0x6ac500]
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
add esi, dword [ecx*4 + 0x6ac100]
ror eax, 0x18
mov ecx, eax
and ecx, 0xff
xor edx, dword [ecx*4 + 0x6ac500]
mov ecx, ebx
and ecx, 3
mov ebp, ecx
neg ebp
sbb ebp, ebp
dec ecx
not ebp
and ebp, edx
neg ecx
sbb ecx, ecx
not ecx
add ebp, eax
and ecx, edi
add ecx, ebp
inc ebx
mov ebp, esi
mov esi, edx
mov eax, edi
mov edx, ecx
cmp ebx, 8
jb 0x427e60
mov ecx, dword [esp + 0x1c]
add ecx, 0x10
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ecx
jmp 0x427ef4
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + 4]
mov edi, dword [ecx]
mov edx, eax
rol edx, 0xd
imul ebx, edx
add edi, eax
rol ebx, 0xa
mov ecx, edi
and ecx, 0x1ff
mov ebp, dword [ecx*4 + 0x6ac100]
mov eax, ebx
ror eax, 5
xor ebp, eax
xor ebp, ebx
mov cl, bl
rol ebp, cl
mov cl, al
rol edi, cl
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10]
add esi, edi
cmp ecx, 8
jb 0x427f39
lea eax, [esp + 0x24]
add dword [eax], ebp
lea eax, [esp + 0x24]
cmp ecx, 8
jb 0x427f48
lea eax, [esp + 0x10]
xor dword [eax], ebx
add dword [esp + 0x14], 8
mov eax, dword [esp + 0x10]
inc ecx
mov edi, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], ecx
cmp ecx, 0x10
jb 0x427ef0
xor ebx, ebx
lea ecx, [ecx]
xor ecx, ecx
mov ebp, ebx
and ebp, 3
cmp ebp, 2
setne cl
dec ecx
and ecx, edx
xor edx, edx
cmp ebp, 3
setne dl
inc ebx
dec edx
and edx, edi
add ecx, edx
sub eax, ecx
mov ecx, eax
shr ecx, 0x18
sub esi, dword [ecx*4 + 0x6ac100]
mov ecx, dword [esp + 0x24]
mov ebp, eax
shr ebp, 0x10
mov edx, eax
and ebp, 0xff
sub ecx, dword [ebp*4 + 0x6ac500]
rol edx, 0x18
and eax, 0xff
mov eax, dword [eax*4 + 0x6ac500]
mov ebp, edx
and ebp, 0xff
xor ecx, dword [ebp*4 + 0x6ac100]
xor eax, edi
mov edi, esi
mov esi, ecx
mov dword [esp + 0x24], edx
cmp ebx, 8
jb 0x427f70
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
sub edi, dword [ecx + 0x94]
sub esi, dword [ecx + 0x98]
sub edx, dword [ecx + 0x9c]
sub eax, dword [ecx + 0x90]
test ebx, ebx
je 0x428009
mov ecx, dword [ebx]
jmp 0x42800b
xor ecx, ecx
xor ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
add eax, 4
test ebx, ebx
je 0x428023
add ebx, 4
je 0x428023
mov ecx, dword [ebx]
jmp 0x428025
xor ecx, ecx
xor ecx, edi
mov dword [eax], ecx
add eax, 4
test ebx, ebx
je 0x428039
add ebx, 4
je 0x428039
mov ecx, dword [ebx]
jmp 0x42803b
xor ecx, ecx
xor ecx, esi
mov dword [eax], ecx
add eax, 4
test ebx, ebx
je 0x42805b
add ebx, 4
je 0x42805b
mov ebx, dword [ebx]
pop edi
pop esi
xor ebx, edx
pop ebp
mov dword [eax], ebx
pop ebx
add esp, 0x10
ret 0xc
pop edi
xor ebx, ebx
pop esi
xor ebx, edx
pop ebp
mov dword [eax], ebx
pop ebx
add esp, 0x10
ret 0xc