Function at 0x4973e8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add dword [eax], 0
push ebx
push esi
push edi
mov dword [ebp - 0x53], ecx
add byte [ebp - 0x30], dl
mov dword [ebp - 0x2c], eax
mov eax, 0x1c
call 0xf1961f94
add byte [ebp - 0x2c], dl
mov eax, dword [edx + 0x2f0]
add dl, dl
call 0x5b90cb44
add byte [0x9cdc6c], bh
add byte [eax + eax], dh
xor eax, 0x9cdc6c
pop es
add bl, ch
push esp
add bh, bh
xor eax, 0xdc6c
call 0x9e5c2c
arpl word [eax], ax
inc ebp
call 0x3dcc7443
push eax
add byte [eax], al
add byte [ecx], al
je 0x4a26e9
mov ecx, dword [ebp - 0x2c]
cmp byte [ecx + 0x8b], 0
je 0x49749a
mov edi, edx
add al, ch
mov byte [0x840002d7], al
rol byte [eax], 0
mov word [ebp - 0x18], 0x7f14
add byte [edx], al
popal
xchg ebp, eax
add byte [ebp + 0xfc45], cl
pop edx
dec ebp
add bh, bh
inc ebp
dec edi
add byte [eax], al
mov edx, 0x1b68
call fcn.004c7480
dec dword [ebp - 0xc]
stosb byte es:[edi], al
add ah, bh
mov edx, 2
call 0x967490
xor edx, edx
mov edi, dword [ebp - 0x20691800]
add al, byte [eax]
mov eax, dword [ebp]
add byte [edx], dh
add eax, dword fs:[eax]
mov edi, dword [0xf1c6e800]
add dword [eax], eax
mov dword [ebp], eax
add bh, al
inc ebp
call fcn.00bb74bd
insb byte es:[edi], dx
add dword [eax], eax
fstp qword [ebp - 0x40]
lea eax, [eax]
add al, ch
push ebp
cmc
invalid
pop eax
stosd dword es:[edi], eax
aaa
invalid
inc ebx
jecxz 0x4a2700
xchg dword [eax + 0xc], edx
mov cl, 0xbb
jo 0x4a264e
sub ebp, dword [eax]
in eax, 0x10
out dx, ax
xor ah, byte [ebp - 0x5e1e8a37]
push ebp
invalid
jb 0x4a2717
mov es, word [ebp + 0x7de835ee]
movsd dword es:[edi], dword [esi]
test esi, ebp
xor eax, 0x18a57de8
push ds
jge 0x4a2697
sbb byte [esi], bl
scasb al, byte es:[edi]
mov ecx, 0x138d9379
dec edx
sbb ebp, eax
loopne 0x4a26ec
jle 0x4a26f0
out dx, eax
xchg ebx, eax
cld
xchg ebx, eax
xor byte [edi], ch
fnstsw word [eax - 0x73]
mov dword [ebp - 0x4ae0622f], edi
lodsd eax, dword [esi]
or byte [edi + 0x64774153], al
and ch, byte [edi + 0x7375463c]
scasd eax, dword es:[edi]
cmp al, 0x46
jne 0x4a278f
invalid
in eax, 0x62
std
add cl, byte [eax]
pop ecx
insd dword es:[edi], dx
pop edx
and ebp, ebp
lodsb al, byte [esi]
rol dword [ebx*2 - 0xe14d854], cl
pop esp
in al, 0x4c
cmp eax, 0xbc80135c
sbb dl, dh
mov ebp, 0x42d3b39c
sbb ecx, ecx
sbb eax, 0x83c5bddf
fstp qword cs:[edx + 0x33]
sbb al, 0x1c
lodsd eax, dword [esi]
fisttp word [eax + 0x3e]
int1
pop esi
push es
mov al, 4
fldcw word [ecx]
int 0x4d
dec ebx
cmp al, ah
daa
nop
bound ebp, qword [ecx - 0x11]
loopne 0x4a27b0
insb byte es:[edi], dx
mov dword [esp + ebx], edi
mov bh, 0x2b
push eax
cwde
sti
push 0xe80e82f
sbb esp, dword [eax - 0x53724f8f]
in eax, dx
fild qword [ebp + 0x1dff35e0]
pushal
or al, 0x5d
pop ebp
or bh, byte [ecx]
test al, 0xb
dec esp
jmp 0x4a285b
push eax
xor dh, byte [edx + 0x1bb889b3]
je 0x4a27f7
imul edx, dword [edx + 0x76], 0x2c
rol al, 1
jp 0x4a27f4
adc cl, dh
mov bl, 0xd9
int 0x8c
xor eax, 0x7d893494
jge 0x4a2836
imul edi, dword [edi + 0x28eb211d], 0xf2c9fe37
jmp 0xf95001df
jmp 0x4a2860
xchg ebp, eax
dec edi
cwde
lds ecx, [ebp - 0x17]
dec edi
and dword [eax + 0x64cdb9dc], eax
push ss
pop eax
rcr dword [eax + edi*8 + 0x62e27143], cl
test al, 0x6d
jmp 0xdcca49b4
insd dword es:[edi], dx
push cs
push ebx
add ebp, ebp
pop ds
xor al, 0x8d
cmp eax, 0x9a6995ac
jne 0x4a28c2
sub al, 0x77
jge 0x4a2872
int 0x8c
sub dword [esi + ebp*4 + 0x72], edi
invalid
scasb al, byte es:[edi]
jb 0x4a28ef
fisubr word [esi + edi*8]
jg 0x4a2814
neg dword [edi]
mov al, byte [0x342d8d25]
inc ebp
and al, 0x5c
in al, dx
outsb dx, byte [esi]
adc eax, 0x43660c7a
cld
sub dh, byte [ecx + 0x45789cd2]
push eax
ficom word [0x5dbc792f]
add al, 0x1a
sbb eax, 0x3c4d2a59
sub ebx, dword [eax + 0x2a]
jbe 0x4a28db
or esp, dword [edi + 0x3fecd5b0]
aas
fcmovb st(0), st(2)
add edx, esi
cmc
mov esp, 0x9ea26d81
cmp dword [ebx + 0x7dbc8ed4], ecx
cdq
stosb byte es:[edi], al
movsd dword es:[edi], dword [esi]
cmp eax, 0x9a4b5a08
xlatb
std
mov byte [0xf69bfd1a], dh
push ebp
stosb byte es:[edi], al
inc ecx
inc ebx
inc edi
aaa
push eax
inc edx
je 0x4a288a
mov dword [eax + ecx*4], edx
adc al, 0x88
invalid