Function at 0x44a25f
Capabilities:
Encode data using xor

Disassembly:
push 0xc
mov eax, 0x55ec83
call fcn.0052b327
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x18], esi
test byte [0x5c9a0c], 1
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], eax
jne 0x44a2ff
movzx eax, word [0x5c9a30]
movzx ecx, word [0x5c9a32]
imul eax, eax, 0x9069
mov edx, dword [0x5c9a38]
add eax, ecx
movzx ecx, word [0x5c9a5c]
or dword [0x5c9a0c], 1
imul ecx, ecx, 0x4650
mov dword [0x5c9a30], eax
movzx eax, word [0x5c9a5e]
add ecx, eax
mov eax, dword [0x5c9a58]
imul eax, eax, 0x10dcd
mov edi, edx
shl edi, 0xc
xor edi, edx
mov ebx, edx
add eax, 0x12d687
shl edi, 5
shr ebx, 0xd
xor edi, ebx
mov dword [0x5c9a58], eax
xor edx, edi
xor al, cl
add al, dl
mov dword [0x5c9a5c], ecx
mov dword [0x5c9a38], edx
mov byte [0x5c9a08], al
jmp 0x44a304
mov al, byte [0x5c9a08]
test byte [0x5c9a0c], 2
jne 0x44a4cc
or dword [0x5c9a0c], 2
mov cl, al
xor cl, 0x37
mov byte [0x5c99e8], cl
mov cl, al
dec cl
xor cl, 0x45
mov byte [0x5c99e9], cl
mov cl, al
sub cl, 2
xor cl, 0x45
mov byte [0x5c99ea], cl
mov cl, al
sub cl, 3
xor cl, 0x34
mov byte [0x5c99eb], cl
mov cl, al
sub cl, 4
xor cl, 0x36
mov byte [0x5c99ec], cl
mov cl, al
sub cl, 5
xor cl, 0x33
mov byte [0x5c99ed], cl
mov cl, al
sub cl, 6
xor cl, 0x32
mov byte [0x5c99ee], cl
mov cl, al
sub cl, 7
xor cl, 0x43
mov byte [0x5c99ef], cl
mov cl, al
sub cl, 8
xor cl, 0x32
mov byte [0x5c99f0], cl
mov cl, al
sub cl, 9
xor cl, 0x44
mov byte [0x5c99f1], cl
mov cl, al
sub cl, 0xa
mov dl, 0x39
xor cl, dl
mov byte [0x5c99f2], cl
mov cl, al
sub cl, 0xb
xor cl, 0x41
mov byte [0x5c99f3], cl
mov cl, al
sub cl, 0xc
xor cl, 0x34
mov byte [0x5c99f4], cl
mov cl, al
sub cl, 0xd
xor cl, 0x34
mov byte [0x5c99f5], cl
mov cl, al
sub cl, 0xe
xor cl, dl
mov byte [0x5c99f6], cl
mov cl, al
sub cl, 0xf
xor cl, 0x37
mov bl, al
sub bl, 0x10
mov byte [0x5c99f7], cl
mov cl, 0x38
xor bl, cl
mov byte [0x5c99f8], bl
mov bl, al
sub bl, 0x11
xor bl, 0x31
mov byte [0x5c99f9], bl
mov bl, al
sub bl, 0x12
xor bl, 0x31
mov byte [0x5c99fa], bl
mov bl, al
sub bl, 0x13
xor bl, 0x41
mov byte [0x5c99fb], bl
mov bl, al
sub bl, 0x14
xor bl, 0x31
mov byte [0x5c99fc], bl
mov bl, al
sub bl, 0x15
xor bl, cl
mov byte [0x5c99fd], bl
mov bl, al
sub bl, 0x16
xor bl, 0x43
mov byte [0x5c99fe], bl
mov bl, al
sub bl, 0x17
xor bl, 0x44
mov byte [0x5c99ff], bl
mov bl, al
sub bl, 0x18
xor bl, 0x37
mov byte [0x5c9a00], bl
mov bl, al
sub bl, 0x19
xor bl, dl
mov byte [0x5c9a01], bl
mov bl, al
sub bl, 0x1a
xor bl, 0x33
mov byte [0x5c9a02], bl
mov bl, al
sub bl, 0x1b
xor bl, 0x43
mov byte [0x5c9a03], bl
mov bl, al
sub bl, 0x1c
xor bl, 0x43
mov byte [0x5c9a04], bl
mov bl, al
sub bl, 0x1d
xor bl, cl
mov byte [0x5c9a05], bl
mov bl, al
sub bl, 0x1e
xor bl, cl
sub al, 0x1f
xor al, dl
mov byte [0x5c9a06], bl
mov byte [0x5c9a07], al
mov ecx, dword [ebp - 0x14]
push esi
push 0x20
call fcn.004074f0
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x10]
mov bl, byte [0x5c9a08]
mov ecx, dword [ebp - 0x14]
sub bl, al
xor bl, byte [eax + 0x5c99e8]
push eax
call fcn.00407518
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x20
mov byte [eax], bl
jb 0x44a4e4
mov eax, dword [ebp - 0x14]
call fcn.0052b3ff
ret