Function at 0x415dfb
Capabilities:
Encode data using xor

Disassembly:
jmp 0x415dc1
sbb edi, eax
add byte [eax], al
mov esi, 0x2a2a6e1e
mov ebx, 0xff9f59ff
pop ecx
lahf
inc edi
add byte [eax], al
invalid
ja 0x415d58
pop ecx
lahf
inc edi
add byte [eax], al
mov esi, 0x75b08377
ja 0x415d58
mov al, 0x75
fmulp st(4)
add al, 0xff
xlatb
jp 0x415df0
jmp 0x415de1
loop 0x415e1c
pop ebp
sbb al, 0
add byte [ebx - 0x69], bh
je 0x415dbd
je 0x415dd3
pop edx
push eax
jmp [esi]
dec edi
outsb dx, byte [esi]
push eax
xor al, 0x4f
pop edi
sal al, 0xe8
cmp edx, dword [ebp - 0x75]
in al, dx
cmp dword [ebp + 0x77], 0xffffffa3
cmpsd dword [esi], dword es:[edi]
sub al, al
invalid
jne 0x415e1d
push dword [eax + 0x68d38e7b]
push edi
push dword [esi - 0x7d]
mov al, 0x7b
mov ss, ebx
push 0x8376ff57
pop esp
sub esi, dword [edx]
sti
pop ebp
cmp dword [eax + 0x2bb346e9], eax
and eax, 0x7740046
popfd
enter 4, 0
jbe 0x415e53
test esi, esi
outsd dx, dword [esi]
sbb byte [ebp + 0x20], dh
fimul word [ebx + 0xa9c5]
mov eax, dword [ebp + 0x43]
adc dword [ecx], eax
ror dword [ebx - 0x77fc56c6], 0x5a
aas
test eax, 0x3f5a8803
pop esi
add byte [eax + 0x56], dl
enter 0xffffffffffffe802, 0
mov ecx, dword [ebx + 0x57568514]
inc byte [eax + eax]
add byte [eax + eax + 0x3300fe00], ch
mov eax, dword [esi]
mov ch, 0x42
rcl dword [esi + 0x25410002], cl
inc esp
cld
add byte [esi + 0x70196a10], al
jl 0x415ea8
movsd dword es:[edi], dword [esi]
mov es, word es:[esi + eax*2]
mov al, byte [0x900000f]
xor eax, 0x20
pop es
push eax
pop ebx
xlatb
push esi
std
cld
add dword [eax], eax
jge 0x415e2a
or eax, 0xeb59e878
jg 0x415ec8
int3
pop edi
mov al, byte [0x200010e]
jbe 0x415f12
add dword [eax], eax
add dh, byte [esi + 0x62]
leave
xor al, 0xff
mov ebx, dword [ebx + 0x59]
stosd dword es:[edi], eax
cmp byte [ebp - 0x7a], dl
mov eax, 0xd900002c
leave
inc ebp
je 0x415eab
cmpsb byte [esi], byte es:[edi]
popfd
or edx, dword [ebx]
add byte [ebx + 0x1863e8fe], cl
add al, 1
add dl, bh
or al, 0x41
sbb al, 0x64
invalid
jne 0x415f7c
adc al, 0x85
test ch, 0x70
salc
add byte [ecx - 0x2017018b], cl
xchg ebx, eax
add byte [eax], al
mov dh, 0xf5
inc eax
rcr dword [esi], 1
sub byte [ebx + ecx*4 - 0xf74ff96], ah
adc al, 0x23
xchg edi, eax
jae 0x415f55
pop dword [eax]
pop ds
jmp 0x415f65
fild dword [ecx*2 - 0x78cd0000]
daa
loope 0x415fcf
adc al, 0x8b
invalid
arpl word [eax - 0x13], dx
xor dh, cl
mov eax, esi
call 0xff799159
invalid
test dword [ecx + 0x3de3d6ff], ecx
inc ecx
and al, 0x28
mov dword [ecx + ebx*4 - 0x15], ebx
or dword [eax + eax], eax
add ah, ch
mov cl, 0x2a
sal dword [eax - 0x1b8b3f6a], cl
push ebx
invalid
add al, 0xba
movntq qword [ebp - 0x14dc8bbb], mm1
xor dword [ebp - 0x7567ee5c], ecx
loope 0x415fe4
inc ebp
je 0x415ff5
jmp 0x416005
pop edi
mov edx, dword [ebx + eax*8]
push ebp
pop esi
call 0x80416094
mov esi, 0x8ba4cd2c
push 0
mov ebp, edi
xlatb
push eax
push esi
add byte [eax], al
cmp byte [esi - 0x745b32d4], 0x6a
add byte [ebx + 0x5650d7ef], cl
lea edx, [ebp - 0x4effead3]
out dx, al
sub eax, 0xeeb10015
adc eax, 0x74eeb100
add byte [esi - 0x2755cbae], bh
je 0x415ffc
mov esi, 0xd8aa3452
add byte [ebx + 0x10c01bdb], cl
cmp eax, 0x6970d77d
rcl byte [eax], 0x3d
jge 0x415fe1
jo 0x416075
mov cl, 0
push 0
call 0x46a3484d
add byte [eax - 0x43], dl
jne 0x41603b
mov esi, edx
add bh, bh
push eax
or al, 0x83
push ds
mov eax, 0x84db90d
call 0xc9b76026
jne 0x415ff6
jmp ss:[edx + 0x51]
jl 0x415fca
and bh, byte [esi - 0x18]
stc
adc eax, 0x9891fff9
add byte [ecx - 0x39b2a192], ch
add ch, al
call 0xe9ca9b9c
or eax, ebx
call 0x56f9e0e1
xchg ebx, eax
inc ebp
or byte [edi], cl
mov bh, 0x80
movsd dword es:[edi], dword [esi]
push edi
call 0x4baed29e
call 0x6841b0c8
invalid
pop es
add al, dh
invalid