Function at 0xd9a2b4
Capabilities:
Encode data using xor

Disassembly:
jmp 0xd9a2be
pushal
call 0xd9a2c4
pop ebp
sub ebp, 0x10
sub ebp, 0x99a2b4
jmp 0xd9a2da
mov eax, 0x99a2b4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c9
mov edx, 0x4bc966f7
xor byte [eax], dl
inc eax
dec ecx
jne 0xd9a2f1
jmp 0xd9a304
jl 0xd9a340
jl 0xd9a386
retf
div edi
neg dword [esi]
fcompi st(7)
div edi
mov byte [0x727caaa3], al
push edi
div edi
jl 0xd9a3b5
sti
div edi
idiv dword [edx + edi*2 - 0x19]
div edi
div dword [esi]
push ds
cmc
invalid
div edi
neg dword [edi - 0x8067841]
lahf
mov edi, 0x9ff7f987
sahf
lds edi, [edi + esi*8 - 0xa]
fcmovnbe st(0), st(3)
cmpsb byte [esi], byte es:[edi]
pop ds
jl 0xd9a378
neg bl
shl dword [esi - 0x8080de1], cl
div edi
neg dword [esi]
enter 0xfffffffffffff7f5, 0xfffffffffffffff7
mov byte [0x8208aaa3], al
sti
or byte [edx - 0x87ae001], al
div edi
jl 0xd9a3e9
push edi
div edi
les edi, [esi]
jbe 0xd9a3ac
jbe 0xd9a3ac
leave
hlt
add eax, 0xa3c1f4c9
les esp, [0xbff21f74]
clc
jae 0xd9a373
mov edi, 0xf7b973f8
div edi
clc
div edi
idiv eax
jg 0xd9a37f
div edi
not dword [ecx + 0x77ceeb7c]
or al, 0x1f
xchg ecx, eax
jl 0xd9a3b1
into
ja 0xd9a3d5
pop ds
clc
jae 0xd9a3ba
div edi
div dword [edi + 0xc]
push ds
clc
jae 0xd9a3bc
out 0xf7, al
div edi
xchg ecx, eax
jbe 0xd9a3e8
div edi
not dword [ecx - 0x2df7f38a]
or dl, dl
clc
jae 0xd9a3c3
div edi
div dword [esi + 0x8083b1e]
or byte [eax], cl
fidivr word [ebx + 0x3674f6ce]
or dh, bl
mov ebx, 0x3674f6ce
bnd je 0xd9a412
push ds
dec edx
or byte [eax], cl
or dh, bl
mov dword [0x3674f5ce], eax
int1
je 0xd9a41f
je 0xd9a424
push ds
pop esp
or byte [eax], cl
or byte [edx - 0x5d0804cb], ch
jl 0xd9a42d
sbb esp, dword [ecx - 0x7d835d60]
mov eax, dword [0x827ca2a0]
sti
jl 0xd9a3a4
dec dword [ebx]
inc ebp
ja 0xd9a49c
jge 0xd9a411
int1
jbe 0xd9a453
div bh
div edi
jg 0xd9a418
jbe 0xd9a45a
div bh
div edi
dec esp
cmc
div edi
div ebp
test dword [ebp + esi*8 - 9], 0x25f5f7f7
clc
jb 0xd9a42a
div edi
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0xd9a41e
mov cl, 0xe5
and eax, 0x82f74f8
or byte [eax], cl
cmc
and eax, 0xf7f272f8
div edi
jge 0xd9a431
clc
jb 0xd9a43d
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0xf79d74f8
div edi
clc
je 0xd9a3f3
div edi
test esp, 0xf825f537
jb 0xd9a452
les esi, [edi]
aaa
cmc
and eax, 0xf7f272f8
div edi
jge 0xd9a446
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0xf6dd74f8
div edi
cmc
clc
je 0xd9a448
div bh
div ebp
and eax, 0xf7f272f8
div edi
jge 0xd9a459
loope 0xd9a42a
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0xd9a474
in eax, 0x25
in al, 0x37
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0xd9a468
loope 0xd9a439
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0xd9a483
in eax, 0x25
in al, 0x37
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0xd9a477
mov cl, 0xe5
and eax, 0x25f537e4
clc
and eax, 0xf7f272f8
div edi
jge 0xd9a486
jb 0xd9a492
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x73f837e4
int1
in al, 0x37
clc
jae 0xd9a49e
div edi
idiv dword [eax + ebp - 0x24]
das
jge 0xd9a4aa
jg 0xd9a4a8
invalid
mov al, 0x4c
cmc
div edi
neg dword [esi]
xchg dword [eax], ecx
or byte [eax], cl
dec edi
div bh
div edi
cmc
and eax, 0xf7f272f8
div edi
jge 0xd9a4b3
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0xd9a4ce
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
fdiv qword [esp + ecx*2]
or byte [eax], cl
or ah, bl
xor al, 0x4c
div bh
div edi
clc
jb 0xd9a4b7
div edi
test dword [esi - 0xa], 0xf5f7f7f7
and eax, 0xf7f272f8
div edi
jge 0xd9a4e7
mov cl, 0xe5
and eax, 0x25f53ee4
clc
jb 0xd9a502
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
mov eax, dword [0x2dc007c]
add al, 0x53
push ebx
test eax, 0x808ff1e
or byte [edi + 0x7dff1736], bh
int1
mov cl, 0x7c
pop ds
dec esi
div bh
div edi
cmc
and eax, 0xf7f272f8
div edi
jge 0xd9a524
mov cl, 0xe5
and eax, 0x25f53ee4
clc
jb 0xd9a53f
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
jbe 0xd9a56c
test dword [edx + 0x2e76f7f7], 0x8080808
jbe 0xd9a578
div edx
div edi
jbe 0xd9a59d
div dword [esi + 0x2e]
or byte cs:[eax], cl
or byte [eax], cl
or byte [eax], cl
jbe 0xd9a584
ja 0xd9a56e
div edi
jbe 0xd9a5a1
div dword [esi + 0x26]
div edi
div edi
div edi
jbe 0xd9a590
ja 0xd9a57a
div edi
jbe 0xd9a5ad
div dword [esi + 0x26]
div edi
div edi
mov eax, dword [0x7dc007c]
add al, 0x53
test eax, 0x8096c1e
or byte [ebp - 0xf], bh
mov cl, 0xc4
aaa
aaa
pop ds
idiv al
jae 0xd9a590
div edi
div dword [esi + 0x26]
cmc
div edi
idiv dword [edi + ebx - 0x5f]
jl 0xd9a5b1
pop ds
mov eax, dword [0x7dc007c]
fadd qword [edi]
add al, 0x53
test eax, 0xf7f7f64c
neg dword [esi]
test byte [ecx], cl
or byte [eax], cl
stosb byte es:[edi], al
fmul qword [edx - 0x57cf8301]
test eax, 0x35aa127c
push edi
test al, 0xa9
push ds
div edi
imul dword [ecx + 0x18]
sbb ch, byte [edi + 0x4f]
inc ebx
push ebp
outsb dx, byte [esi]
div esp
xor dh, byte [esi + 0x37]
mov esp, 0x4ef7f7f4
cmp eax, 0x4df7f7f5
jnp 0xd9a623
xchg dword [ebp - 0x41481839], ebp
clc
jb 0xd9a5f8
or byte [eax], cl
or byte [esi], bl
or byte [eax], cl
push ds
div edi
mul dword [eax - 0x2f]
push eax
pop edx
cld
test esp, edi
invalid
push eax
mov dword [0x1f081fc], eax
jnp 0xd9a627
lock add dword [ebx - 4], edi
cmp esp, 0x7f02f082
cld
cmp dl, 0x81
jnp 0xd9a6b2
jnp 0xd9a6b4
je 0xd9a63a
invalid
cmp eax, 0x787b7b7b
lodsd eax, dword [esi]
cli
mov esp, 0x7b7b7b73
cli
xchg edx, eax
jae 0xd9a6c6
jnp 0xd9a6c8
cli
cmp byte [ebx + 0x7b], 0x7b
jnp 0xd9a6c8
push dword [edi + 0x1d848484]
invalid
jnp 0xd9a72f
jle 0xd9a6e7
jle 0xd9a734
jne 0xd9a63a
ret 0x4275
invalid
int1
jp 0xd9a729
invalid
invalid
invalid
invalid
pop ss
scasb al, byte es:[edi]
lodsb al, byte [esi]
cmc
aaa
int1
ja 0xd9a731
invalid