Function at 0x44ae00
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
sub esp, 0x2ec
mov eax, 0x70301db6
mov ecx, dword [0x4941b4]
inc ecx
mov dword [0x4941b4], ecx
cmp eax, ecx
jl 0x44ae5f
mov eax, dword [0x495af0]
inc eax
mov dword [0x495af0], eax
mov cx, word [0x4983ea]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4983ea], cx
xor eax, edx
mov cx, word [0x49b82a]
mov dx, cx
or eax, edx
or eax, 0x6cb0
mov cx, ax
mov word [0x49b82a], cx
mov eax, dword [0x49dd0c]
cmp eax, 0
je 0x44ae72
jmp 0x44b392
mov eax, 0x5490a250
mov ecx, dword [0x492538]
xor ecx, 0xffffffff
cmp eax, ecx
jle 0x44aebf
mov eax, dword [0x496284]
mov ecx, eax
dec ecx
mov dword [0x496284], ecx
or eax, 0x438d89c8
or eax, 0x6aa74000
cmp eax, 0x114f76cd
jne 0x44aeba
mov eax, dword [0x48da48]
or eax, 0xdf4dffff
mov dword [0x48da48], eax
jmp 0x44aeda
mov eax, dword [0x490bbc]
mov ecx, dword [0x493eec]
and eax, ecx
mov ecx, dword [0x490310]
sub ecx, eax
mov dword [0x490310], ecx
mov eax, 0x101106
mov ecx, dword [0x491f50]
add ecx, 0x44b290be
mov dword [0x491f50], ecx
mov dx, word [0x49a038]
mov cx, dx
add ecx, 0x155a693
mov dx, cx
mov word [0x49a038], dx
mov ecx, dword [0x48fe48]
imul ecx, ecx, 0xa68c2ab9
add ecx, 0x5a2327a2
mov esi, dword [0x48d1e0]
or esi, ecx
mov dword [0x48d1e0], esi
mov ecx, dword [0x48bcd4]
dec ecx
mov dword [0x48bcd4], ecx
and ecx, 0x6a70e5c5
mov esi, dword [0x48cc40]
or esi, ecx
mov dword [0x48cc40], esi
mov ecx, esp
lea esi, [esp + 0x36]
mov dword [ecx + 4], esi
mov dword [ecx], 0x104
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
call fcn.0042bfb0
mov eax, dword [0x48ed48]
sar eax, 4
add eax, 0x4d1439e1
mov ecx, dword [0x48fd8c]
and eax, ecx
mov ecx, dword [0x48ce4c]
xor ecx, eax
mov dword [0x48ce4c], ecx
mov eax, esp
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
call fcn.00452ac0
mov dword [esp + 0x1a0], eax
mov eax, dword [0x48bca4]
mov ecx, eax
inc ecx
mov dword [0x48bca4], ecx
mov ecx, dword [0x494008]
shl ecx, 6
or eax, ecx
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jle 0x44afe1
mov ax, word [0x497f18]
movsx ecx, ax
or ecx, 0x7bdd7f7e
mov edx, dword [0x48df8c]
xor edx, ecx
mov dword [0x48df8c], edx
mov eax, 0x52498
mov ecx, dword [0x48aa24]
mov edx, esp
mov dword [edx], 0x43a
mov dword [esp + 0x28], eax
call ecx
sub esp, 4
mov eax, dword [0x495060]
mov si, word [0x497e1c]
mov cx, si
lea eax, [eax + ecx + 0x38b3045c]
mov si, ax
mov word [0x497e1c], si
mov eax, dword [esp + 0x1a0]
mov byte [esp + eax + 0x36], 0
mov si, word [0x4974cc]
movsx eax, si
imul eax, eax, 0xb9d57d55
imul eax, eax, 0x5654a01
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jle 0x44b0d3
mov eax, dword [0x48e8b0]
mov cx, word [0x49c558]
movsx edx, cx
and eax, edx
mov edx, dword [0x496540]
sub edx, 0x64ad8235
cmp eax, edx
jne 0x44b098
mov eax, dword [0x48afac]
xor eax, 0xffffffff
imul eax, eax, 0x3a2857a9
xor eax, 0xda2ef48e
cmp eax, 0x2004b
jge 0x44b093
jmp 0x44b093
jmp 0x44b0ce
mov eax, 0xe3f7dda6
mov ecx, dword [0x49661c]
shl ecx, 6
mov edx, dword [0x492ab0]
shl edx, 2
sub ecx, edx
xor ecx, 0x87c56831
cmp eax, ecx
jge 0x44b0c4
jmp 0x44b0c9
jmp 0x44b0c9
jmp 0x44b0ce
jmp 0x44b0d3
mov eax, dword [0x49dd28]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x36]
mov dword [ecx], eax
call fcn.00455cb0
mov ecx, dword [0x495564]
inc ecx
mov dword [0x495564], ecx
mov edx, dword [0x490a48]
sub ecx, edx
cmp ecx, 0xe2120c3
mov dword [esp + 0x24], eax
jle 0x44b11c
mov eax, dword [0x48f0d4]
xor eax, 0x24c5d6da
mov dword [0x48f0d4], eax
mov eax, 0xffffffff
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x300a
mov dword [esp + 0x20], eax
call fcn.00440380
mov dword [esp + 0x2e8], eax
mov eax, dword [0x4927e4]
imul eax, eax, 0x3c7bf8bb
add eax, 0x671aaaca
mov ecx, dword [0x48f440]
sub ecx, eax
mov dword [0x48f440], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x36]
mov dword [ecx], eax
mov dword [esp + 0x1c], eax
call fcn.00455cb0
mov ecx, dword [0x48fa00]
add ecx, 0xf5567fef
mov dword [0x48fa00], ecx
mov ecx, dword [esp + 0x2e8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 2
mov dword [esp + 0x18], eax
call fcn.00436780
mov eax, dword [0x48ac9c]
imul eax, eax, 0xee7c7d3f
mov dword [0x48ac9c], eax
mov eax, dword [0x48a984]
mov ecx, esp
lea edx, [esp + 0x1a8]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0x1a4], eax
mov eax, dword [0x496b44]
mov ecx, dword [0x496848]
imul ecx, eax
mov dword [0x496848], ecx
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x1a4], eax
je 0x44b33d
mov eax, dword [0x48e260]
xor eax, 0x54636c6c
mov dword [0x48e260], eax
mov ax, word [0x49ae9a]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x49ae9a], ax
mov ax, word [0x49983e]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x49983e], ax
mov ecx, dword [esp + 0x1a0]
mov byte [esp + ecx + 0x36], 0
mov ax, word [0x49be26]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49be26], ax
movsx ecx, ax
mov edx, dword [0x495724]
lea ecx, [ecx + edx + 0x5cf98890]
mov dword [0x495724], ecx
lea ecx, [esp + 0x1d4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x36]
mov dword [edx], ecx
mov dword [esp + 0x14], ecx
call fcn.00455cb0
mov ecx, dword [0x4954b8]
add ecx, 0xdeafb7f9
mov dword [0x4954b8], ecx
mov ecx, dword [0x48a974]
mov edx, esp
mov esi, dword [esp + 0x14]
mov dword [edx], esi
mov dword [esp + 0x10], eax
call ecx
sub esp, 4
mov ecx, dword [0x491208]
not ecx
add ecx, 0xb2d8ed0c
mov di, word [0x49ba7c]
mov dx, di
inc edx
mov di, dx
mov word [0x49ba7c], di
movsx edx, di
xor ecx, edx
mov edx, dword [0x496cd8]
and edx, ecx
mov dword [0x496cd8], edx
mov dword [esp + 0xc], eax
mov eax, dword [0x48a980]
mov ecx, dword [esp + 0x1a4]
mov edx, esp
lea esi, [esp + 0x1a8]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
cmp eax, 0
jne 0x44b20d
mov word [0x49aae4], 0x4068
mov eax, dword [0x48a97c]
mov ecx, dword [esp + 0x1a4]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [0x49823c], 0x912c
mov dword [esp + 8], eax
mov ax, word [0x499846]
mov cx, ax
and ecx, 0x3482
mov ax, cx
mov word [0x499846], ax
mov ecx, esp
lea edx, [esp + 0x36]
mov dword [ecx], edx
mov dword [ecx + 4], 0x16a
call fcn.0044a860
mov ecx, dword [0x49447c]
inc ecx
mov dword [0x49447c], ecx
mov edx, dword [0x48ecec]
and ecx, edx
mov ax, word [0x498388]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x498388], ax
add esp, 0x2ec
pop esi
pop edi
ret