Function at 0x484df0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
xchg esp, esp
mov ebx, dword [ebp + 0x10]
mov ecx, 0x44104de
add ecx, 0x7a54145f
mov dword [esp - 0x1c], edi
sub ecx, 0x5738a7
xor ecx, 0x1cd3d866
sub ecx, 0x62ee38ee
mov ebp, ebp
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
mov dword [esp - 0x2c], 0x70ae284d
add eax, dword [edi + 4]
mov dword [ebp - 4], eax
inc eax
mul ecx
xchg edx, edx
pushf
mov ecx, 0x2709eaf4
add ecx, 0x4a6afb29
mov dword [esp - 0x18], esi
sub ecx, 0x696a962a
add ecx, 0x2d13e4f6
xor ecx, 0xcae1cb16
mov dword [esp - 0x24], ebx
popf
cmovb eax, ecx
push eax
call fcn.00490c90
mov dword [esp - 0x2c], edi
mov ecx, dword [edi + 4]
add esp, 4
xor esi, esi
mov dword [esp - 0x28], ebx
mov dword [ebp + 0xc], eax
test ecx, ecx
je 0x484eeb
mov ebx, eax
mov dword [esp - 0x3c], 0x8c11531
lea ecx, [ecx]
mov edx, edi
cmp ecx, 2
mov dword [esp - 0x3c], 0x2ea02149
jbe 0x484e9f
mov edx, dword [edi]
mov ecx, esi
mov eax, 0x5549688c
mov ecx, ecx
sub eax, 0x3d127524
add eax, 0x57cea47
xor eax, 0x5243cb35
mov dword [esp - 0xc], 0x1846eeb2
add eax, 0x2bba2e57
and ecx, 3
shl ecx, 3
sar eax, cl
mov dword [esp - 0x1c], esi
cbw
xor ax, word [edx + esi*2]
mov word [ebx + esi*2], ax
inc esi
mov dword [esp - 0x34], ecx
mov ecx, dword [edi + 4]
cmp esi, ecx
jb 0x484e8e
mov ebx, dword [ebp + 0x10]
xchg edx, edx
mov eax, dword [ebx + 4]
xor edx, edx
test eax, eax
je 0x484f5c
mov ebp, ebp
mov esi, ebx
cmp eax, 2
jbe 0x484f01
mov esi, dword [ebx]
xchg ebx, ebx
mov ecx, edx
mov eax, 0x2bcb8087
add eax, 0x4d186887
mov esi, esi
xor eax, 0x46780644
xor eax, 0x4a40e6d9
add eax, 0x6cf3b5e
mov dword [esp - 0x18], 0x493bae1e
and ecx, 3
shl ecx, 3
sar eax, cl
mov dword [esp - 0xc], 0x2e0fbaa7
movsx cx, al
mov eax, dword [edi + 4]
add eax, edx
xchg esp, esp
xor cx, word [esi + edx*2]
inc edx
mov esi, dword [ebp + 0xc]
mov word [esi + eax*2], cx
mov dword [esp - 0x40], 0x68516d0c
mov eax, dword [ebx + 4]
cmp edx, eax
jb 0x484ef6
mov ebx, dword [ebp + 0xc]
mov ecx, ecx
xor ecx, ecx
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 8]
mov word [ebx + eax*2], cx
mov dword [esp - 0x28], edx
mov dword [edi], ecx
mov ecx, ebx
lea edx, [ecx + 2]
mov dword [esp - 0x34], 0x2c1ff2d1
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x484f80
mov ebp, ebp
sub ecx, edx
mov edx, edi
sar ecx, 1
mov dword [esp - 0x40], ebx
mov dword [edi + 4], ecx
cmp ecx, 2
jbe 0x485015
mov dword [esp - 0x38], 0x27d0a9b2
mov eax, ecx
mov ecx, 0x5719d459
xor ecx, 0x5525f812
xor ecx, 0x52b92bdd
mov ecx, ecx
sub ecx, 0x3e115cc6
add ecx, 0x147f2cda
add ecx, 0x223b5807
xchg ecx, ecx
xor ecx, 0x492e2fb3
mul ecx
pushf
mov ecx, 0x30ba1815
xchg ecx, ecx
sub ecx, 0x16bcea7
add ecx, 0x3120158a
sub ecx, 0x3a7f73a
mov dword [esp - 0x2c], edi
xor ecx, 0xa3399841
popf
cmovb eax, ecx
mov ebx, ebx
push eax
call fcn.00490c90
mov edx, eax
add esp, 4
mov dword [esp - 0x14], ebx
mov dword [edi], edx
xor esi, esi
cmp dword [edi + 4], esi
jbe 0x485075
mov dword [esp - 0x20], 0x4ddf9c5a
sub ebx, edx
mov ecx, esi
lea edx, [edx + 2]
and ecx, 3
mov dword [esp - 0x38], 0x6cb09e08
mov eax, 0x3a0c310b
xor eax, 0x1bf13b8b
add eax, 0x4e137599
mov edx, edx
sub eax, 0x4ba3a93e
xor eax, 0x2c72e37c
add eax, 0x738c0f4a
shl ecx, 3
mov edx, edx
inc esi
sar eax, cl
cbw
xor ax, word [edx + ebx - 2]
xchg ebx, ebx
mov word [edx - 2], ax
cmp esi, dword [edi + 4]
jb 0x485026
mov ebp, ebp
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00490c60
mov edx, edx
add esp, 4
mov eax, edi
pop edi
pop esi
mov dword [esp - 0x44], 0x23e88364
pop ebx
mov esp, ebp
pop ebp
mov edi, edi
ret