Function at 0x485310
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, edx
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov dword [esp - 0x30], edi
mov esi, 0x1077c7a5
xor esi, 0x493a46d4
sub esi, 0x144be0cc
xchg ebx, ebx
xor esi, 0x553a3947
add esi, 0x1720cddb
sub esi, 0x275c67bb
mov dword [esp - 0x24], esp
push edi
mov eax, dword [ebx + 4]
mov edi, 0x2175369f
xchg ebp, ebp
add edi, 0x565a86dc
sub edi, 0x741de08e
add edi, 0x57c536f2
mov dword [esp - 0x38], esp
sub edi, 0x30e6b6e5
add edi, 0x4aec3920
add edi, 0x8a8369e5
xchg esp, esp
add eax, 2
mov dword [ebp - 0xc], eax
mul esi
xchg esp, esp
cmovb eax, edi
push eax
call fcn.00490c90
mov dword [ebp - 4], eax
xchg ebp, ebp
add esp, 4
mov eax, dword [ebx + 4]
mov dword [ebp + 0xc], eax
cmp eax, esi
mov dword [esp - 0x44], edi
jbe 0x4853aa
mov ebx, dword [ebx]
inc eax
mul esi
mov ecx, ecx
cmovb eax, edi
push eax
call fcn.00490c90
mov dword [esp - 0x24], 0xabd40fd
mov esi, eax
add esp, 4
mov eax, dword [ebp + 0xc]
mov dword [esp - 0x24], 0x21669257
xor edi, edi
mov dword [ebp - 8], esi
test eax, eax
je 0x48543f
xchg edx, edx
mov edx, esi
sub ebx, esi
mov esi, eax
mov dword [esp - 0x34], ebx
nop
mov ecx, edi
lea edx, [edx + 2]
and ecx, 3
mov dword [esp - 0x1c], 0x49c9f4ef
mov eax, 0x84829bd
add eax, 0x741c5024
sub eax, 0x4342f32d
mov ebp, ebp
add eax, 0x9e9cb88
xor eax, 0x5f06b000
xor eax, 0x67a7a6cd
shl ecx, 3
xchg esi, esi
inc edi
sar eax, cl
cbw
xor ax, word [edx + ebx - 2]
mov dword [esp - 0x38], 0x1661f707
mov word [edx - 2], ax
cmp edi, esi
jb 0x4853e6
mov dword [esp - 0x14], esi
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0xc]
mov dword [esp - 0x1c], edi
xor ecx, ecx
mov ebx, dword [ebp - 4]
push esi
push edi
mov dword [esp - 0x3c], esp
push ebx
mov word [esi + eax*2], cx
call fcn.00491620
mov esi, esi
push esi
call fcn.00490c60
mov ax, word [ebp + 0x10]
add esp, 0x10
mov dword [esp - 0x40], 0x34390839
mov word [ebx + edi*2 - 4], ax
mov ecx, ebx
xor eax, eax
mov word [ebx + edi*2 - 2], ax
mov dword [esp - 0x2c], 0xbb67101
mov edi, dword [ebp + 8]
lea edx, [ecx + 2]
mov dword [edi], eax
xchg edi, edi
nop
mov ax, word [ecx]
add ecx, 2
mov dword [esp - 0x38], edi
test ax, ax
jne 0x485493
sub ecx, edx
mov edx, edi
mov dword [esp - 0x2c], ecx
sar ecx, 1
mov dword [edi + 4], ecx
cmp ecx, 2
jbe 0x485542
mov dword [esp - 0x44], 0x3fba9651
mov eax, ecx
mov ecx, 0x118780d0
xor ecx, 0x20153d1
xchg edx, edx
add ecx, 0x3fa81721
xor ecx, 0x55cc693f
xor ecx, 0x4f01ff87
sub ecx, 0x3debc9a4
mov dword [esp - 0x38], 0x73b09588
sub ecx, 0xbf7b2f4
mul ecx
pushf
mov ecx, 0x3d4e4498
mov dword [esp - 0x10], esp
xor ecx, 0x74972b77
xor ecx, 0x145e9925
xor ecx, 0x4d978dbe
xchg ebx, ebx
add ecx, 0x11504887
xor ecx, 0x51bac205
xor ecx, 0x8f25fe01
mov ebx, ebx
popf
cmovb eax, ecx
push eax
mov dword [esp - 0x18], ecx
call fcn.00490c90
mov edx, eax
add esp, 4
xchg esp, esp
mov dword [edi], edx
xor esi, esi
cmp dword [edi + 4], esi
jbe 0x4855a3
xchg ecx, ecx
sub ebx, edx
mov ecx, esi
lea edx, [edx + 2]
mov esi, esi
and ecx, 3
mov eax, 0x4d41d1e9
sub eax, 0x8cd840f
mov esp, esp
xor eax, 0x376c37d3
sub eax, 0x1f89140c
add eax, 0x13f71ef
mov dword [esp - 0x2c], 0x2dfaab37
sub eax, 0x439548b2
add eax, 0x6a70b5b7
shl ecx, 3
inc esi
xchg edx, edx
sar eax, cl
cbw
xor ax, word [edx + ebx - 2]
mov word [edx - 2], ax
mov dword [esp - 0x38], ecx
cmp esi, dword [edi + 4]
jb 0x48554d
mov ebx, dword [ebp - 4]
push ebx
xchg esp, esp
call fcn.00490c60
add esp, 4
mov eax, edi
mov esi, esi
pop edi
pop esi
pop ebx
xchg esp, esp
mov esp, ebp
pop ebp
ret