Function at 0x1039be78
Capabilities:
Encode data using xor

Disassembly:
inc edi
and dword [edi - 0x5e], edx
call 0x27531563
xor al, 0xeb
jmp 0x1039be82
add byte [eax + 3], al
add byte [eax], al
add byte [eax], al
invalid
jmp 0x1039be82
pushal
call 0x1039be88
pop ebp
sub ebp, 0x10
sub ebp, 0x39be78
mov al, byte [esp + 0x28]
cmp al, 1
je 0x1039beac
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x1039beb5
mov eax, 0x39be78
add eax, ebp
add eax, 0x63
mov ecx, 0x61c
mov edx, 0x63dad383
xor byte [eax], dl
inc eax
dec ecx
jne 0x1039becc
jmp 0x1039bedf
or byte [esi + 8], cl
or bh, byte [edi + 0x2838383]
inc edx
jnp 0x1039be6e
add dword [ebx - 0x7dc4b180], 0xffffff83
add dword [ebx - 0x7c7c54c7], 0xffffff83
je 0x1039bf5c
or byte [ebx + 8], 2
pop dword [ebx + 0x46808383]
ror dword [esi], cl
out 0xa7, eax
jg 0x1039bf15
xchg dword [edi - 0x7200e015], esp
sub ebx, 0x5f
ret 0x83a8
test al, 0x83
sub byte [edi - 0x652a1459], 0x94
mov bh, 0x6b
xchg byte [ebx - 0x54957c7d], al
add dword [ebx + 0x6f08d683], 8
push es
mov eax, dword [ebx + 0x16088383]
pop dword [ebx + 0xe088383]
xchg ebx, eax
add dword [ebx - 0x7e95bd7d], 0xffffffb2
add dword [eax], 0x8cca8741
push es
ja 0x1039bfc7
jl 0x1039bfc9
fiadd word [ecx - 0x71]
or dword [eax], 0xf
cmpsd dword [esi], dword es:[edi]
xchg dword [ebx + 0x1feb8383], eax
dec dword [ebp - 0x3da0147d]
test al, 0x83
sub byte [edi - 0x5818f159], 0x7f
or cl, byte [edi - 0x7c799459]
add dword [ebx - 0x7c7e3796], 0xffffff83
salc
or byte [edi + 0x7c], ch
test byte [edi + 0x6b8bf67c], 0xfd
add dword [ebx - 0x74c1f77d], 0xffffff83
add dword [ebx - 0x3c208dfe], 0xffffffa1
imul eax, dword [edx], 0x72
ffreep st(3)
mov eax, dword [0x24ab06b]
jno 0x1039bf34
sub ebx, 0x5f
ret 0x83a8
salc
mov dword [0x997102f5], eax
salc
mov dword [0x51b0f5], eax
imul eax, dword [esi - 0x32f87335], 0xffffff83
add dword [ebx - 0x7c34f474], 0xffffff83
and ebp, 8
lahf
mov edx, 0x8c6b7803
pop es
cdq
add dword [ebx + 0x6a780383], 0xffffff8c
pop es
xchg edx, eax
add dword [ebx + 0x7802e583], 0x7c
cmpsb byte [esi], byte es:[edi]
mov word [edi], es
xchg esi, eax
add dword [ebx + 0x4f6ac283], 0x7c
jl 0x1039c059
stosb byte es:[edi], al
iretd
xchg ecx, eax
push ecx
mov word [eax], es
test eax, 0x81838382
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
or dword [ecx], 0xffffff95
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x73bc6faf]
pop es
test dword [ebx + 0x5c088383], eax
test al, 0x5b
or dword [eax + 0x38c4840b], eax
add dword [ebx - 0xc957c7d], 0x3b7c7c7c
add byte [ebx + 0x51818383], 0x8c
push es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx + 0x5d018c51]
jl 0x1039c158
jl 0x1039c086
inc eax
cmp byte [edx - 0x737c7c7d], al
push es
mov bh, 0x83
add dword [ebx - 0x7c7c7dc6], 0xffffff83
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
lds edx, [ecx - 0x7eb56faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
add byte [ebx + 0x68c8383], 0xb7
add dword [ebx - 0x7c7dc57d], 0xffffff83
add dword [ecx - 0x79f973af], 0xffffff83
add dword [ebx - 0x6e3a6af7], 0x51
nop
dec edx
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
lds edx, [ecx + 0x5d018c51]
jl 0x1039c18c
jl 0x1039c0e7
or byte [eax + ebp*4 + 0x76], dh
jo 0x1039c13f
invalid
add dword [ebx + 0x68c5181], 0xffffff86
add dword [ebx - 0x3a6af67d], 0xffffff91
push ecx
nop
dec edx
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx + 0x5d018c51]
jl 0x1039c1c9
jl 0x1039c151
jnp 0x1039c0d4
inc byte [ebx + 0x7c5a0283]
jl 0x1039c1d5
jl 0x1039c1d6
jl 0x1039c15d
add bh, byte [ebx - 0x7d]
jnp 0x1039c0e0
xchg byte [ebx + 0x7c5a0283], al
jl 0x1039c1e1
jl 0x1039c169
jnp 0x1039c16c
add dword [ebx - 0x7cadfd7d], 0xffffff83
add dword [ebx - 0x7cfc84fe], 0xffffff83
add dword [edx], 0x52
add dword [ebx + 0x8d58383], 0x74
test al, 0x73
jo 0x1039c1ac
add dl, byte [edx - 0x7d]
add dword [ebx + 0x37b0283], 0xffffff83
add dword [ebx - 0x7c7cadfe], 0xffffff83
adc ebp, 8
je 0x1039c12a
jae 0x1039c1f4
daa
invalid
test ebp, eax
mov al, 0x4a
inc ebx
imul eax, dword [edx - 0x7c66f874], 0xffffff83
add dword [edx], 0x52
add dword [ebx + 0x6b088383], 0xa87408d5
jae 0x1039c217
daa
fnstsw word [eax]
add byte [ebx - 0xf957c7d], 0x7d
jl 0x1039c22f
add dword [ebx + 0x7c7df06a], 0x7c
fisubr word [eax + 0x44088bfe]
invalid
push 0xffffffffffffff87
add dword [ebx + 0x1010f983], 0xffffffe7
cmp edi, ebx
cmp eax, 0x468083ba
add al, byte [ebx + 3]
add byte [ebx - 0x7e83c57d], 0x83
mov edx, 0x2468083
inc ebx
add eax, dword [eax + 0x7c3a8383]
add dword [eax + 0x3430246], 0xffffff80
add dword [ebx - 0x7c7e83c6], 0xffffff83
cmp dword [ebx - 0x4c897860], ecx
xchg ebx, eax
add dword [ebx - 0x5f74c67d], 0x93b37687
cmp dword [ecx], 0xffffff8b
mov al, byte [0x93b37687]
ret
xchg dword [ebx - 0x39137c7d], eax
dec esi
or dword [esi*2 - 0x3ff83f4], ecx
mov bh, 0xc
jl 0x1039c206
aaa
mov esp, 0x8b8b8b2b
mov byte [ebp + 6], dh
aad 0x8b
sbb eax, 0x1db7fb00
add byte [edi], cl
mov ebx, 0x8b8b8bbf
mov al, byte [0x710c53]
int1
btc dword [edi - 0x5f747475], edi
push ebx
or al, 0x71
add cl, dh
mov ecx, dword [ecx + esi*2]
add ah, al
invalid
test byte [edi], cl
int 0x8b
mov ecx, dword [ebx + 0x4c0a5d88]
or dword [ebx + 0x620a8b8b], 0xffffff83
or ah, byte [edx - 0x7d]
mov ecx, dword [ebx - 0x748df575]
mov ecx, dword [ebx + 0x5b0f848b]
je 0x1039c2c2
je 0x1039c23d
add byte [edx + ecx*2 + 0x6b088763], cl
test byte [edx], cl
jae 0x1039c1e3
mov ecx, dword [ebx - 0x79f17b75]
mov ecx, dword [ebx - 0x73ff1275]
or ch, byte [ebx + 0x74]
test byte [ebx - 0x75b67775], cl
xchg ebx, eax
ret 0x8c2
xor eax, 0x3a3af1be
cmp ch, byte [ebp - 0x52c9bd4f]
cmp esp, edi
mov bh, 0x5e
push ds
invalid