Function at 0x448d10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [esp - 0x18], esi
push ebx
mov ebx, ecx
mov dword [ebp - 0x14], 0x68e5f2ec
mov dword [esp - 0xc], 0x5cfc59dc
add dword [ebp - 0x14], 0x1014d11f
xor dword [ebp - 0x14], 0x7052494e
add dword [ebp - 0x14], 0x61963d0
mov dword [esp - 0x30], 0x61c42855
xor dword [ebp - 0x14], 0x1d9ee968
add dword [ebp - 0x14], 0x227a3389
sub dword [ebp - 0x14], 0x35d94c06
push esi
mov dword [esp - 0x44], 0x545c7d5e
mov dword [ebp - 0x18], ebx
call fcn.0043f570
mov ecx, eax
call fcn.0043b960
mov esi, esi
mov ecx, dword [0x4ba904]
push eax
call fcn.00438fd0
mov ecx, eax
mov dword [esp - 0xc], esi
call fcn.00459de0
cmp dword [ebx + 0xbc], 4
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [esp - 0x2c], esi
je 0x4490b4
mov ecx, dword [esi + 0xc4]
test ecx, ecx
je 0x4490b4
mov dword [esp - 0x2c], esp
cmp byte [ecx + 0x40], 0
je 0x4490b4
lea eax, [ebp - 0x28]
mov esi, esi
mov ecx, ebx
push eax
call fcn.00449420
push dword [ebx + 0xb4]
mov dword [esp - 0x3c], 0x48fbca4a
mov esi, dword [esi + 0xc4]
lea eax, [ebp - 0xc]
nop
mov dword [esp - 0x20], esi
sub esp, 4
mov dword [esp], 0x2297827b
xor dword [esp], 0x5749da9
sub dword [esp], 0x85423b1
mov ebx, ebx
add dword [esp], 0xe452b51
add dword [esp], 0x5f61a97
sub dword [esp], 0xb2a1ad4
mov dword [esp - 0x10], ebx
xor dword [esp], 0x28a02735
push eax
lea ecx, [ebp - 0x28]
call fcn.00481a10
xchg esp, esp
push eax
mov ecx, esi
call fcn.0043ba40
add eax, 4
mov dword [esp - 0x24], edx
cmp dword [ebp - 8], 2
mov dword [ebp - 0x10], eax
jbe 0x448e54
xchg ebx, ebx
push dword [ebp - 0xc]
call fcn.0048b6f0
add esp, 4
mov eax, dword [ebp - 0x24]
xchg edx, edx
push edi
mov dword [ebp - 8], eax
cmp dword [ebx + 0xb4], eax
mov dword [esp - 0x3c], ecx
je 0x448fa9
cmp eax, 2
lea ecx, [ebp - 0x28]
pushf
mov dword [esp - 0x14], 0x6bb9501a
mov edx, 0x4ac51ffa
xor edx, 0x120d1fc0
sub edx, 0x1677aee8
mov ebx, ebx
xor edx, 0x492eeea7
sub edx, 0xb7ebff3
popf
cmova ecx, dword [ebp - 0x28]
mov edi, edi
inc eax
mov dword [ebp - 4], ecx
xor ecx, ecx
mov dword [esp - 0x38], 0x7380110a
mul edx
seto cl
neg ecx
mov dword [esp - 0x10], 0x131821de
or ecx, eax
push ecx
call fcn.0048b720
mov esi, esi
mov esi, eax
add esp, 4
mov eax, dword [ebp - 8]
xor edi, edi
mov dword [esp - 0x38], 0x35aabdf6
mov dword [ebp - 0x14], esi
test eax, eax
je 0x448f52
sub dword [ebp - 4], esi
mov dword [esp - 0x24], ebx
mov edx, esi
mov esi, dword [ebp - 4]
mov ebx, eax
xchg edi, edi
mov ecx, edi
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x75d9d28a
mov dword [esp - 0x30], 0x5530bb4a
xor eax, 0x2e5883c9
xor eax, 0x606fd687
sub eax, 0x1d567ff1
sub eax, 0xbe38334
mov dword [esp - 0x44], 0x66a8a9a4
xor eax, 0x61caa0df
shl ecx, 3
inc edi
sar eax, cl
mov dword [esp - 0x10], ecx
cbw
xor ax, word [esi + edx - 2]
mov word [edx - 2], ax
mov dword [esp - 0x24], edi
cmp edi, ebx
jb 0x448ef4
mov esi, dword [ebp - 0x14]
mov edx, edx
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov dword [esp - 0x14], edi
mov word [esi + eax*2], cx
mov eax, dword [ebx + 0xb4]
mov ecx, dword [ebp - 0x1c]
lea eax, [esi + eax*2]
mov edi, edi
mov ecx, dword [ecx + 0xc4]
push eax
call fcn.0043bd00
mov ecx, ecx
mov edi, eax
mov ecx, 0x2255677d
add ecx, 0x3919d2a5
mov ecx, ecx
add ecx, 0x55015c7
sub ecx, 0x8891368
sub ecx, 0x5dee79e
mov edi, edi
sub ecx, 0x242d760f
xor ecx, 0x2e29ded5
jmp 0x448fb1
mov esi, dword [ebp - 0x1c]
xor edi, edi
mov ecx, dword [ebp - 0x14]
test cl, 1
mov dword [esp - 0x40], edi
je 0x448fc5
push esi
call fcn.0048b6f0
add esp, 4
mov edi, edi
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
mov dword [esp - 0x40], 0x44b2d3ce
call fcn.0045b510
mov ecx, ebx
mov esi, dword [eax]
mov dword [esp - 0x28], ecx
lea eax, [ebp - 0x20]
sub esi, dword [ebx + 0xbc]
sub esi, dword [ebp - 0x10]
mov dword [esp - 0x10], ebp
push eax
call fcn.0045b510
mov edx, dword [ebp - 0x10]
cmp edi, esi
xchg ebx, ebx
cmovle esi, edi
mov ecx, dword [eax]
sub ecx, esi
mov edi, edi
mov eax, ecx
sub eax, edx
mov dword [ebx + 0xbc], eax
mov dword [esp - 0x18], esi
pop edi
cmp eax, 4
jle 0x44905a
mov dword [ebx + 0xbc], 0x4e5a3139
mov dword [esp - 0x40], ebp
add dword [ebx + 0xbc], 0x20d56b0d
xor dword [ebx + 0xbc], 0x51852289
sub dword [ebx + 0xbc], 0x196e7e4e
xor dword [ebx + 0xbc], 0x253c4085
mov dword [esp - 0x1c], 0x3b33a28d
jmp 0x4490a1
lea eax, [ecx - 4]
cmp eax, 4
jge 0x4490a1
xchg esi, esi
mov eax, 0x3ebb9ce1
xor eax, 0x3294acbd
add eax, 0x673ed1af
mov edi, edi
sub eax, 0x689577ad
add eax, 0x56078f9c
sub eax, 0x42a520f2
mov dword [esp - 0x38], 0x37cc7c52
sub eax, 0x1e3af900
sub eax, edx
mov dword [ebx + 0xbc], eax
mov dword [esp - 0x10], 0x49e8630e
cmp dword [ebp - 0x24], 2
jbe 0x4490b4
push dword [ebp - 0x28]
call fcn.0048b6f0
xchg ebx, ebx
add esp, 4
pop esi
pop ebx
mov esp, ebp
mov edi, edi
pop ebp
ret