Function at 0xdc3840
Capabilities:
Encode data using xor

Disassembly:
jmp 0xdc384a
pushal
call 0xdc3850
pop ebp
sub ebp, 0x10
sub ebp, 0x9c3840
jmp 0xdc3866
mov eax, 0x9c3840
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b8
mov edx, 0xb948f56
xor byte [eax], dl
inc eax
dec ecx
jne 0xdc387d
jmp 0xdc3890
fstp qword [ebx + 0x566adfdd]
push esi
push esi
xlatb
xchg edi, eax
scasb al, byte es:[edi]
push esi
push esi
push esi
push ebp
wait
out dx, al
push eax
push esi
push esi
push esi
in al, dx
jle 0xdc38fe
push esi
push esi
mov eax, dword [0xdd9e55b4]
xlatb
pop edx
push esi
push esi
push esi
push ebp
xchg ebx, eax
push es
invalid
pop ecx
shl dword [edx + 0xba9a9a9], cl
xchg esp, eax
pop edx
push esi
fstp st(2)
jb 0xdc395e
push esi
push esi
push esi
adc ah, byte ds:[esi - 0x55c1a989]
adc dword [esi + edx*2], ebp
push edi
jp 0xdc398e
invalid
ficomp word [esi]
push esi
push esi
push esi
xor ch, bl
dec edx
outsd dx, dword [esi]
salc
lodsd eax, dword [esi]
mov esi, 0x564cd259
push esi
push esi
salc
lodsd eax, dword [esi]
mov edi, 0x5647d259
push esi
push esi
xor bh, dl
lodsd eax, dword [esi]
test eax, 0x43d25973
push esi
push esi
push esi
pop ss
mov edi, 0xa9a9a99a
jg 0xdc39a6
outsd dx, dword [esi]
push edi
aad 0x97
push ebx
aad 0xbe
push edx
mov edi, 0xa9a9a9eb
jg 0xdc399d
outsd dx, dword [esi]
push esp
aad 0x97
push eax
aad 0xbc
push edx
aad 0xbe
push ebx
mov edi, 0xa9a9a9fd
or edx, dword [edx + ebx*2 - 0x4522fcaa]
add byte [ecx], al
add ebx, ebp
and ebx, dword [edx - 0x23]
sub ebx, dword [esi - 0x56]
in al, 0xd6
fcom qword [eax - 0x29]
nop
push edi
push esi
push esi
push esi
ficom word [ecx - 0x29]
xchg ecx, eax
push edi
push esi
push esi
push esi
in eax, dx
push esp
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
mov gs, word [ecx - 0x7bab5657]
pop ecx
rcl dword [ebx + 0x56], cl
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
cmp al, 0x56
push esi
push esi
xchg esi, eax
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
jl 0xdc3a63
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
pop ecx
rcl byte [eax + 0x56], cl
push esi
push esi
fisttp qword [ecx + 0x55dc8e7d]
ficom word [ecx + 0x11]
in eax, dx
push esp
push esi
push esi
push esi
mov edi, 0xa9a9a926
out dx, al
push edi
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x6a825657], ch
in eax, dx
push edi
push esi
push esi
push esi
pop ecx
shl dword [edx + 0x56], cl
push esi
push esi
out dx, eax
push edi
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x61], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x22ff5657], ch
mov eax, dword [0xf2a5a37d]
or byte [edi - 0x565656a2], bh
push ds
xchg edi, eax
mov dh, 0x5e
fcom qword [eax + 0x10]
fnstsw word [esi + 0x565657ef]
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x61], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x51285657], ch
push esi
sub edx, dword [esi + 0x56]
xlatb
invalid