Function at 0x445ce0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [0x4936b0]
add eax, 0x205806fb
mov dword [0x4936b0], eax
mov eax, dword [0x4933ec]
mov ecx, eax
inc ecx
mov dword [0x4933ec], ecx
add eax, 0xc84b3d90
mov ecx, dword [0x494190]
imul ecx, eax
mov dword [0x494190], ecx
mov eax, dword [0x4950b0]
or eax, 0xfe833c90
mov dword [0x4950b0], eax
mov eax, dword [esp + 0xc]
mov ecx, esp
mov dword [ecx], eax
call fcn.00452520
mov dword [esp + 4], eax
mov dx, word [0x48f940]
movsx eax, dx
add eax, 0x85acca4e
mov ecx, dword [0x492b08]
shl ecx, 8
imul ecx, ecx, 0xd60c8293
cmp eax, ecx
jne 0x445d82
mov eax, dword [0x493f20]
mov ecx, eax
dec ecx
mov dword [0x493f20], ecx
mov ecx, dword [0x49211c]
and eax, ecx
and eax, 0x3cff6ae4
mov dword [0x49211c], eax
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov cx, word [0x4908cc]
mov ax, cx
or eax, 0x4780
mov cx, ax
mov word [0x4908cc], cx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
movsx eax, byte [edx + eax]
cmp eax, 0x22
jne 0x445eee
mov eax, 0x738a300b
mov cx, word [0x490da6]
mov dx, cx
or edx, 0xa880
mov cx, dx
mov word [0x490da6], cx
mov edx, dword [esp + 0xc]
mov byte [edx], 0x22
mov cx, word [0x48f6f0]
movsx edx, cx
cmp eax, edx
jg 0x445e00
mov eax, dword [0x494064]
add eax, 0xfdfe28f7
mov dword [0x494064], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
mov eax, dword [0x495358]
imul eax, eax, 0xe55bdfdc
mov dword [0x495358], eax
mov eax, dword [0x493774]
add eax, 0x5b379cd7
mov ecx, dword [0x495550]
sub ecx, eax
mov dword [0x495550], ecx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov dx, word [0x490710]
mov ax, dx
mov ecx, eax
dec ecx
mov dx, cx
mov word [0x490710], dx
add eax, 0x66a6f811
xor eax, 0x4297
mov dx, word [0x48ff6a]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x48ff6a], dx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x445e1c
mov eax, dword [0x492c20]
sar eax, 3
and eax, 0x45ab3221
cmp eax, 0x83f648ea
jge 0x445eb5
mov eax, dword [0x493a0c]
or eax, 0x546eda7c
mov dword [0x493a0c], eax
jmp 0x445ec4
mov eax, dword [0x4942a0]
xor eax, 0x1ef1e5c5
mov dword [0x4942a0], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x491b28]
not eax
mov ecx, dword [0x4922a0]
sub ecx, eax
mov dword [0x4922a0], ecx
jmp 0x445fba
mov eax, dword [0x4931d8]
add eax, 0x6014d4a3
mov ecx, dword [0x495328]
or ecx, eax
mov dword [0x495328], ecx
mov eax, dword [esp + 0xc]
mov byte [eax], 0x20
mov eax, dword [0x494db0]
add eax, 0xfddfafe0
mov dword [0x494db0], eax
mov eax, 0x39b72fa9
mov word [0x491614], 0x389
mov ecx, dword [esp + 4]
dec ecx
mov dword [esp + 4], ecx
mov ecx, dword [0x492e3c]
inc ecx
mov dword [0x492e3c], ecx
xor ecx, 0x1c72be6e
cmp eax, ecx
jg 0x445f72
mov eax, dword [0x492774]
mov cx, word [0x48f6d0]
mov dx, cx
inc edx
mov cx, dx
mov word [0x48f6d0], cx
movsx edx, cx
xor eax, edx
mov dword [0x494708], eax
jmp 0x445f77
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x445f1c
mov eax, dword [0x492790]
mov ecx, dword [0x49308c]
imul ecx, eax
mov dword [0x49308c], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov dword [0x492ebc], 0xd30819d2
mov eax, dword [0x494278]
sar eax, 5
mov ecx, dword [0x494ab0]
and eax, ecx
and eax, 0x8ef2fa7f
mov dword [0x494ab0], eax
mov eax, dword [esp + 8]
add esp, 0x10
ret