Function at 0xd049a0
Capabilities:
Encode data using xor

Disassembly:
dec ebp
lea ebx, [ebx + edx*4 - 0x8865cc0]
inc cx
sub esp, 0x33416687
invalid
xor ecx, ebx
lea eax, [edx*4 - 0x4c593c1]
not ecx
sub ecx, 0x9f8ade3d
shr byte [esp + edx - 0xddde263], 0xe4
sal edx, 0x84
and dx, dx
bswap ecx
jp 0xd13d95
adc ecx, dword [eax]
ja 0xc535eb
ljmp 0x1ee2:0xf9c9fb5d
jae 0xc5363c
or bl, byte [esi + edx*4 - 0x6e]
sbb al, 0x82
mov esp, 0x8b92ed71
invalid
leave
in eax, 0xf4
mov bl, 0x25
pop edi
leave
in eax, 0x34
pop edx
enter 0x77ee, 0x4d
out 0x1d, al
aad 0
lds ebp, [ebx + 0xe]
xor esp, dword [eax + 0x6e]
mov ecx, edx
jbe 0xc5369b
sal dword [esi + 0x5c], 1
xchg esi, eax
xchg edx, eax
sub dh, ch
lodsb al, byte [esi]
jno 0xc53633
xchg edx, eax
dec edi
or byte [edx + ecx*2 - 0x595c92e3], 0xbc
dec edx
sbb eax, 0xa0ce9b6d
dec edx
sbb eax, 0x2236676d
stosb byte es:[edi], al
xchg ebx, eax
loopne 0xc53623
sahf
jmp 0xc53681
sbb al, 0x91
aad 0xb
mov esp, 0xd01d6c6a
and dword [eax + 0x24b85983], eax
xchg ebp, eax
wait
cld
and edi, esi
push ds
js 0xc536e9
xchg ebp, eax
insd dword es:[edi], dx
push cs
xchg ebp, eax
and bh, bh
invalid
mov ebx, 0xa37a9f50
sbb al, 0xa1
inc eax
or al, 0xbd
dec esi
adc byte [esi - 0x77c803d0], dh
cld
push edi
push 0xf916ee8f
ja 0xc536f4
mov byte [eax - 0x2b], cl
stosb byte es:[edi], al
sbb cl, byte [edx]
push ds
inc ecx
fisubr dword [edi]
and dh, al
ljmp 0xd18e
je 0xc955d8
neg ecx
xor word [esp + eax*2 - 0x17], 0xbd01
push edx
xor ebx, ecx
sal eax, 0xc1
mov dword [eax + ebp - 0x1a], ecx
adc word [esp + eax*2 - 0x2e], dx
xchg word [esp + eax - 0x14], ax
bts eax, edx
lea ebp, [ebp + eax*2 - 0x7a58]
xchg dx, ax
sar eax, 0x13
pop ecx
pop edx
pop eax
jp fcn.00d11dff
neg eax
inc ecx
push esp
rol eax, 1
inc ebp
movzx ecx, si
bswap eax
sar byte [esp + edx - 0x2219729], 0xa1
inc sp
xadd dword [esp + edx*2 - 0x4432e5f], esi
not bx
inc eax
push edx
inc ecx
movzx edi, cl
push ebx
dec esp
mov dword [esp + edx*2 - 0x4432e4a], eax
xor dword [esp + edx*8 - 0x110cb970], eax
inc ecx
shl esp, 0xff
dec ebp
or esp, esp
dec esp
mov eax, dword [esp + edx - 0x2219719]
dec esi
lea edx, [edx + edx - 0x2219735]
dec ecx
ror esi, 0xb3
push ebx
inc ebx
mov dword [esp + edx], eax
inc sp
xadd dword [esp + edx*2 - 0x4432e62], ecx
inc ecx
mov esi, dword [ebx + edx*8 - 0x110cb988]
inc ecx
sal esi, 1
jae 0xc4fa53
and eax, dword [ebx - 0x5c77cc9]
and eax, 0x9d7c20ba
add cl, dh
mov ss, word [eax]
jl 0xc8ccc8
add cl, ch
scasb al, byte es:[edi]
cmp al, 0x7c
popfd
add byte [0xeb7b54f8], ah
mov edx, 0xc43fa792
in eax, 0xfe
mov bl, 0x5f
and eax, dword [eax + ebx*4]
push edi
stosb byte es:[edi], al
mov gs, word [0xf72b4edd]
leave
scasb al, byte es:[edi]
and al, 0x14
push ebx
push esp
fidivr word [edi]
pop ebx
loope 0xc8cd8b
lodsd eax, dword [esi]
push edx
fsub qword [ebx - 0x10ba9fa1]
xlatb
push cs
arpl word [eax + 0x7c54afc4], bx
pop edi
js 0xc8cdc9
int1
mov eax, dword [0x10f94b82]
adc dword [ebp + 0x1572e4b6], ebx
or dword [esi], ebp
cmp eax, 0xa65d3781
ljmp 0x1bbb
aad 0x98
mov edx, dword [ebx - 0x2de4628]
xor ecx, dword [ecx - 0x486d6459]
adc dword [ebx], esi
mov ah, al
xchg edx, eax
dec esp
imul ecx, dword [edi], 0x3c6d10b1
adc dword [ebx - 0x4f], esp
adc byte [ebp + 0x48], ch
adc eax, 0x6d10b17b
sub al, 0xdd
fldenv [edi + 0x3b456693]
aad 0x70
retf 0xa916
fmul dword [eax + 0x66]
adc ecx, eax
xchg dx, ax
neg ecx
mov dword [esp + edx - 0xddd9e28], eax
lea ecx, [ecx + edx*2 - 0x5880319]
ror dx, 0xec
add word [esp + edx*2 - 0x1bbbc511], dx
sar al, 0xe3
rol ecx, 3
ror al, 0x22
mul al
dec dword [esp + edx - 0xddde289]
xor ebx, ecx
add edi, ecx
mov eax, dword [ebp + edx*4 - 0x37778a24]
mov ecx, dword [esp + edx - 0xddde289]
shr cl, 0x61
mov cl, byte [ebp + edx*4 - 0x37778a20]
or edx, edx
add dl, byte [esp + edx*2 - 0x1bbbc510]
shl eax, cl
mov dword [ebp + edx*2 - 0x1bbbc4d2], eax
push edx
rol word [esp + edx - 0xddde265], 0x4f
adc dword [esp + edx - 0xddde26a], edx
mov ecx, dword [esi + edx*2 - 0x1bbbc4dc]
lea esi, [edx + esi - 0xddde272]
ja 0xc53597
mov edx, 0x2219731
push edx
inc ecx
mov eax, dword [ebx + edx*2 - 0x4432e62]
inc esp
mov esp, edx
dec ebp
lea ebx, [ebx + edx - 0x221972d]
inc ecx
xor eax, eax
inc bp
xor esp, esp
sub word [esp + edx - 0x221972c], 0xf43c
dec edx
lea ebx, [edx + 0x241ea202]
lea eax, [eax + edx*2 - 0x47ea36e8]
xor eax, 0x82b2dc34
inc esp
movsx esi, word [esp + edx*4 - 0x8865cc1]
jmp 0xc8cca7
shr eax, 0x3a
neg word [esp + eax - 0xc]
xor ecx, 0xf2002fa1
inc word [esp + eax - 0xb]
jne 0xc760c2