Function at 0x8aa262
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], al
add byte [eax - 0x157ea524], al
mul ch
sub byte [edi - 0x7f], bl
mov edx, dr0
push ss
mov eax, ebx
pop eax
cmp ebx, 0xffff23fc
jne 0x8aa284
mov ax, 0xea22
sti
jmp 0x8aa2aa
push eax
call 0x8aa297
lea esi, [ebx + 0x2c]
lodsd eax, dword [esi]
jge 0x8aa224
test eax, 0x16f9bcb1
inc ebp
xchg esi, eax
pop edi
pop esi
jmp 0x8aa21e
cmp dword [ebp + 0x122d0bf9], 0
je 0x8aa2c1
mov dword [ebp + 0x122d391c], 1
mov eax, dword [ebp + 0x122d0cbd]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x122d29b7], ecx
mov edi, dword [ebp + 0x122d37c8]
test edi, edi
jne 0x8aa2ec
jmp 0x8aa42d
mov esi, edi
mov ecx, 0x3c7c
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x8aa2f3
mov ecx, dword [ebp + 0x122d37c8]
mov edi, dword [ebp + 0x122d0cbd]
mov esi, dword [ebp + 0x122d29b7]
cmp edi, esi
jne 0x8aa31d
jmp 0x8aa41e
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d144d], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d19bf]
pop ebx
test eax, eax
je 0x8aa35e
lea eax, [ebp + 0x122d3158]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d314b]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x8aa405
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d3750], 1
jne 0x8aa39b
cmp byte [ebx - 2], 0xe8
jne 0x8aa39b
cmp byte [ebx + 3], 0x90
jne 0x8aa39b
jmp 0x8aa405
cmp byte [ebx - 1], 0xc5
jne 0x8aa3c8
cmp dword [ebp + 0x122d3834], 0
je 0x8aa3c8
cmp dword [ebp + 0x122d0541], 0
je 0x8aa3c8
mov byte [ebx - 1], 0xe9
jmp 0x8aa405
cmp dword [ebp + 0x122d0bf9], 0
je 0x8aa3f5
cmp byte [ebx - 1], 0xc5
jne 0x8aa3f5
cmp dword [ebp + 0x122d3834], 0
je 0x8aa3f5
mov byte [ebx - 1], 0xe9
jmp 0x8aa405
cmp dword [ebx], 0x90909090
je 0x8aa405
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x8aa35f
cmp dword [ebp + 0x122d144d], 0
jne 0x8aa31d
mov edi, dword [ebp + 0x122d37c8]
mov ecx, 0x3c7c
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28615ac2
mov edi, dword [ebp + 0x122d171d]
mov ecx, 0x79
lea esi, [ebp + 0x1252e480]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d171d]
add edi, 0xe
test edx, edx
je 0x8aa462
add edx, dword [ebp + 0x122d0cbd]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d19c4]
mov edi, dword [ebp + 0x122d171d]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d171d]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d171d]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x8aa50d
mov eax, edx
jmp 0x8aa530
je 0x8aa53d
add byte [eax], al
pop ss
in eax, 0x52
adc al, byte [eax]
je 0x8aa544
add byte [eax], al
jmp 0x8aa6df
lea eax, [ebp + 0x1252e51c]
push eax
push 0
push 0
lea eax, [ebp + 0x1252e557]
push eax
push 0
push 0
call dword [ebp + 0x122d3760]
call dword [ebp + 0x12475022]
jmp 0x8aa6df
mov eax, ecx
jmp 0x8aa70e
mov eax, 0x6754
push 0x58985688
mov dword [esp], edi
mov dword [esp], eax
jmp 0x8aa7d1
add esp, 4
push 0x2cf27a74
mov dword [esp], ecx
push dword [esp]
pop ecx
push 0x3538de28
mov dword [esp], ebp
push esp
pop ebp
push eax
mov eax, 0x7fff3784
push edx
mov edx, 1
jmp 0x8aa856
sub edx, eax
jmp 0x8aa754
pop eax
jmp 0x8aa86c
add esp, 4
mov esi, dword [esp]
add esp, 4
jmp 0x8aaa07
sub esp, 4
mov dword [esp], ebx
jmp 0x8aa976
xor ecx, 0x4efea56c
add eax, ecx
pop ecx
add eax, 4
xchg dword [esp], eax
pop esp
push esi
mov esi, esp
jmp 0x8aa7a4
mov esi, dword [esp]
push edx
mov edx, esp
add edx, 4
jmp 0x8aa76e
push edi
mov edi, 4
add esi, edi
mov edi, dword [esp]
add esp, 4
add esi, 4
xchg dword [esp], esi
mov esp, dword [esp]
push ebx
add dword [esp], 0x4ff9c4f5
pop ebx
push 0x429dddd1
jmp 0x8aa9e6
push esp
jmp 0x8aa7d7
pop eax
push ecx
mov ecx, 0x57c88f1f
xor ecx, 0x57c88f1b
add eax, ecx
jmp 0x8aa988
add edx, 0x7157a234
sub ebp, edx
mov edx, dword [esp]
add esp, 4
pop eax
push esi
mov esi, 4
add ebp, esi
pop esi
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
jmp 0x8aa93e
xchg dword [esp], ebp
pop esp
mov ebp, dword [esp]
jmp 0x8aa75a
xchg dword [esp], edx
pop esp
push ebp
push edi
mov dword [esp], 0x44f9ee00
jmp 0x8aa85d
add ebx, 4
xchg dword [esp], ebx
pop esp
push esi
mov esi, ebp
mov edx, esi
mov esi, dword [esp]
push 0x324c1ce8
mov dword [esp], ebp
mov ebp, esp
jmp 0x8aa930
sub eax, edx
jmp 0x8aa945
mov dword [esp], ebx
mov ebx, esi
mov ebp, ebx
push dword [esp]
jmp 0x8aa998
inc edx
push ecx
mov ecx, 0x3d9f4101
sub ecx, 0xe2bd0aa9
jmp 0x8aa920
mov ecx, 0x7effb860
sub eax, ecx
pop ecx
sub eax, 0x1dbf531b
xor eax, 0x89c2853c
jmp 0x8aa968
mov edi, edx
mov edx, dword [esp]
add esp, 4
mov ebx, edi
pop edi
mov eax, 0xe9606bba
sub eax, ebx
pop ebx
sub eax, 0x785f96a5
and eax, 0x5e7f93bb
sub esp, 4
mov dword [esp], esi
push edx
push 0x5e3fa904
mov edx, dword [esp]
add esp, 4
and edx, 0x5f7b1a17
not edx
shl edx, 3
sub edx, 0xe27bfd7
mov esi, edx
pop edx
push ebp
mov ebp, 0x5fdaca21
add eax, ebp
pop ebp
add eax, esi
sub eax, 0x5fdaca21
mov esi, dword [esp]
add esp, 4
shl eax, 8
push edx
mov edx, 0x48783bf5
jmp 0x8aa9cd
push ebx
push edi
push 0x5a1a563e
mov dword [esp], edx
push eax
mov eax, 0x6ef650b8
push ecx
jmp 0x8aa87e
add ebx, 4
jmp 0x8aa835
add edx, ecx
pop ecx
sub edx, 0x7fbf9ffb
not edx
jmp 0x8aa7eb
add ebp, 4
add ebp, 4
jmp 0x8aa817
push esi
push edx
jmp 0x8aa793
pop edx
inc eax
shr eax, 8
inc eax
shr eax, 4
sub eax, 0x7ffef
add ebp, 0x1fc74f1e
add ebp, eax
push edx
mov dword [esp], ecx
mov dword [esp], edx
push eax
jmp 0x8aa9f8
mov edx, eax
pop eax
xor edx, 0x200ccf88
jmp 0x8aa895
mov ebx, 4
jmp 0x8aa980
add edx, ebx
pop ebx
jmp 0x8aa823
mov ecx, dword [esp]
add esp, 4
sub eax, 4
jmp 0x8aa9ad
pop ebx
push 0x5b884150
jmp 0x8aa9a3
mov dword [esp], ebx
mov ebx, esp
jmp 0x8aa915
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
jmp 0x8aa9c1
push dword [esp]
push dword [esp]
pop eax
jmp 0x8aa9d5
add eax, edx
pop edx
jmp 0x8aa9ee
push eax
mov eax, esp
push ecx
mov ecx, 0x277f52b4
shl ecx, 1
jmp 0x8aa779
mov dword [esp], eax
jmp 0x8aa8ff
sub ebx, eax
mov eax, dword [esp]
jmp 0x8aa723
mov eax, 0x7fff548f
mov edx, 0xf66d1146
jmp 0x8aa74d
jmp 0x8aac24
push 0x5d9a3852
mov dword [esp], ecx
push 0x5913058
mov dword [esp], eax
push dword [esp]
pop ecx
add esp, 4
jmp 0x8aac4e
push 0x2a6b073c
mov dword [esp], eax
push ecx
jmp 0x8aace2
mov eax, ecx
push dword [esp]
push dword [esp]
pop ecx
push eax
push esp
pop eax
add eax, 4
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
jmp 0x8aad73
pop edi
add edi, 4
push esi
mov esi, 4
jmp 0x8aad16
mov dword [esp], ebx
push ebx
mov ebx, 0x5ff744ca
push ebp
jmp 0x8aad5f
pop edi
push edx
mov edx, edi
mov ecx, edx
pop edx
jmp 0x8aaca2
mov edi, dword [esp]
jmp 0x8aac40
sub eax, 0x7ffe8602
add eax, ebx
add eax, 0x7ffe8602
pop ebx
add eax, edi
jmp 0x8aacf2
add dword [esp + 4], ebx
pop ebx
jmp 0x8aacc8
pop eax
push edi
mov edi, 4
push ebx
mov ebx, 0x7fdf4bdf
neg ebx
xor ebx, 0xfeb51bd7
jmp 0x8aacaa
mov dword [esp], esp
push ebx
jmp 0x8aad3b
mov esi, esp
jmp 0x8aad8e
sub eax, 0x7e95aff6
pop edi
add eax, 4
push edx
mov dword [esp], eax
jmp 0x8aad06
push dword [esp + 4]
pop eax
pop dword [esp]
mov esp, dword [esp]
jmp 0x8aae3f
sub edi, 0x6fbffa22
add edi, esi
add edi, 0x6fbffa22
pop esi
xor edi, dword [esp]
jmp 0x8aad2d
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
jmp 0x8aad45
mov ebx, 4
jmp 0x8aacbe
push edx
jmp 0x8aad7a
add ebp, 4
jmp 0x8aae24
push dword [esp]
pop ebx
jmp 0x8aae0e
mov ebp, 0x6bffd9c6
push ebx
mov ebx, 0x3df78723
add dword [esp + 0xc], ebx
jmp 0x8aadc3
push edi
push esp
jmp 0x8aac75
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
jmp 0x8aac87
add esi, 4
sub esi, 4
xchg dword [esp], esi
pop esp
jmp 0x8aada0
mov dword [esp], edi
jmp 0x8aadc9
add dword [esp + 8], ebp
sub dword [esp + 8], 0x3df78723
pop ebp
sub esp, 4
mov dword [esp], esi
jmp 0x8aaceb
pop ebx
jmp 0x8aada8
mov edi, 0x7bfb8c14
add dword [esp + 8], edi
pop edi
jmp 0x8aadd8
push ecx
mov ecx, 0x7dff1b8c
sub dword [esp + 8], ecx
pop ecx
sub dword [esp + 4], ebx
add dword [esp + 4], 0x7dff1b8c
push ebp
mov ebp, 0x7bfb8c14
sub dword [esp + 8], ebp
pop ebp
sub dword [esp + 4], 0x6bffd9c6
push dword [esp]
pop ebx
add esp, 4
jmp 0x8aad56
add esp, 4
jmp 0x8aae16
add ebx, 0x5ff744ca
push ebp
push esp
pop ebp
jmp 0x8aad4b
sub ebp, 4
xor ebp, dword [esp]
jmp 0x8aae2f
xor dword [esp], ebp
xor ebp, dword [esp]
pop esp
mov dword [esp], edi
push ecx
jmp 0x8aac96
push 0x2f019c97
mov dword [esp], eax
push esi
push 0xbcf9d10
mov dword [esp], ebp
push 0x7bdf3845
jmp 0x8aaf0f
push eax
jmp 0x8aae74
add esp, 4
jmp 0x8aaf40
mov ebp, 4
add edx, ebp
jmp 0x8ab0f0
xor esi, 0xa51f6c75
add dword [esp + 4], 0x779e2011
sub dword [esp + 4], 0x6fff575e
add dword [esp + 4], esi
add dword [esp + 4], 0x6fff575e
sub dword [esp + 4], 0x779e2011
pop esi
jmp 0x8aaeee
mov eax, edi
pop edi
and eax, 0x5fff3097
or eax, 0x75ffc293
not eax
jmp 0x8aaf7b
sub eax, ebx
add eax, 0x3bb13011
pop ebx
push edx
mov dword [esp], ecx
jmp 0x8aafcb
push dword [esp]
pop eax
add esp, 4
push ecx
mov dword [esp], ebx
mov ebx, 0x5e7ce358
jmp 0x8aaf99
pop ebp
xor ebp, 0x5bff3224
xchg ebp, ecx
inc ecx
xchg ebp, ecx
xor ebp, 0x357798e6
mov esi, ebp
mov ebp, dword [esp]
jmp 0x8aae60
add eax, 4
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
jmp 0x8aafe8
push eax
mov eax, 0
sub eax, esi
mov esi, eax
mov eax, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
jmp 0x8aae99
add esp, 4
add dword [esp + 0xc], eax
jmp 0x8aafb3
xor eax, 0xf17f2794
jmp 0x8ab13b
push 0x2d30f8d5
mov dword [esp], ecx
pop edi
jmp 0x8ab0e1
pop esp
jmp 0x8aafa9
xor ebx, 0x11cbe251
sub eax, 0x3bb13011
jmp 0x8aaedd
push 0x2eb77a16
jmp 0x8ab0ff
pop eax
add dword [esp + 8], ebp
sub dword [esp + 8], 0x6cef3c74
mov ebp, dword [esp]
push eax
mov eax, esp
jmp 0x8aaf2b
mov dword [esp], ebx
push 0x69edc77b
mov dword [esp], ebp
push eax
mov dword [esp], 0x1dfbd8b8
pop ebp
add dword [esp + 4], ebp
jmp 0x8ab01c
xor eax, dword [esp]
mov esp, dword [esp]
jmp 0x8aaff3
mov eax, dword [esp]
jmp 0x8aae5a
add dword [esp + 4], 0x59ba1d67
sub dword [esp + 4], eax
sub dword [esp + 4], 0x59ba1d67
push ebp
mov ebp, 0x3fbbf4f3
push eax
push ebp
jmp 0x8ab148
pop ebp
jmp 0x8ab022
push dword [esp]
pop ebx
push ecx
jmp 0x8ab02c
mov ecx, esp
add ecx, 4
sub esp, 4
mov dword [esp], edx
mov edx, 4
add ecx, edx
pop edx
xor ecx, dword [esp]
jmp 0x8ab04d
xor dword [esp], ecx
jmp 0x8ab055
xor ecx, dword [esp]
pop esp
push eax
mov dword [esp], 0x5dfce581
mov dword [esp], edx
mov edx, 0x53ff6ba7
dec edx
add edx, 1
jmp 0x8ab075
xor edx, 0x4e04b31f
push edx
mov edx, 0x7ddf3237
xor edx, 0x46717a03
add ebx, edx
pop edx
sub ebx, edx
jmp 0x8ab091
sub ebx, 0x3bae4834
pop edx
sub esp, 4
mov dword [esp], ecx
mov dword [esp], edi
push ebx
mov dword [esp], esp
add dword [esp], 4
jmp 0x8ab0b4
pop edi
add edi, 4
sub edi, 4
push edi
push dword [esp + 4]
pop edi
jmp 0x8ab0cc
pop dword [esp]
pop esp
mov dword [esp], edx
jmp 0x8ab0d8
push esi
mov dword [esp], edi
jmp 0x8aaf85
mov edx, edi
push dword [esp]
pop edi
push edx
mov edx, esp
push ebp
jmp 0x8aae68
pop ebp
add edx, 4
xchg dword [esp], edx
jmp 0x8aaf93
mov dword [esp], esi
mov esi, edx
mov ecx, esi
pop esi
mov edx, dword [esp]
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
jmp 0x8ab122
push edx
push 0x480b0573
jmp 0x8ab12d
mov dword [esp], eax
push edi
mov edi, 0x1657347d
jmp 0x8aaec9
sub dword [esp + 4], 0x3fbbf4f3
jmp 0x8aaffb
mov ebp, 0x6cef3c74
jmp 0x8ab152
mov eax, ebp
mov ebp, dword [esp]
jmp 0x8aaf67