Function at 0x4757b0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
mov ebx, dword [0x727678]
push ebp
mov ebp, dword [0x816310]
push esi
push edi
xor eax, eax
mov ecx, 0x48
mov edi, 0x85c790
rep stosd dword es:[edi], eax
mov edi, dword [0x81630c]
xor esi, esi
test esi, esi
je 0x4757f2
xor edx, edx
mov eax, esi
mov ecx, 3
div ecx
dec edx
neg edx
sbb edx, edx
neg edx
add edx, 2
jmp 0x4757f7
mov edx, 1
test esi, esi
mov dword [esi*4 + 0x85c790], edx
jne 0x47585f
mov eax, ebx
imul eax, eax, 0xf4240
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, 0x55555556
imul ecx
mov ecx, dword [0x81630c]
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
call fcn.004dcac0
mov edx, dword [0x816304]
mov ecx, dword [0x81630c]
add eax, edx
mov dword [0x85c7b0], eax
mov eax, edi
add ecx, 0x40000000
call fcn.004dcac0
mov ecx, dword [0x816308]
mov edi, dword [0x81630c]
add eax, ecx
mov dword [0x85c7d0], eax
mov eax, ebp
mov ecx, edi
call fcn.004dcac0
imul eax, dword [0x727684]
imul eax, ebx
lea eax, [eax + eax*4]
cdq
and edx, 3
add eax, edx
mov ecx, eax
sar ecx, 2
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi*4 + 0x85c7b0]
add edx, eax
mov eax, ebp
lea ecx, [edi + 0x40000000]
mov dword [esi*4 + 0x85c7b0], edx
call fcn.004dcac0
imul eax, dword [0x727684]
imul eax, ebx
lea eax, [eax + eax*4]
cdq
and edx, 3
add eax, edx
mov ecx, eax
sar ecx, 2
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add dword [esi*4 + 0x85c7d0], ecx
mov dword [esi*4 + 0x85c7f0], 0
lea eax, [edi + 0x15555555]
mov dword [esi*4 + 0x85c810], eax
inc esi
cmp esi, 8
jl 0x4757d7
xor ebp, ebp
call fcn.00475a60
test al, al
jne 0x475a01
cmp ebp, 0x7d0
jge 0x4759fc
mov ebx, dword [0x81630c]
test ebx, ebx
mov esi, 0x3d09
mov ecx, ebx
jns 0x47593b
mov esi, 0xffffc2f7
and ecx, 0x7fffffff
test ecx, 0x40000000
je 0x47594c
mov edx, 0x7fffffff
sub edx, ecx
mov ecx, edx
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x7d00
mov edi, 1
jle 0x475977
nop
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov esi, eax
cdq
xor eax, edx
sub eax, edx
add edi, edi
cmp eax, 0x7d00
jg 0x475960
mov edx, esi
call fcn.00495330
imul eax, edi
sub dword [0x85c7b0], eax
lea ecx, [ebx + 0x40000000]
test ecx, ecx
mov esi, 0x3d09
jns 0x4759a1
mov esi, 0xffffc2f7
and ecx, 0x7fffffff
test ecx, 0x40000000
je 0x4759b2
mov eax, 0x7fffffff
sub eax, ecx
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x7d00
mov edi, 1
jle 0x4759dc
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov esi, eax
cdq
xor eax, edx
sub eax, edx
add edi, edi
cmp eax, 0x7d00
jg 0x4759c5
mov edx, esi
call fcn.00495330
imul eax, edi
sub dword [0x85c7d0], eax
add ebp, 0xf
call fcn.00475a60
test al, al
je 0x475913
cmp ebp, 0xf
jge 0x475a4a
mov ebx, dword [0x81630c]
mov edi, ebp
imul edi, edi, 0x3e8
lea ebp, [ebx + 0x40000000]
mov esi, 0x85c7d4
lea ebx, [ebx]
mov eax, edi
mov ecx, ebx
call fcn.004dcac0
sub dword [esi - 0x20], eax
mov eax, edi
mov ecx, ebp
call fcn.004dcac0
sub dword [esi], eax
add esi, 4
cmp esi, 0x85c7f0
jl 0x475a20
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret