Function at 0xbf7403
Capabilities:
Encode data using xor

Disassembly:
mov dword [edi + ecx - 0x4d43087b], eax
sar dword [esp + ecx - 0x4d43087c], 7
mov dword [edi + ecx - 0x4d43087f], edx
shr ecx, 0x3e
pop edx
pop ecx
ja fcn.00c80777
push 0x5cac9c26
mov eax, dword [ebp]
add ebp, 4
sar word [esp + 2], 0x81
mov ecx, dword [esp]
movzx edx, byte [edi + ecx*2 - 0x5cad384c]
xadd cl, ch
lea edi, [ecx + edi - 0x2e5626c1]
neg dword [esp + ecx*2 - 0x5cac4d84]
je 0xaffdf4
push ecx
xor dl, bl
xchg ch, cl
ror dword [esp + ecx*2 - 0x5cad8448], cl
lea ecx, [ecx + ecx*8 - 0xe4026d0]
sbb dl, 0x12
pop ecx
xor dl, 0x15
dec dl
not dl
and ecx, 0x148c6632
sal cl, cl
ror dl, 1
rol cl, 0xa7
call fcn.00b9c021
inc edi
mov esi, dword [eax - 0x89b0]
inc ebp
xor esi, ecx
inc ebp
movzx ebx, bp
inc ecx
mul ah
dec esi
lea edi, [ebx*4 - 0xbeacd65]
inc edi
lea esi, [edi + esi - 0x54a8479]
dec ecx
lea ecx, [edi + 0x21a29708]
inc ecx
xor esi, 0x1b9dc8a4
inc ebp
xchg bh, bl
inc ecx
ror esi, 1
inc ecx
dec esi
inc cx
dec edi
mul eax
inc ecx
rol esi, 1
inc bp
xchg edi, ebp
inc ecx
inc esi
sar al, 0xc3
inc ecx
push ecx
inc ebp
movzx ecx, di
inc esi
xor dword [esp + edi*4 + 0x2fa18a28], esi
inc ecx
mov ebx, ebp
inc ecx
pop ecx
movsx ebp, ax
dec eax
bt ebx, ebx
inc cx
ror ebx, 0x8e
dec ebp
arpl si, si
shr dx, 0x86
inc ecx
push ebx
dec ebp
add edx, esi
dec esi
mov dword [esp + edi*2 + 0x17d0c514], edx
ret
lea ecx, [edx + edx*4 + 0x570eaca8]
not eax
shl dword [esp + ecx - 0x73eeaca3], cl
adc dword [esp + ecx - 0x73eeaca3], 0x4105c1f
xor eax, 0x71a7dc9d
not eax
sar cl, cl
mov word [ecx + 0x535d0c94], es
adc dword [edi + ebx + 0x3504105c], ecx
popfd
fsub qword [edi - 0x2d2f088f]
stc
xor eax, 0xe1246e34
xor ebx, eax
bt ecx, 0x15
shr dx, 0x61
add ebp, eax
movzx ax, byte [edi + ecx - 0x73eeacf4]
or cx, 0x4236
inc edx
mov cl, byte [ecx + edi - 0x73eeeef4]
adc edi, 2
sub word [esp + 1], 0x75b8
xchg dword [esp], edx
neg dword [esp]
or al, cl
mov ecx, edx
not al
mov word [edi], ax
sub ecx, edx
call fcn.011abbdf
jo 0xaffe73
cmc
idiv dword [esi - 0x35]
invalid
mov edx, 0xd5a780e4
pop ebx
and bh, byte [edi + 0x79]
jg 0xaffeee
and ah, bh
inc edi
jl 0xaffe03
add byte [edx + 0x34], dl
cmp byte [eax - 0x7ca12893], 0x96
sal byte [esi], 1
push ss
jl 0xaffefd
sbb bh, cl
push es
jle 0xaffe93
add eax, 0x80f7ab0c
jle 0xaffe7a
or al, 0xab
test dword [eax + 0x7e3ae67e], 0x1ba2add5
pop ebp
mov cs, word [edx - 0x97dbb09]
out 0x3a, al
jle 0xaffe6c
cmp bh, byte [esi - 0x2b]
lodsd eax, dword [esi]
mov byte [0x8e5d2e1b], al
mov dh, bh
inc esp
xor dh, 0x3f
aas
mov edi, 0xaae7c47f
inc eax
xchg edi, eax
or cl, byte [eax - 0x77]
test byte [esp + esi*2 - 0x45752ebf], 0x92
mov ch, 0xd9
mov esi, 0x7ad16577
pop ecx
push edx
sal dword [ecx + 0x5090419f], 1
ror esp, 1
and esp, esi
sahf
inc eax
fsubr dword [edx - 0x7bb4cf2f]
and eax, 0x7b51d12c
out 0xd0, al
fstp qword [eax]
lcall 0x1e4e, 0x416a9492
jnp 0xaffebe
rcr ch, 1
sbb byte [edx + 0x416a9492], bl
dec esi
push ds
sub ecx, 0x8104833e
std
xor esp, dword [edx - 0x3e]
jle 0xaffe8d
test dh, bl
cmpsd dword [esi], dword es:[edi]
jge 0xaffea2
salc
imul edx, esp, 0xffffff81
push esi
lahf
out dx, al
mov esi, 0xf4eac82
idiv byte [ebp + 0x52]
dec esi
psadbw mm7, qword [ebp + 0x52]
fadd st(0)
out 0x7f, al
out dx, eax
mov dl, byte [edx - 0x20077ee9]
fidivr dword [edi - 0x6d]
dec ebx
mov ecx, 0x6bba2e3f
cmp byte [edx + 0x45], 0x44
rol byte [edi + ebp*8 + 0x55a0667f], 1
rol byte [edx + 0x21], 0xae
daa
and ecx, dword [edi - 0x2339d12e]
and al, 0x13
adc eax, 0x6ab7cd2f
sar ebx, 1
movsb byte es:[edi], byte [esi]
lodsd eax, dword [esi]
jp 0xaffed6
imul edx, dword cs:[edx + ebp*4 + 0x2e], 0x9d02d9eb
test al, 0x2e
int3
xor edx, 0xef173e24
lea eax, [ecx - 0x59eaaefa]
mov dword [esp + ecx], ecx
or ecx, eax
lea edx, [ecx + edx + 0x327b80b3]
not edx
push ecx
btc ecx, 0x3b
add eax, dword [esp + 3]
xor ebx, edx
add eax, 0xad2b0e17
add ebp, edx
lea edx, [ecx + ecx*8 - 0x146e7ffa]
inc dword [esp + edx*2 - 0x14a2b275]
sar word [esp + eax - 0x53405fbd], cl
rdtsc
shr cl, cl
sar ecx, 0xc2
inc ecx
sbb edi, 8
lea ecx, [ecx + ecx*4 - 0x4c579cc6]
jmp 0xada264