Function at 0xd6896d
Capabilities:
Encode data using xor

Disassembly:
jae 0xda6099
mov eax, 0x48a84d84
movsx ecx, ax
rdtsc
lea ebp, [ebp + ecx*8 - 0x26c28]
dec cl
or cx, 0x9634
sbb ecx, ecx
mov dword [ebp + ecx + 4], eax
mov dword [ecx + ebp], edx
shl cl, 0x47
push ecx
jae 0x533ff3
adc edi, eax
sub cx, 0x4780
jle 0xd4517e
xor eax, ebx
inc eax
sub cl, dl
jns 0xd18df3
mov ecx, dword [edi]
mov eax, 0x51b97c0e
lea edi, [edi + eax - 0x51b97c0a]
lea edx, [eax + eax - 0x1d489a5b]
sub ax, 0xe4b0
ror ax, 0x41
xor ecx, ebx
ror edx, 0xee
lea ecx, [eax + ecx - 0x190360d]
setae al
btr edx, 0x29
lea edx, [edx - 0x7d636cdc]
neg ecx
push eax
pop eax
and dx, dx
not ecx
lea ecx, [ecx + edx - 0x5c7dd040]
push eax
ror ecx, 1
inc word [esp + eax - 0x51b94b01]
xor ebx, ecx
sal dword [esp + eax - 0x51b94b01], 0x63
adc ebp, ecx
imul eax
mov si, word [eax + esi - 0x1f6b9601]
lea ecx, [eax + edx*2 + 0x26bdc135]
pop eax
jb fcn.0060bde0
mov ecx, 0x71aea332
mov edx, dword [esi + ecx - 0x71aea332]
movzx eax, cx
sar ecx, cl
adc ax, 0x788a
mov ecx, dword [ecx + edx - 0x1c6b]
movzx edx, al
seto al
neg dl
mov dword [esi + edx - 0x43], ecx
movsx ecx, dx
mul dx
lea ebp, [eax + ebp - 0x1104]
mov eax, dword [eax + ebp - 0x1100]
sbb dl, dh
or edx, edx
dec ecx
xor eax, ebx
sal cl, cl
xadd cx, dx
bts edx, edx
lea eax, [edx + eax + 0x3b944518]
jae 0x4971e9
mov edx, dword [edi + ecx*8]
mov eax, ecx
lea edi, [edi + eax*8 + 4]
add byte [esp + eax*8 + 3], ch
call fcn.00eb56cc
call fcn.00eb17ba
lea esi, [esi + ecx*2 - 0x40c60004]
lea edx, [ecx*2 - 0x71fd3af0]
mov dword [esi + ecx*2 - 0x40c60000], eax
mov eax, 0x3338b600
push edx
pop eax
jle fcn.0052afe8
mov eax, 0xb7109f17
sal dx, cl
btc eax, 0x1b
push eax
mov word [esi], dx
xchg dword [esp + 8], eax
adc eax, 0x788027
jmp eax
and ecx, edx
not eax
add edx, edx
bt cx, cx
call fcn.005724ee
mov eax, dword [ebp]
mov edx, 0x85a5f6b8
lea ecx, [edx*4 + 0x6cb9a68b]
xchg edx, ecx
add ebp, 4
or dx, 0xc78a
sub cl, 0x82
xor eax, ebx
inc eax
bswap edx
btr edx, edx
rol eax, 3
sal edx, cl
call fcn.00d929ef
inc ebx
and esi, dword [eax + 0x25]
into
shl byte [eax], cl
in eax, 0x73
inc ebx
inc byte [edx - 0x257f24e3]
push 0x6ab3b00
pop es
dec esp
and al, 0x70
je 0xd18e97
pop esi
mov ebp, 0xef0f3994
add eax, 0xbfe0a9cd
inc edi
xlatb
xlatb
adc dword [ecx - 0x4d4d25aa], eax
inc edi
add al, 0x43
inc ebp
movsb byte es:[edi], byte [esi]
push 0x2b
sub byte [eax - 0x5af80ea1], 0x52
sbb edi, dword [ecx - 0xa22eaf5]
fistp dword [eax]
popal
cmp dword [ecx + 0x6e], eax
rcl dh, 1
add dl, byte [ecx]
les eax, [ecx]
aaa
invalid
test dword [ecx], esi
mov ch, 0xdb
dec edx
call 0x9d3eba12
or ebx, dword [si]
in eax, dx
scasd eax, dword es:[edi]
cmp eax, 0x22e6c4c4
loopne 0xd18ea8
invalid
push edx
salc
push ecx
js 0xd18e6a
add dl, byte [eax - 0x16df1a8c]
invalid
mov eax, dword [ebp + edx - 0x7486c9dc]
lea ebp, [ebp + edx - 0x7486c9d8]
and dl, ch
bswap edx
xor eax, ebx
xor eax, 0xec8bfc33
not eax
sar ecx, cl
lea eax, [eax + ecx*4 + 0x317a0c24]
btc edx, 0x26
sar cl, 0xa2
btr ecx, edx
neg eax
sal edx, 0xcd
xadd ecx, edx
inc dx
not eax
rol ecx, cl
cmova dx, cx
sal ecx, 0xee
xor ebx, eax
add cl, ch
jbe 0xcf50d8
xor al, 0x83
mov byte [0x5b717eba], bh
std
mov edx, 0x1fff50a7
push cs
or al, 0xbe
jmp 0x51a65195
mov dword [esp], 0x662a5138
call fcn.005e7aaf
mov eax, 0xfb929532
movsx ecx, ax
lea edx, [eax + eax*4 - 0x636b5ef0]
movzx ax, byte [ebp]
push edx
add ecx, dword [esp]
mov dl, byte [ebp + 2]
xor cx, cx
adc ebp, 2
and al, dl
rol cx, 0x28
not al
jae 0xd7935a
mov eax, 0x6000a10c
mov ecx, eax
mov eax, dword [ebp + ecx - 0x6000a10c]
lea ebp, [ebp + ecx - 0x6000a108]
ror cl, 0x63
xor eax, ebx
lea edx, [ecx*8 - 0x7ae371df]
dec ecx
neg dl
bswap eax
btc edx, ecx
xor eax, 0xcea59120
btc dx, cx
jb 0xda2d3b
sbb eax, 0xd0a78c9a
add edx, edx
xor ecx, edx
adc edx, ecx
ror eax, 1
dec ecx
xor ebx, eax
and dx, dx
jnp 0x4b061e
mov eax, 0xf88b0f25
movzx ecx, ax
lea edi, [edi + ecx*2 - 0x1e4e]
btr ecx, ecx
mov eax, dword [edi + ecx*2 - 0x1e0a]
xor eax, ebx
xor eax, 0x622c7030
lea edx, [ecx - 0x3ae5e2f4]
or dl, 0xbd
not eax
shr dx, cl
call fcn.00515403
jmp 0x4fbe50
mov word [ebp], ax
setb cl
xor word [esp + 1], cx
mov eax, ecx
mov eax, dword [edi]
lea edx, [ecx + ecx*2 + 0x7eb97c02]
lea edi, [edi + edx*4 - 0x4831f004]
xor eax, ebx
call fcn.00635fb0
mov ecx, 0x7e33ab9f
mov eax, dword [esi + ecx - 0x7e33ab9f]
mov edx, 0xc891651e
sub dx, 0x7a4
mov ecx, dword [ecx + esi - 0x7e33ab9b]
adc esi, 8
bswap edx
jmp 0xe95349
push ecx
add edi, eax
xor ecx, 0xd6bcae20
pop eax
pop ecx
pop eax
jmp edi
xor eax, 0x698fd411
xadd ecx, edx
adc cl, dl
bts dx, cx
bswap eax
add cl, dh
sar dl, 0xe3
rol eax, 3
xor ebx, eax
shr ecx, cl
not ecx
sar dl, 4
adc edi, eax
bswap ecx
btr edx, ecx
lea eax, [ecx + ecx*4 + 0x5231d00c]
add edx, edi
jmp edx
push edx
mov dword ss:[eax + edx - 0x7a5d91c8], ecx
btr edx, 0xaf
sub word [esp + edx - 0x7a5d11c7], dx
mov ecx, dword [ebp + edx - 0x7a5d11c8]
movzx eax, dl
or al, 0xb7
or edx, 0xc22b38ad
lea ebp, [ebp + eax - 0xfb]
add dx, ax
ja 0x54c22a
inc ecx
mov edi, 0x3b20079c
inc ebx
mov ebp, dword [ecx + edi - 0x3b20079c]
dec esi
lea esp, [edi*8 + 0x1815b7a4]
dec edi
lea ecx, [edi + ecx - 0x3b200798]
call fcn.00eaa840
mov edx, 0xe18ab834
movzx ecx, dl
mov edx, dword [edi + ecx - 0x34]
lea edi, [edi + ecx - 0x30]
sub ecx, ecx
movsx eax, cl
xor edx, ebx
not ecx
push eax
xor edx, 0xdb1e330a
push ecx
pop eax
add edx, ecx
ror edx, 2
sal cx, 7
lea edx, [edx + ecx - 0x968ac53]
add dword [esp], eax
add eax, dword [esp]
cwde
xor edx, 0xec34d889
call fcn.005dc3c9
not eax
rol cx, cl
neg eax
xadd edx, ecx
not eax
ror edx, 0xb1
neg dword [esp + ecx - 0x50bbf216]
dec eax
add dx, cx
xor ebx, eax
mov byte [esp + ecx - 0x50bbf213], dh
jmp 0xda146f