Function at 0x4139a4
Capabilities:
Encode data using xor

Disassembly:
fisub word [ebx + edi*4 - 0x50]
sub edi, dword [ebp + 0x51]
out dx, eax
adc dword [eax - 0x6c], esp
jno 0x4139bd
xor dword [ebx], ebx
outsd dx, dword [esi]
jmp 0xe4f947b4
xchg edi, eax
sbb cl, dl
xor al, 0x20
or bh, dl
and byte [edx], cl
cli
pop edx
insd dword es:[edi], dx
enter 0x6277, 0xffffffffffffffff
shl eax, 0x85
cmp dword [ebp + 0x6cc86de8], ecx
mov ecx, 0x3105d053
push ebx
invalid
invalid
invalid
je 0x4139b9
inc ebx
xor bl, byte [edi + 0x3e]
inc esp
mov dh, 0xdb
int1
jge 0x413a12
fucomi st(5)
push 0x6b
cmp byte [ebx], ch
into
enter 0x73ec, 0x52
sti
test edi, edx
dec ebx
push ebx
salc
aam 0xcf
inc eax
mov dword [0x6f38b0b1], eax
dec ebp
cmp eax, 0x5873478f
xor ebx, dword [edi]
or edi, dword [edx - 0x7711102c]
xor ebx, dword [edi]
or ebp, dword [edi]
xchg esi, eax
fsubp st(6)
dec eax
xor al, 0x74
or ah, byte [ebx]
dec esp
aas
enter 0x7737, 0x70
je 0x413a1e
and ecx, dword [edi + edi - 0x38]
aaa
ja 0x413a8b
ret 0xec08
cdq
pop esp
or esi, esi
mov ebx, 0xc6c9daf1
fcmove st(0), st(7)
pushal
jo 0x413a54
ja 0x413a66
inc esi
movsb byte es:[edi], byte [esi]
ljmp 0x1a4
das
enter 0x6a3f, 0x2d
mov dl, byte [ebx + 0x4772c9e3]
push ebp
cmp bh, bl
adc byte [eax], ch
loop 0x4139ee
je 0x413a48
add ch, byte [0x36263643]
rcl byte [esi + 0x33b5a998]
mov ch, 0x33
mov bh, 0x5b
dec ecx
invalid
jno 0x413af3
fidivr word [eax + ebp*8 + 0x23]
or bh, byte [ebp - 0x241973c8]
xor eax, 0xf9df74ed
test al, 0x19
in eax, dx
mov eax, 0xb8ede393
daa
cdq
sbb eax, 0x595dfc37
mov byte [esi - 0x8e265e8], ah
inc esp
jns 0x413aae
invalid
sbb byte [edx + 0x3e44f71d], bl
jns 0x413aae
stc
pop edx
enter 0x5ba2, 0xffffffffffffffbc
inc ebx
out 0x3d, eax
mov edx, dword [eax]
push 0x62
cmpsb byte ds:[esi], byte es:[edi]
ja 0x413b22
outsb dx, byte [esi]
adc bl, dl
leave
aam 0x1b
retf 0xa896
jbe 0x413af0
sti
pop esi
movsd dword es:[edi], dword [esi]
jbe 0x413b60
aas
sbb ch, byte [edi + 0x43]
and eax, dword [ecx + 0x4d0bab22]
dec ebp
mov bl, 0xee
test eax, 0xfd669a8f
jnp 0x413a96
mov eax, dword [0x95ec14f7]
scasd eax, dword es:[edi]
pop ebp
invalid
xchg dword [ecx - 0xb], ebx
inc edx
pop eax
scasb al, byte es:[edi]
call 0xabd586bd
lodsd eax, dword [esi]
mov eax, dword [0x3788bf77]
hlt
shl byte [eax - 0x39], 0x44
adc byte [edx + 0x1a], 0xb0
fdivr qword [edi + edi*8 + 0x49ef7877]
xchg esp, eax
mov eax, cs
add byte [esi - 0x1a], 0xe0
mov al, 0xde
rcr dword [ebp + 0x621f35c], cl
xchg esp, eax
add esi, esp
cmp al, 0xbc
in eax, dx
or eax, 0xd5009554
clc
mov bl, 0xe3
sub al, 0xd0
mov eax, dword [0x7d0e800f]
inc eax
je 0x413ae0
jns 0x413b69
push ebx
sub byte [edi + 0x46], 0x8b
xor byte [ebx + 0x3a847225], 0xc7
mov bl, 0x25
jb 0x413ae8
cmp al, bh
bound edx, qword [ebx]
stc
cmpsd dword [esi], dword es:[edi]
mov edx, 0x35da07d4
pop ds
mov ecx, es
push 0xebf136da
mov dh, byte [ebx + 8]
inc esp
popfd
mov cl, 0x64
out 0xa0, eax
cwde
rcl byte [ebp + 0xf], 0xa6
mov edx, 0xcf295087
push ebp
dec edi
xor al, byte [ecx*8 - 0x1efeedc7]
add bh, ch
and ebp, dword [ebx + 0x37]
arpl word [eax + 0x7aafc49c], sp
pop esp
mov byte [0x7e59ab20], al
lcall 0xe2d4, 0x6b35c4e3
mov dh, 0x34
dec edx
aam 7
fidiv dword [0x68c18c1f]
fidiv dword [esi]
int1
jmp 0x413b03
jle 0x413b40
jecxz 0x413b6c
xor eax, 0xb6e2d46b
xor al, 0x36
dec edx
cmc
wait
dec esi
mov cs, word [edx - 0x43]
stc
pop eax
xchg byte [ebx - 0x4f936aaa], dl
push esp
jle 0x413be1
into
invalid
imul edx, dword [ecx], 0x26
push ss
lodsb al, byte [esi]
add esi, edi
xor eax, 0x1dcedc3e
jno 0x413ba4
test ch, bh
das
inc eax
arpl word [ecx + 0x13], sp
fcmovnbe st(0), st(1)
popfd
ret 0x9d41