Function at 0x42ec50
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
mov ecx, 0x7e62d378
mov dword [esp + 0x10], eax
mov eax, dword [0x49e1cc]
sar eax, 6
cmp ecx, eax
je 0x42ec7f
mov eax, dword [0x49dbbc]
add eax, 0x2678ed3f
mov dword [0x49dbbc], eax
mov eax, 0xb7c0f0d8
mov ecx, dword [0x49e8bc]
and ecx, 0x519bae46
mov edx, dword [0x49f678]
add edx, ecx
mov dword [0x49f678], edx
mov ecx, dword [0x49dee0]
imul ecx, ecx, 0x993d23c6
or ecx, 0x83fdfb61
mov dword [0x49daa4], ecx
mov ecx, dword [esp + 0x10]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 4], eax
call fcn.00452000
mov dword [esp + 8], eax
mov eax, dword [0x49d9dc]
add eax, 0x3762f4df
mov dword [0x49d9dc], eax
mov eax, dword [esp + 8]
dec eax
mov dword [esp + 8], eax
mov eax, dword [0x49ed64]
mov ecx, eax
dec ecx
mov dword [0x49ed64], ecx
mov ecx, dword [esp + 4]
cmp ecx, eax
jge 0x42ed12
mov eax, dword [0x49de44]
imul eax, eax, 0x9f920381
mov dword [0x49de44], eax
jmp 0x42ed21
mov eax, dword [0x49e398]
add eax, 0xbfeeefe3
mov dword [0x49e398], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x42eef4
mov eax, 0x197fade1
mov ecx, dword [0x49deb8]
mov edx, ecx
inc edx
mov dword [0x49deb8], edx
sub ecx, 0x6aef4f94
cmp eax, ecx
jl 0x42ed6d
mov ax, word [0x4a0562]
movsx ecx, ax
xor ecx, 0x5af7c34e
mov dword [0x49e598], ecx
mov eax, 0x1de45036
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0x22
mov ecx, dword [0x49eea0]
or ecx, 0xa2bb94ba
cmp eax, ecx
jl 0x42eddc
mov eax, 0x80a9b041
mov cx, word [0x4a084a]
movsx edx, cx
shl edx, 1
cmp eax, edx
jl 0x42edd7
mov eax, 0x7aa834c4
mov ecx, dword [0x49f630]
inc ecx
mov dword [0x49f630], ecx
sub ecx, 0x12733b1d
or ecx, 0xea104ae6
cmp eax, ecx
jl 0x42edd2
jmp 0x42edd2
jmp 0x42edd7
jmp 0x42eddc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov eax, dword [0x49f4a4]
and eax, 0x2e5b92f4
mov dword [0x49f4a4], eax
mov ax, word [0x49ffa6]
movsx ecx, ax
mov edx, 0x90351dfd
sub edx, ecx
mov ecx, dword [0x49e95c]
sub ecx, edx
mov dword [0x49e95c], ecx
mov ecx, dword [esp + 8]
dec ecx
mov dword [esp + 8], ecx
mov ecx, dword [0x49e194]
add ecx, 0xcd5989ca
cmp ecx, 0x8557ed27
jg 0x42ee89
mov eax, 0xd7f7e3eb
mov ecx, dword [0x49f6ac]
sub ecx, 0xee3c12ed
cmp eax, ecx
jge 0x42ee6c
mov eax, dword [0x49f6a4]
xor eax, 0xc4857ae2
mov ecx, dword [0x49dc00]
sub ecx, eax
mov dword [0x49dc00], ecx
jmp 0x42ee84
mov ax, word [0x4a0832]
mov cx, ax
or ecx, 0x226a
mov ax, cx
mov word [0x4a0832], ax
jmp 0x42ee89
jmp 0x42ee8e
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x42edf7
mov eax, 0xc14d7876
mov ecx, dword [0x49e5c4]
mov edx, dword [0x49db08]
shl edx, 6
xor ecx, edx
cmp eax, ecx
jg 0x42eed0
mov eax, dword [0x49e174]
or eax, 0x72ce018c
mov dword [0x49e174], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx + 1]
mov dword [esp + 0xc], eax
mov eax, dword [0x49ed3c]
xor eax, 0x4abb2522
mov dword [0x49ed3c], eax
jmp 0x42f019
mov eax, dword [0x49f208]
mov ecx, eax
inc ecx
mov dword [0x49f208], ecx
mov ecx, dword [0x49f42c]
add eax, ecx
and eax, 0x5a05e47b
mov ecx, dword [0x49df70]
sub ecx, eax
mov dword [0x49df70], ecx
mov eax, dword [esp + 0x10]
mov byte [eax], 0x20
mov eax, dword [0x49ddf8]
mov ecx, dword [0x49ec90]
and ecx, eax
mov dword [0x49ec90], ecx
mov eax, dword [0x49f510]
xor eax, 0x1722f119
mov dword [0x49f510], eax
mov eax, dword [esp + 8]
dec eax
mov dword [esp + 8], eax
mov eax, dword [0x49f6b0]
imul eax, eax, 0xbc70f21c
mov dword [0x49f6b0], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x42ef37
mov eax, dword [0x49f10c]
or eax, 0x78b15e76
mov dword [0x49f10c], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx + 1]
mov dword [esp + 0xc], eax
mov eax, dword [0x49efa4]
add eax, 0xc5cb0433
xor eax, 0xae94c1cd
mov ecx, dword [0x49f1a0]
add ecx, 0xcc5fbdf5
or ecx, 0x72a2de0b
cmp eax, ecx
jle 0x42f014
mov ax, word [0x49fe46]
movsx ecx, ax
add ecx, 0xd329574
mov edx, dword [0x49ebf0]
dec edx
mov dword [0x49ebf0], edx
and edx, 0x8ac90d6c
cmp ecx, edx
je 0x42f00f
mov eax, 0xba1e20fe
mov ecx, dword [0x49f3f8]
add ecx, 0x8b9e922a
sub ecx, 0x6b6189ad
cmp eax, ecx
jge 0x42f00a
jmp 0x42f00a
jmp 0x42f00f
jmp 0x42f014
jmp 0x42f019
mov ax, word [0x4a08f4]
mov cx, ax
add ecx, 0xd6b340e4
mov ax, cx
mov word [0x4a08f4], ax
mov eax, dword [esp + 0xc]
add esp, 0x14
ret