Function at 0x44b570
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov esi, esi
sub esp, 0x20
push esi
push edi
mov edi, ecx
mov dword [esp - 0x34], 0x6270fdf8
mov esi, dword [edi + 0xc0]
mov eax, esi
mov edx, dword [edi + 0xbc]
cmp esi, edx
mov ebx, ebx
cmovbe eax, edx
cmovae esi, edx
push eax
push esi
mov dword [esp - 0x18], 0x6aa482c5
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
mov dword [esp - 0x2c], 0x48acb4b4
push eax
call fcn.0044c080
mov ecx, eax
xchg edi, edi
call fcn.00485b60
cmp dword [ebp - 0x14], 2
jbe 0x44b5d7
push dword [ebp - 0x18]
xchg ebx, ebx
call fcn.00490c60
add esp, 4
mov ecx, edi
call fcn.00441fe0
xchg esi, esi
mov ecx, eax
call fcn.0043e350
push eax
mov eax, dword [0x4c0df8]
mov dword [esp - 0x20], ebp
xor eax, dword [0x4c0968]
call eax
test eax, eax
mov edx, edx
je 0x44b87a
mov eax, dword [0x4c0e08]
xor eax, dword [0x4c0968]
mov dword [esp - 0x30], 0x7ea16e57
call eax
mov eax, dword [ebp - 0x1c]
lea eax, [eax*2 + 2]
xchg esp, esp
push eax
mov eax, dword [0x4c0bd0]
xor eax, dword [0x4c0968]
mov dword [esp - 0x38], 0x20e16189
nop
sub esp, 4
mov dword [esp], 0x510d7fc8
sub dword [esp], 0x48f556c4
mov dword [esp - 0xc], esi
add dword [esp], 0x19615ca8
add dword [esp], 0x471ce25c
sub dword [esp], 0x57d3f215
add dword [esp], 0x55bb071d
mov dword [esp - 0x28], 0x3568a308
sub dword [esp], 0x667d7d0e
call eax
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [esp - 0x30], 0x6182cb75
je 0x44b86b
mov ecx, dword [0x4c0bd8]
xor ecx, dword [0x4c0968]
mov edx, edx
push ebx
push eax
call ecx
xchg ecx, ecx
mov dword [ebp - 0x10], eax
mov edi, 0x423f31d6
sub edi, 0x150adec8
xchg edi, edi
sub edi, 0xc29a404
xor edi, 0x5bad2599
sub edi, 0xd740d6c
mov dword [esp - 0x30], 0x34080501
sub edi, 0x6d337d25
mov eax, dword [ebp - 0x1c]
mov esi, 0x2df018ce
mov esi, esi
xor esi, 0x6ec54519
sub esi, 0xb5c5bd
sub esi, 0x303a6201
mov dword [esp - 0x24], 0x7ed34809
xor esi, 0xedbac9e6
lea eax, [eax + 1]
mul edi
mov dword [esp - 0x18], esi
cmovb eax, esi
push eax
call fcn.00490c90
mov dword [esp - 0x10], 0x31eb3854
mov dword [ebp - 0xc], eax
lea ebx, [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov ecx, ecx
cmp eax, edi
mov dword [ebp - 4], eax
cmova ebx, dword [ebp - 0x20]
inc eax
mov dword [esp - 0x30], esi
mul edi
cmovb eax, esi
push eax
call fcn.00490c90
mov dword [esp - 0x24], edx
mov esi, eax
add esp, 8
mov eax, dword [ebp - 4]
xchg esp, esp
xor edi, edi
mov dword [ebp - 8], esi
test eax, eax
mov dword [esp - 0x28], 0x21368a11
je 0x44b7b5
mov edx, esi
sub ebx, esi
mov dword [esp - 0x24], esi
mov esi, eax
mov ecx, edi
lea edx, [edx + 2]
mov dword [esp - 0x20], 0xb1fe7a0
and ecx, 3
mov eax, 0x41219a6
xor eax, 0x72aad259
sub eax, 0x2e5ab24f
mov dword [esp - 0x28], 0x567fad30
add eax, 0x322918b8
add eax, 0x1231289
shl ecx, 3
inc edi
xchg edi, edi
sar eax, cl
cbw
xor ax, word [edx + ebx - 2]
mov word [edx - 2], ax
xchg esi, esi
cmp edi, esi
jb 0x44b763
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 4]
xchg edi, edi
mov ebx, dword [ebp - 0xc]
xor ecx, ecx
mov word [esi + eax*2], cx
mov eax, dword [ebp - 0x1c]
mov dword [esp - 0x44], edx
push esi
inc eax
push eax
push ebx
mov dword [esp - 0x18], 0x62547f2d
call fcn.00491620
push esi
call fcn.00490c60
mov eax, dword [ebp - 0x1c]
mov dword [esp - 0x24], 0x6906de09
push ebx
inc eax
push eax
push dword [ebp - 0x10]
mov dword [esp - 0x10], 0x581941ce
call fcn.00491620
push ebx
call fcn.00490c60
mov eax, dword [0x4c0be0]
xchg esp, esp
add esp, 0x20
mov esi, dword [ebp - 0x14]
xor eax, dword [0x4c0968]
push esi
mov dword [esp - 0x34], 0x35a27759
call eax
mov eax, dword [0x4c0df0]
xor eax, dword [0x4c0968]
push esi
mov ecx, ecx
nop
mov dword [esp - 4], 0x530acd89
sub dword [esp - 4], 0x120f1577
mov dword [esp - 0x1c], ebp
add dword [esp - 4], 0x1981706f
add dword [esp - 4], 0x202d0df1
sub dword [esp - 4], 0x4372e9a4
xchg ebp, ebp
sub dword [esp - 4], 0x37374cc1
sub esp, 4
call eax
pop ebx
xchg edi, edi
mov eax, dword [0x4c0e00]
xor eax, dword [0x4c0968]
call eax
mov esp, esp
cmp dword [ebp - 0x1c], 2
pop edi
pop esi
jbe 0x44b88f
xchg ebx, ebx
push dword [ebp - 0x20]
call fcn.00490c60
add esp, 4
mov esp, ebp
mov dword [esp - 0x28], esp
pop ebp
ret