Function at 0x42aae0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.004097b0
add esp, 4
mov dword [esi + 0x18], eax
mov dword [esi + 0x704], 0x27764c6e
mov dword [esi + 0x708], 0x550a1935
mov word [esi + 0x70c], 0x9170
mov dword [esi + 0x70e], 0
mov word [esi + 0x712], 0
xor ecx, ecx
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
or edx, 0xcf5dd7e6
add edx, ecx
inc edx
mov edi, edx
and edi, 0xfd
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
xor eax, 2
imul eax, edi
mov ebx, ecx
xor ebx, 0xe6
add ebx, edx
mov edx, dword [esi + 8]
add ebx, eax
xor bl, byte [esi + ecx + 0x704]
add bl, 0x82
mov byte [esi + ecx + 0x704], bl
inc ecx
dec edx
cmp ecx, 0x10
jne 0x42ab40
mov eax, dword [0x445784]
mov dword [esi + 0xc], eax
mov dword [esi + 0x404], 0x5072449a
mov dword [esi + 0x408], 0x36300b0b
mov dword [esi + 0x40c], 0x3a080437
mov dword [esi + 0x410], 0x11112c18
mov word [esi + 0x414], 0x615a
mov byte [esi + 0x416], 0x82
mov word [esi + 0x417], 0
mov edi, 0x64
nop
nop
nop
movzx edx, byte [esi + edi + 0x3a0]
mov ebx, edx
and ebx, edi
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, dl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edi
add al, 0xc
mov byte [esi + edi + 0x3a0], al
inc edi
cmp edi, 0x79
jne 0x42abe0
mov eax, dword [str.HbVgyI__terfd]
mov dword [esi + 0x10], eax
mov dword [esi + 0xac], 0xda88696f
mov dword [esi + 0xb0], 0xd0d06dc5
mov dword [esi + 0xb4], 0xb3668fcb
mov dword [esi + 0xb8], 0xe7ba65bf
mov dword [esi + 0xbc], 0x9ee3e4ed
mov dword [esi + 0xc0], 0xe0f9eeee
mov dword [esi + 0xc4], 0x5048eee6
mov dword [esi + 0xc8], 0xe2ffb354
mov dword [esi + 0xcc], 0xf38b9eb2
mov dword [esi + 0xd0], 0xf0fe4df0
mov dword [esi + 0xd4], 0x47a8f6fb
mov dword [esi + 0xd8], 0x868ff9a4
mov dword [esi + 0xdc], 0xfe83f885
mov dword [esi + 0xe0], 0x87f7828a
mov dword [esi + 0xe4], 0xf0f78d80
mov dword [esi + 0xe8], 0x98ecf6f1
mov dword [esi + 0xec], 0x2fd3379c
mov dword [esi + 0xf0], 0x9e9f98f0
mov dword [esi + 0xf4], 0x27d0c6e1
mov dword [esi + 0xf8], 0xa7a390c2
mov dword [esi + 0xfc], 0xcd1ef7dc
mov dword [esi + 0x100], 0xe512b7af
mov dword [esi + 0x104], 0xe7e011fa
mov dword [esi + 0x108], 0xf614e1e2
mov dword [esi + 0x10c], 0xebd7d508
mov word [esi + 0x110], 0xde2
mov byte [esi + 0x112], 0x22
mov byte [esi + 0x117], 0
mov dword [esi + 0x113], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx + 0xac]
mov dword [esi + 8], edi
mov edx, ecx
xor edx, 0x408f59ed
mov eax, ecx
or eax, 0xbf70a612
and edx, eax
add edx, eax
mov ebx, edx
and ebx, edi
mov edi, ebx
and edi, 0xfffffffd
mov eax, ebx
or eax, 0xfffffffd
inc eax
imul eax, edi
mov edi, ebx
and edi, 2
or ebx, 2
imul ebx, edi
sub eax, ebx
add edx, dword [esi + 8]
add eax, edx
add eax, 0x42ccc1a5
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov byte [esi + ecx + 0xac], al
mov eax, 0x1d
sub eax, ecx
add ecx, 0x22
and eax, 0x21
and ecx, 0xde
sub ecx, eax
cmp ecx, 0x6c
jb 0x42ad50
movzx ecx, byte [esi + 0xac]
mov ebx, dword [esi + 0x18]
test cl, cl
je 0x42adeb
lea edi, [esi + 0xad]
mov ebx, dword [esi + 0x18]
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x42ade0
mov byte [ebx], 0
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax]
test cl, cl
je 0x42ae0b
inc eax
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42ae00
mov byte [ebx], 0
movzx eax, byte [esi + 0x404]
test al, al
je 0x42ae2b
lea ecx, [esi + 0x405]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ae20
mov byte [ebx], 0
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
test al, al
je 0x42ae4b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ae40
mov byte [ebx], 0
movzx eax, byte [esi + 0x704]
test al, al
je 0x42ae6b
lea ecx, [esi + 0x705]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ae60
mov byte [ebx], 0
push 0
call fcn.0043f1f0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov ecx, dword [ecx*4 + 0x448978]
mov edx, 0x146c6e78
xor edx, dword [0x448980]
add ecx, edx
inc ecx
jmp ecx