Function at 0x449420
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0xc], 0x27fdf5c6
sub esp, 0x10
push ebx
push esi
push edi
mov dword [esp - 0x14], ebp
mov edi, ecx
mov ecx, dword [edi + 0xa0]
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], ecx
mov dword [esp - 0x18], 0xa3deb63
lea eax, [edi + 0x9c]
mov dword [ebp - 4], eax
cmp ecx, 2
jbe 0x449460
xchg ebx, ebx
mov eax, dword [eax]
mov dword [ebp - 4], eax
lea eax, [ecx + 1]
mov edx, 0x1c6e2e3c
mov ebp, ebp
xor edx, 0x7c8ae3a7
sub edx, 0x43b6ec66
xor edx, 0x4ebb719f
mov dword [esp - 0x24], 0x51748103
sub edx, 0x539690a8
xor ecx, ecx
mul edx
mov dword [esp - 0x18], 0x5c9584cd
seto cl
neg ecx
or ecx, eax
push ecx
mov dword [esp - 0x2c], 0x5e009541
call fcn.0048b720
mov esi, eax
add esp, 4
mov dword [esp - 0x38], 0x4b08999e
mov eax, dword [ebp - 8]
xor ebx, ebx
mov dword [ebp - 0xc], esi
mov dword [esp - 0x3c], ebx
test eax, eax
je 0x449539
sub dword [ebp - 4], esi
xchg ebx, ebx
mov edx, esi
mov edi, dword [ebp - 4]
mov esi, eax
mov dword [esp - 0x38], ecx
mov edi, edi
mov ecx, ebx
lea edx, [edx + 2]
xchg ebx, ebx
and ecx, 3
mov eax, 0x44faecd1
sub eax, 0x3fc7416a
add eax, 0x4acd3967
mov edi, edi
sub eax, 0x449d4339
xor eax, 0x29481530
xor eax, 0x25795254
mov dword [esp - 0xc], 0x65011699
xor eax, 0x742cc2b1
shl ecx, 3
inc ebx
mov dword [esp - 0x38], ecx
sar eax, cl
cbw
xor ax, word [edi + edx - 2]
mov dword [esp - 0x10], ebp
mov word [edx - 2], ax
cmp ebx, esi
jb 0x4494da
mov esi, dword [ebp - 0xc]
mov edi, edi
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov dword [esp - 0x34], 0x31b6d0e
mov word [esi + eax*2], cx
cmp word [edi + 0xb0], cx
je 0x449578
cmp dword [edi + 0xa0], ecx
mov dword [esp - 0x28], ebx
jbe 0x449578
mov ax, word [edi + 0xb0]
mov word [esi + ecx*2], ax
inc ecx
mov dword [esp - 0x2c], 0x7cbaf05a
cmp ecx, dword [edi + 0xa0]
jb 0x44955c
mov ebx, dword [ebp + 8]
mov edx, esi
mov dword [esp - 0x20], 0x13d41b5
mov dword [ebx], 0x3c4c233f
sub dword [ebx], 0xc02a880
add dword [ebx], 0x1150d987
mov edi, edi
sub dword [ebx], 0x41010b4a
add dword [ebx], 0x3bef84ee
xor dword [ebx], 0x77bf8502
sub dword [ebx], 0x4b3748e8
xchg ebp, ebp
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
xchg ebp, ebp
test ax, ax
jne 0x4495b6
sub edx, ecx
mov edi, ebx
xchg ecx, ecx
sar edx, 1
mov dword [ebx + 4], edx
cmp edx, 2
jbe 0x449624
mov dword [esp - 0x30], edi
xor ecx, ecx
mov eax, edx
mov edx, 0x4c94b6c3
mov dword [esp - 0x28], 0x2db3b950
add edx, 0x1d87da98
xor edx, 0x16d101bc
xor edx, 0x3b0e45d6
add edx, 0x2e8ed5f2
mov edi, edi
xor edx, 0x7652ab21
mul edx
seto cl
neg ecx
mov dword [esp - 0x24], ebx
or ecx, eax
push ecx
call fcn.0048b720
mov ebp, ebp
mov edi, eax
add esp, 4
mov dword [ebx], edi
xor edx, edx
mov esi, esi
cmp dword [ebx + 4], edx
jbe 0x449693
mov eax, esi
xchg edi, edi
sub eax, edi
mov dword [ebp + 8], eax
mov esi, eax
lea esp, [esp]
mov edi, edi
mov ecx, edx
lea edi, [edi + 2]
and ecx, 3
mov eax, 0x1afca231
mov dword [esp - 0xc], 0x537984fe
add eax, 0x27602213
add eax, 0x38c3717b
add eax, 0x2729848
mov ecx, ecx
sub eax, 0x7aaabdfa
xor eax, 0x7196344d
shl ecx, 3
inc edx
mov edi, edi
sar eax, cl
cbw
xor ax, word [esi + edi - 2]
mov word [edi - 2], ax
mov dword [esp - 0x30], 0x1f8f5301
cmp edx, dword [ebx + 4]
jb 0x44963e
mov esi, dword [ebp - 0xc]
xchg edx, edx
push esi
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x38], 0x234cb7e4
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword [esp - 0x40], 0x42143e8e
mov esp, ebp
pop ebp
ret 4