Function at 0x40d57e
Capabilities:
Encode data using xor

Disassembly:
invalid
jb 0x40d58e
mov edi, 0x7315ed20
xor al, 0xe0
jge 0x40d5b4
and al, 0x54
out dx, al
dec eax
test bl, ch
or ah, byte [edi + esi*8 - 0x2e]
sub ebp, ebx
das
dec ebp
mov dword [ecx + 0x76], edx
jmp 0x40d59a
pop ebp
sub eax, 0xbeeb2b86
cwde
outsd dx, dword [esi]
jb 0x40d55b
inc ebp
dec ebx
sub eax, 0xdd317f12
out dx, al
std
cmp ebx, dword [ecx]
xor al, 0xb9
cli
cld
or esp, dword [esi + 0x72]
or ecx, dword [esp + ebp*4 + 0x12]
mov esp, 0x22f4969d
or dword [eax + 0xa], ecx
jb 0x40d5c2
dec esp
lodsb al, byte [esi]
adc bh, byte [ebp + ebx*4 + 0x922f496]
dec eax
or ah, byte [edx + 0x1858f381]
mov byte [0x1858f381], al
in eax, 0x66
xchg ecx, eax
mov esp, 0x7d9d7d0b
or dword [edi + 0x52], ecx
xchg edx, eax
xor dword [ebx], edi
scasd eax, dword es:[edi]
sub al, 0xbc
jb 0x40d5d2
push ds
mov edi, 0xf9be7f80
jns 0x40d661
mov ebp, 0xf9c8a366
jnp 0x40d58b
mov al, byte [0x170efb5c]
invalid
xor eax, dword gs:[edx + esi*2 + 0x24]
dec ebp
retf
daa
jo 0x40d6a9
xor ah, byte [ebp + ecx*2 + 0x4b]
jge 0x40d694
jg 0x40d635
mov esi, 0x74ccbbed
and dh, byte [ecx + 0x46]
xor ecx, dword [ebx]
cmp eax, 0x7a2f7e4b
ret
inc eax
xor byte ss:[bp + 0x73], al
xor byte [esi + 0x73], al
and eax, 0xeabdfb72
mov esp, 0x79287fc9
dec edi
cmp dword [esi + 0x38], ebp
dec ebp
jnp 0x40d6c6
jp 0x40d668
mov edx, 0x71c0b7e3
and eax, 0x693d7b72
aas
dec eax
jle 0x40d6d9
das
jns 0x40d67b
mov eax, 0x7accbaee
and esi, dword [ecx + eax*2 + 0x36]
pushal
inc eax
jno 0x40d6e1
daa
jno 0x40d683
mov cl, 0xe7
mov al, 0xc6
jae 0x40d6dd
jl 0x40d713
cmp dword [ebp + 0x35], ebp
inc eax
invalid
xor eax, 0x7c2bdd40
int 0xba
jecxz 0x40d686
pop ebx
jg 0x40d701
jnp 0x40d721
cmp ah, byte [edx + 0x37]
inc ebp
jb 0x40d6f4
sbb bh, byte [ebp - 0x36]
jge 0x40d6a6
mov esp, 0x7ec9bfe9
jmp 0x28bfa0a1
sub byte [esi + 0x4f], bh
cmp dword [edi + 0x39], ebp
dec esi
js 0x40d718
jnp 0x40d6b9
mov edx, 0x75c3baec
and esi, dword [edx + eax*2 + 0x34]
pushal
xor al, 0x60
and al, 0x32
salc
push ebx
salc
mov al, 0x15
xchg ecx, eax
sub ecx, dword [esi + 0x3fdb5edb]
pop esi
fstp xword [edi]
cwde
sbb eax, 0x5bde3a9f
fnstsw word [eax - 0x49e366e3]
rcl dword [esi - 0x2e], cl
aaa
xchg ecx, eax
adc al, 0x91
xor eax, 0xb3d652d7
push ss
xlatb
push edx
salc
mov bl, 0x16
nop
sub edi, dword [edi + 0x3dd85cd9]
cwde
sbb eax, 0x5bde3a9f
fidivr word [eax - 0x46e366e3]
pop esp
fdivr dword [0x3a9f1d98]
ficomp word [ebx - 0x22]
mov eax, 0xb91c991d
rcl dword [esi - 0x2d], cl
aaa
xchg edx, eax
pop ss
xchg ecx, eax
xor al, 0xd1
push ebp
sal byte [edx - 0x4eea6feb], 1
jmp 0x40d7a0
rcl byte [ebp - 0x30]
xor dl, byte [edi - 0x29cc69ee]
push ebx
aad 0xb1
adc al, 0xae
sbb edi, dword [esi + 0x3cda5fdb]
cdq
sbb eax, 0x5adf3a98
fidivr word [ebx - 0x48e364e2]
rcl dword [ebp - 0x30]
xor dl, byte [edi - 0x24f16aed]
pop esi
fidivr dword [edi - 0x43e660e6]
fstp dword [ecx + ebx*8 + 0x3d]
sahf
sbb dword [ebx - 0x2eab2ecc], edx
mov ah, 0x16
nop
sub edi, dword [esi + 0x3dd95cd9]
cwde
sbb ebx, dword [ebp - 0x2ca623c8]
mov bh, 0x10
xchg edx, eax
pop ss
mov dl, 0xd6
push eax
aad 0x30
stosd dword es:[edi], eax
lcall 0x15b5, 0xd059dc3f
scasb al, byte es:[edi]
push ds
mov ds, ebx
pop esi
fidivr dword [edi]
lcall 0xd85d, 0xd83c991c
mov ebp, 0xba1f9a18
fistp word [ebx - 0x22]
cmp byte [ebp - 0x23c663e8], bl
push esi
sal dword [edi - 0x4bee68ee], cl
rcl byte [ebp - 0x29]
push cs
stosd dword es:[edi], eax
pop ds
lcall 0xdff5, 0x1ff51cfa
xor eax, 0xf41e35df
push ds
hlt