Function at 0x4a4a78
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
lea esi, [ecx + edx + 0x446729ce]
push ecx
push ebx
push ebp
push 0x891ee51
pop ecx
xchg ecx, ebp
add ebp, 0xffffffc0
xchg ebp, ebx
rol ebx, 0xda
adc ecx, ecx
mov ecx, ebx
add ecx, 0x65
inc ecx
sub esi, ecx
pop ebp
pop ebx
pop ecx
sub esi, edx
push 0xea765bfc
pushf
push edi
sub edi, 0xa15f87d4
sbb edi, 0x3fbc8ac
lea edi, [edi + 0x401ddc]
lea edi, [esp + ebp + 0x4a]
push esi
push eax
push edx
or edx, ecx
push 0x40b6f1e9
add edx, dword [esp + 0x38]
mov edx, 0x459aa6
pop edx
add edx, 0xae19d193
xchg edx, eax
sub eax, 0x700e4a41
lea esi, [ebx + ecx*2 + 0x25]
lea esi, [eax + esi - 0x25]
sub esi, eax
sub esi, ecx
mov esi, eax
xor esi, 0x813d86ff
neg esi
xchg esi, edx
sub edi, edx
or edx, 0x6ac2340e
pop edx
xor eax, dword [esp + 0x28]
mov eax, 0x49fd52
pop eax
sbb esi, 0xffffffe1
mov esi, 0x4564ba
pop esi
sub edi, ebp
lea edi, [edi - 0xe]
add edi, 6
push eax
xor eax, 0x4f9ef4ca
mov eax, 0x4174de
rcr eax, 0x31
lea eax, [ebp + esi + 0x484070]
sub eax, esi
sub eax, ebp
push eax
pop dword [edi]
pop eax
pop edi
popf
rcl esi, 0x1d
xor esi, dword [esp + 8]
pop esi
mov cl, 0x10
or ebx, 0xaa50a99c
or ebx, 0xdcbe174
lea ebx, [edi + section..data]
sub ebx, edi
push dword [ebx]
xor ebx, dword [esp + 8]
rcr ebx, 0xb5
pop ebx
rcl eax, 0xa7
mov eax, 0x49f786
push ebx
mov eax, 0x439176
or eax, 0xffffff97
pop eax
or edi, 0xf
mov edi, dword [esp + 0x10]
push dword fs:[0]
pushf
push ebp
add ebp, 0x40896e4a
mov ebp, esp
lea ebp, [ebx + ebp + 0x30]
push eax
push ecx
push ebx
rcl eax, 0x27
mov eax, 0x448686
mov eax, 0xffdbffff
or ebx, ecx
push eax
xor ebx, dword [esp + 8]
mov ebx, 0x487aaa
pop ebx
ror ebx, 0x14
push ebx
rcl ecx, 0x47
mov ecx, 0x4603e4
pop ecx
ror ecx, 0x3c
push ecx
lea eax, [ecx + edx]
pop eax
add eax, 0x4f
sub ebp, eax
or ebx, ebx
pop ebx
or ecx, 0x19
mov ecx, 0x445e2a
pop ecx
and eax, edi
pop eax
sub ebp, ebx
push 0xa
pop dword [ebp]
pop ebp
popf
mov edi, 0x4532de
add edi, dword [esp + 0x18]
pop edi
cdq
idiv edi
add dl, 0x30
xor eax, eax
mov al, cl
mov byte [eax + esi], dl
ror eax, 0x65
rcr eax, 0xa1
rol eax, 0xd9
add eax, dword [esp + 0x18]
lea eax, [ebx + 0x44]
lea eax, [eax - 0x44]
rcr ebx, 0x3f
mov ebx, 0x4553b6
or ebx, ebx
lea ebx, [edi + 0xa]
sub ebx, edi
cdq
idiv ebx
rol ebx, 0xc3
rcr ebx, 0x1f
push eax
or ebx, 0xe1b74cf8
pop ebx
dec ecx
test ebx, ebx
jne 0x4a4b67
mov cl, 0x1c
xor eax, dword [esp + 0x28]
mov eax, 0x40b1a2
adc eax, 0x18fcc4ff
lea eax, [ebp + 0x484004]
sub eax, ebp
mov eax, dword [eax]
add edx, dword [esp + 0x18]
xor edx, dword [esp + 0x28]
xor edx, dword [esp + 0x28]
ror edx, 0xe9
sbb edx, ecx
lea edx, [eax + ebp + 4]
sub edx, ebp
lea edx, [edx + edi - 0x28]
push ecx
push ebx
push esi
mov esi, 0x47f3ae
rol esi, 0xf3
mov esi, 0xc4a7608d
add esi, 0x32782237
rcr ebx, 0x39
mov ebx, 0x45ea6a
push esi
or ebx, edi
pop ebx
xor ebx, 0xe69f82c5
dec ebx
lea ecx, [ecx + 0x64abd42c]
push edx
lea edx, [ecx + ebp + 0x604b1495]
sub edx, ecx
sub edx, ebp
sub edx, 0x2e4d6423
ror edx, 0x34
inc edx
sub edx, 0x769d7533
dec edx
sub ecx, edx
pop edx
mov ecx, ebx
ror ecx, 0x57
inc ecx
push ecx
add esi, 0xca025614
pop esi
lea edx, [edx + esi*2 + 0x54]
lea edx, [ecx + edx - 0x54]
sub edx, ecx
sub edx, esi
sbb esi, 0xc6e0e898
pop esi
ror ebx, 0x2f
mov ebx, 0x4abb96
pop ebx
adc ecx, ebp
pop ecx
sub edx, edi
and edx, 0xf
mov dl, byte [edx + 0x484090]
xor ebx, ebx
mov bl, cl
mov byte [ebx + esi], dl
shr eax, 4
dec ecx
test eax, eax
jne 0x4a4c53
pop edi
pop esi
pop ebx
ret