Function at 0x4a9f75
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xcf256c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], ecx
cmp eax, 0x3ffffffe
jb 0x4aa0b3
mov dword [ebp - 0x48], 0xf
lea edx, [ebp - 0x60]
xor eax, eax
mov ecx, 0x13
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0xd27f1c
mov dword [ebp - 0x30], edx
cmp eax, 0x10
mov dword [ebp - 0x28], 0x13
jb 0x4a9fe5
mov ebx, dword [ebp - 0x5c]
jmp 0x4a9fe8
lea ebx, [ebp - 0x5c]
mov edx, 0xd27f1c
cmp edx, ebx
jae 0x4aa82b
xor edx, edx
test edx, edx
je 0x4aa04c
cmp eax, 0x10
jb 0x4aa005
mov edx, dword [ebp - 0x5c]
jmp 0x4aa008
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov ebx, 0xd27f1c
sub ebx, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
cmp edx, ebx
jae 0x4aa030
call 0xd8f0a2
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
mov eax, edx
sub eax, ebx
cmp ecx, eax
jb 0x4aa03a
mov ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x4aa606
mov dword [ebp - 0x34], 0x13
cmp eax, 0x13
jb 0x4aa74a
mov eax, dword [ebp - 0x34]
test eax, eax
ja 0x4aa6f8
mov dword [ebp - 4], 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
call fcn.004acc99
push 0xe4a7c0
lea eax, [ebp - 0x90]
push eax
call 0xd5c77b
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jae 0x4aa6ea
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x48], 0xf
xor eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov ebx, dword [ebp + 0x10]
push 0x14
mov esi, dword [ecx + 4]
call 0xd5ad0c
add eax, 0x1b085ce
and eax, 0xe1b7f8d5
test al, 0x92
xor eax, 0xa390eecc
dec ecx
add al, 0xba
mov ch, 0x8c
and al, 0x3f
inc ebp
call 0xcbffb523
adc ebp, dword [ecx - 0x19]
enter 0xffffffffffffd484, 0xffffffffffffffe5
call 0x885d9194
les edx, [ecx]
or ebp, dword [eax + 0x3144f566]
dec ecx
dec ebp
and byte [0x5a73cd7b], 0x68
enter 0x65ca, 0x1c
jb 0x4aa143
and eax, 0x1d14a5e7
lds esi, [esi]
jb 0x4aa166
sub al, 0xe1
cwde
cdq
jns 0x4aa128
dec edx
int 0x60
test byte [0x2137bc5], ch
push esp
ret 0x2bf5
adc ebp, dword [eax - 0x23]
popfd
add byte [ecx - 0x30fdd52a], ch
rol dword [eax + 0x7af41f7a], 0x1d
xor ch, 0x24
stosd dword es:[edi], eax
xchg edi, eax
xor eax, 0xb514002b
fcompi st(7)
test eax, 0x9cddfaa7
ret
mov ah, 0xe7
das
mov bh, 0xca
push 0x70e768e4
sbb eax, 0x8991297
sub byte [edi + eax*8 + 0x3b], dh
shl ch, 1
pop eax
nop
cwde
and eax, 0x69ed2573
pop ss
mov ebx, 0x891dc8b4
jne 0x4aa1c4
xchg esp, eax
mov eax, 0x4bfe19e9
jmp 0x1f8bd5a8
mov edi, edi
xchg ebp, eax
jmp 0x490630d0
mov ah, 0x70
push ebp
pop esi
jmp 0x82db9aa5
xor eax, 0x82b90dd7
pop ecx
rcr ebp, 0x41
sub dword [ecx - 0x61], eax
aaa
add eax, 0xc857145f
dec edx
jmp 0x4aa5dc
int3
push eax
sub eax, 0x48341f00
xchg esi, eax
add al, 6
daa
invalid
xlatb
lds ebx, [ebx - 0x47e547b3]
adc al, 0x5a
fstpnce st(2), st(0)
in eax, dx
ja 0x4aa661
jb 0x4aa736
xor eax, 0x3a74bd47
dec esp
push ss
loope 0x4aa6b0
aad 3
push esi
retf
mov ebp, 0xe641b309
test al, 0x91
dec eax
inc ebx
arpl word [ebp - 0x1774ca53], ax
jbe 0x4aa731
call 0x7242dd73
retf
clc
jno 0x4aa6c9
jl 0x4aa709
scasb al, byte es:[edi]
fdiv st(3)
sbb dl, byte [ecx + 0x5d4e287e]
or byte [ecx - 0x28], ah
push ds
mov eax, 0xcbad63f7
add eax, 0xcd3135ed
rcr byte [ebp + 0x4b28cf38], cl
xor eax, 0xc08156da
xor edx, edx
sub al, 0xa9
mov ecx, 0xfe934ef
mov dword [edx - 8], ebx
test byte [eax], 0xd4
jecxz 0x4aa748
mov al, 0x6f
cmp ebp, esp
rcr dword [ebx + 0x2d], 1
invalid
in eax, 0xd1
pop ebx
sub eax, 0x345f062
jmp 0x87234765
sub dh, ah
aam 0xe5
push edi
ror dword [ebp + 0xf530b0b], cl
mov ecx, 0xc46e294a
adc al, 0x46
sbb byte [esi - 0x30], dh
adc bl, byte [eax]
insd dword es:[edi], dx
pop eax
mov ecx, dword [ebp + 0x7b]
stc
mov bh, 0x7b
fdivr qword [eax - 0x630e6381]
sti
insb byte es:[edi], dx
sub ecx, dword [ebp - 0x3b]
js 0x4aa7d4
xor eax, 0x6218be60
inc esi
or byte [esi - 0x366ad8c4], cl
sub byte [edx + 0x1d], al
push 0x66218d92
xor eax, 0xcaa41b87
mov ebp, 0x51843dad
push ebp
bound esi, qword [0x670fa2f8]
loop 0x4aa81b
xchg esi, eax
or edx, edx
pushal
cli
xchg ebp, eax
xor eax, 0x7e4deebb
xor eax, 0xdd5c42dc
pop esp
in eax, dx
leave
pop esp
fstp qword [ebp + ebp*8 - 0x37]
movsd dword es:[edi], dword [esi]
xchg dword [0x63dc5c0e], ebx
jle 0x4aa7c7
jge 0x4aa802
or byte [0x1eebcee9], dh
invalid
fadd qword [edx + 0x70fd96a8]
lcall 0x98a4, 0xc85f47fd
aaa
xor al, 0x25
mul byte [edx + 0x3d]
xor dword [ebx*4 - 0x6c481d85], esi
inc edi
mov edi, 0xcb25488b
fcomi st(6)
rcr dword [edi - 0x5f03adcb], 0xdf
inc esp
cwde
iretd
ja 0x4aa814
das
add esp, dword [0x50fdecf2]
adc dl, byte [ecx]
mov dl, 0x99
retf 0x63b5
pushfd
stosb byte es:[edi], al
inc eax
sti
adc al, 0x4c
or byte [eax], ch
popal
cmp esp, dword [ebp + 0x78]
mov ch, dh
sub byte [ecx + 0x3b], ah
js 0x4aa7ab
out dx, al
mov ah, 0x98
fstp qword [ebp + 0x45]
and esp, dword [edi]
dec edi
mov ch, 0x7d
jecxz 0x4aa89d
jge 0x4aa810
outsd dx, dword [esi]
invalid
inc byte [eax]
cmp byte [edx + edi*2], bl
sub ebp, edi
push ebp
imul esp, esp, 0x63
and eax, 0x1ee9742a
invalid
ja 0x4aa8d9
jge 0x4aa831
invalid
push cs
and dword [ebx + 0x75], ebp
push es
fdivr dword [eax]
push ebp
enter 0xfffffffffffff618, 0xffffffffffffffa7
clc
lodsd eax, dword [esi]
pop es
ror bl, cl
invalid