Function at 0x445000
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x485608]
mov eax, dword [0x483780]
lea ecx, [eax - 1]
mov dword [0x483780], ecx
xor eax, 0x82040024
cmp eax, 0xa603a780
jg 0x44502f
mov eax, dword [0x4853b8]
imul eax, eax, 0x41180128
mov dword [0x4853b8], eax
mov eax, dword [0x486374]
test eax, eax
jne 0x445472
push ebp
push ebx
push edi
push esi
sub esp, 0x294
xor dword [0x482ee0], 0xd643b00a
mov eax, dword [0x482e8c]
imul eax, eax, 0xbfeb3eb3
mov dword [0x482e8c], eax
mov dword [0x4848e4], 0x9bcb3976
mov eax, dword [0x481aec]
add eax, 0xa35a
mov cx, word [0x4812e2]
or ecx, eax
mov word [0x4812e2], cx
mov eax, dword [0x485878]
imul eax, eax, 0x1267ee26
mov dword [0x485878], eax
add dword [0x484508], 0xaf5c7bc2
lea ebx, [esp + 0xa]
mov dword [esp], ebx
mov dword [esp + 4], 0x485c78
call fcn.00452cb0
add dword [0x481ee0], 0x6a02c778
mov eax, dword [0x484590]
or eax, 0x20020141
and dword [0x484780], eax
mov dword [esp], ebx
call fcn.0044fbf0
mov ebp, eax
and dword [0x484884], 0x244b86e2
mov dword [esp], 0x41a
call dword [0x47f4a0]
sub esp, 4
mov eax, dword [0x484e54]
xor eax, 0xc2f6edb8
cmp eax, 0x142ab97f
jg 0x445111
mov eax, dword [0x4850e8]
imul eax, eax, 0xe9f0e44b
mov dword [0x4850e8], eax
mov byte [esp + ebp + 0xa], 0
mov eax, dword [0x484960]
sar eax, 5
add eax, 0xde9c6edb
and eax, 0x94e72504
cmp eax, 0xda0f59e8
jl 0x44514b
mov eax, dword [0x485044]
cmp eax, 0xe2d3e4eb
je 0x44514b
dec dword [0x484f20]
mov eax, dword [0x4853d0]
mov eax, dword [0x482d10]
mov eax, dword [0x486390]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00452cc0
mov eax, dword [0x482a90]
shl eax, 4
mov ecx, dword [0x482e14]
sub eax, ecx
mov word [0x47fb40], ax
mov dword [esp + 4], 2
mov dword [esp], 0x3187
call fcn.00432040
mov edi, eax
mov ax, word [0x480e44]
cwde
mov dword [0x48303c], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00452cc0
mov eax, dword [0x481f60]
lea ecx, [eax - 1]
mov dword [0x481f60], ecx
mov ecx, 0x3bd43e43
sub ecx, eax
add dword [0x484fa0], ecx
mov eax, dword [0x485190]
sar eax, 1
mov ecx, 0x5aec9b20
sub ecx, eax
or dword [0x483704], ecx
mov eax, dword [0x48233c]
mov eax, dword [0x485240]
dec dword [0x48464c]
mov eax, dword [0x4821dc]
lea ecx, [eax - 1]
mov dword [0x4821dc], ecx
cmp eax, 0x86420c
jg 0x445217
mov ax, word [0x480116]
lea ecx, [eax - 1]
mov word [0x480116], cx
cwde
mov ecx, dword [0x483928]
lea eax, [eax + ecx + 0x168b802c]
mov dword [0x483928], eax
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov eax, dword [0x4855e0]
not eax
mov ecx, dword [0x483d3c]
and ecx, eax
and ecx, 0x2e746748
mov dword [0x483d3c], ecx
mov dword [esp], edi
call fcn.0044fae0
or dword [0x482c3c], 0x14b97935
mov eax, dword [0x4827fc]
lea ecx, [eax + 1]
mov dword [0x4827fc], ecx
cmp eax, 0x4231c780
jg 0x4452a0
mov eax, dword [0x482b80]
sar eax, 9
mov ecx, dword [0x482490]
not ecx
add ecx, eax
cmp ecx, 0x338ab78b
jg 0x4452a0
mov eax, dword [0x483bb8]
mov ecx, dword [0x482d60]
shl ecx, 7
or ecx, eax
add dword [0x484b08], ecx
lea eax, [esp + 0x154]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x47f400]
sub esp, 8
mov edi, eax
mov eax, dword [0x4838f8]
cmp eax, 0x1811f4dc
jne 0x4452e5
mov eax, dword [0x483d18]
sar eax, 4
mov cx, word [0x4804e2]
movsx ecx, cx
cmp eax, ecx
jne 0x4452e5
xor dword [0x485424], 0xc6e46026
cmp edi, 0xffffffff
je 0x4453d4
mov esi, ebx
mov ax, word [0x480fb8]
cwde
xor eax, 0x7c4107ba
cmp eax, 0x226650ba
jl 0x44531c
mov eax, dword [0x4827e0]
mov ecx, 0x5a489ec2
sub ecx, eax
mov eax, dword [0x483d44]
imul eax, ecx
mov dword [0x483d44], eax
lea ebx, [esp + 0x154]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ax, word [0x4807da]
add eax, 0x653b
mov word [0x4807da], ax
mov byte [esp + ebp + 0xa], 0
xor dword [0x4832a0], 0x9db71687
lea eax, [esp + 0x180]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00452cc0
add dword [0x4844a8], 0xf79c5fc2
mov dword [esp], esi
call dword [0x47f3f0]
sub esp, 4
mov eax, dword [0x484e90]
imul eax, eax, 0x904c1de3
mov dword [0x484e90], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [0x47f3fc]
sub esp, 8
test eax, eax
jne 0x445330
mov eax, dword [0x4836f4]
inc eax
mov dword [0x4836f4], eax
mov ecx, dword [0x484eac]
imul ecx, eax
mov dword [0x484eac], ecx
mov dword [esp], edi
call dword [0x47f3f8]
sub esp, 4
mov ax, word [0x480bb6]
and eax, 0xfd9d
mov word [0x480bb6], ax
mov ax, word [0x480c72]
dec eax
mov word [0x480c72], ax
cwde
xor eax, 0x95e1de7e
or dword [0x485620], eax
mov eax, dword [0x48233c]
mov eax, dword [0x485240]
dec dword [0x48464c]
mov ecx, dword [0x4821dc]
lea eax, [ecx - 1]
mov dword [0x4821dc], eax
xor eax, eax
cmp ecx, 0x86420c
jg 0x445440
mov cx, word [0x480116]
lea edx, [ecx - 1]
mov word [0x480116], dx
movsx ecx, cx
mov edx, dword [0x483928]
lea ecx, [ecx + edx + 0x168b802c]
mov dword [0x483928], ecx
nop
nop
nop
nop
mov byte [esp + eax + 0xa], 0
inc eax
cmp eax, 0x14a
jne 0x445440
mov eax, dword [0x4821c8]
lea ecx, [eax + 1]
mov dword [0x4821c8], ecx
mov ecx, 0xcdb42d7e
sub ecx, eax
add dword [0x4837bc], ecx
add esp, 0x294
pop esi
pop edi
pop ebx
pop ebp
ret