Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
inc ecx
jp 0x40f242
sub ch, al
aas
lds ax, [edx - 0x3b]
inc ebx
ret
cmp dword [edi], 0x79797876
jns 0x40f1c5
aas
sahf
dec ebp
sub eax, 0xc5bd3aba
pop ds
bound eax, qword [ecx + 0x7978763f]
jns 0x40f28b
mov dl, 0x79
jp 0x40f290
jp 0x40f27a
pop ds
pop ebp
jp 0x40f296
mov ebp, 0x7ae5b262
jp 0x40f286
bound esi, qword [edx + 0x637a7ae5]
push eax
js 0x40f29f
jns 0x40f237
lds esp, [esi + 0xb]
or eax, 0xfd463fc5
mov edx, 0x763fc346
push ds
lds edx, [edi + 0x7a]
jp 0x40f2b5
push edi
jp 0x40f2b4
jp 0x40f2b6
jp 0x40f202
lds edi, [ebp + 0x1e]
jge 0x40f25d
fnstsw word [edx + 0x7a]
jp 0x40f2be
lds edi, [edi]
inc edx
lds edx, [edi]
inc esi
invalid
lds ebx, [0x159a7976]
cmp dword [edx + eax*2 - 0x3eeced86], 0x7e
pop esi
jns 0x40f1f8
lcall 0xd0b, 0xb66c50f
invalid
adc byte [ecx], dl
push ds
lds ebp, [edi]
jp 0x40f2e5
jp 0x40f2e7
ret
out dx, eax
inc esi
jns 0x40f26d
jb 0x40f2f9
out dx, eax
inc edx
invalid
jp 0x40f24d
aas
inc esi
lds edi, [edx]
jle 0x40f28b
cmp bh, byte [esi - 3]
lcall 0x3bc3, 0x4607c577
jle 0x40f2b5
lds eax, [edi]
inc esi
ret
push ds
lds esi, [edi]
jp 0x40f315
jp 0x40f317
lds edx, [edi]
jbe 0x40f264
xor eax, 0x7a57c31e
jp 0x40f322
jp 0x40f2c3
sbb byte [0x7a42bc83], dl
invalid
inc edx
jp 0x40f2c0
lds esp, [esi - 3]
std
inc dx
inc edx
or eax, 0xc3761110
jbe 0x40f27e
aas
jbe 0x40f2eb
mov edx, 0x790a0a0a
or cl, byte [edx]
or bh, byte [ecx - 0x11]
or cl, byte [edx]
jns 0x40f2b3
out dx, eax
jbe 0x40f33f
out dx, eax
dec esi
jns 0x40f2b9
dec edx
jns 0x40f2bc
inc esi
jns 0x40f2bf
inc edx
bound edi, qword [eax]
int1
jp 0x40f350
std
mov esi, 0x723fc35a
sbb dword [eax], ebx
adc eax, 0xc5723fc5
jb 0x40f2f6
sbb byte [0xc5723fc5], dl
lahf
pop ss
mov ebp, 0xeec57610
jbe 0x40f2ae
out dx, al
pop esi
inc esi
lds ecx, [eax]
inc edx
sub eax, 0x6b186288
jns 0x40f36f
bound ebx, qword [eax]
imul edi, dword [ecx + 0x79], 0xffffffe4
in al, 0x7a
jp 0x40f309
adc byte [ecx - 0x10], bh
jns 0x40f2eb
dec esi
jns 0x40f2ee
inc esi
in al, 0x7a
jns 0x40f2f1
pop esi
pop esi
jns 0x40f2f7
dec edx
jns 0x40f2f8
out dx, al
pop esi
pop esi
bound edi, qword [ebp - 0xf]
int1
jp 0x40f38b
std
mov esi, 0xfbd185a
sbb byte [ebp - 0x2993af1], bh
mov ebp, 0xfd66c50f
lds esp, [esi - 3]
xor cl, byte [0x5d42f7fb]
jnp 0x40f39d
jp 0x40f39e
jp 0x40f314
out dx, eax
dec esp
mov dl, 0xb9
insd dword es:[edi], dx
cmp bh, byte [edx - 0x3b]
pop es
inc esi
ret
insd dword es:[edi], dx
cmp bh, byte [edx - 0x25]
jb 0x40f2db
cmp al, 0x7a
mov dword [edi], 0xc3bb2d92
aas
lcall 0x9e3f, 0xc3523fc5
lds edi, [edi]
inc esi
lds edi, [edi]
push edx
ret
ret
outsb dx, byte [esi]
jp 0x40f36a
pop ds
jb 0x40f3ea
jp 0x40f36e
std
pop ds
jbe 0x40f3ee
ret
jp 0x40f30e
aas
cmp byte [ebx + 0x7a], 0x7a
jp 0x40f359
aas
inc edx
ret
aas
mov ah, byte [edx + 0x7a]
sub al, 0x7a
jp 0x40f36a
cli
cli
jp 0x40f423
jp 0x40f36e
aas
mov es, edi
aas
xchg byte [edx], cl
lds edi, [edi]
inc edx
jns 0x40f3e0
jns 0x40f3c7
mov ss, word [ebx]
adc edi, ebp
pop ds
cmp byte [edx - 3], 0xf7
jbe 0x40f43d
out dx, al
push ecx
push ds
lds edx, [edi + 0x7a]
jp 0x40f445
push edi
jp 0x40f444
jp 0x40f446
jp 0x40f392
lds edi, [ebp - 0x3b]
jge 0x40f394
pop ss
xchg edx, eax
ret
fnstsw word [edx + 0x7a]
jp 0x40f45f
lds edi, [edi]
adc byte [0xc50fbd83], 0x66
mov ebp, 0xb66c50f
or eax, 0x463fc576
or ecx, dword [0x463fc576]
lds eax, [edx]
inc edx
sub eax, 0xf624607
push 0x79
jns 0x40f3c5
aas
inc edx
lds edi, [edx]
jle 0x40f403
cmp bh, byte [esi - 3]
lcall 0x463f, 0xc54beee0
inc esi
cmp dword [edx], 0x7a7a7b5e
jp 0x40f442
jp 0x40f48e
sub eax, 0xe6653aba
in al, 0xe4
mov edx, 0x65e6653a
out 0x65, al
in al, 0xe4
jnp 0x40f3e3
aas
inc esi
jns 0x40f40c
push edx
lds edi, [edi]
inc esi
jns 0x40f412
dec esi
lds edi, [edi]
inc esi
jns 0x40f418
inc esi
in al, 0x7a
jns 0x40f422
dec edx
lds edi, [edi]
inc esi
jns 0x40f423
dec edx
jns 0x40f42b
inc edx
bound ecx, qword [edi + ebp*8 - 0x41028586]
out dx, eax
jp 0x40f4bc
std
mov esi, 0x463fc55a
pop edx
lds edi, [edi]
aas
inc esi
std
pop esi
jp 0x40f43c
inc ebp
jns 0x40f43f
inc edx
jns 0x40f442
inc esi
bound edi, qword [edi + 0x78]
jns 0x40f4d2
in al, 0x7a
in al, 0x7a
in al, 0x7a
in al, 0x7a
in al, 0x7a
invalid
adc ebp, eax
test dword [edx - 0x3b], 0xf1c54a01
inc esi
ret
xor eax, 0x7ff84202
std
js 0x40f53d
out dx, eax
inc ebx
jns 0x40f4cf
inc esi
lds edx, [edi]
inc edx
ret
std
test dword [esi + 0x7a], 0x3fc584f7
jp 0x40f4cb
test ch, al
aas
lds edi, [edi]
dec esi
add bl, al
sub al, ch
aas
push edx
ret
lds eax, [eax + 0x7d4ebae5]
aas
jbe 0x40f510
sbb byte [0x3ec5bd83], dl
pop esi
inc edx
adc ch, al
out dx, al
pop esi
inc edx
ret
jp 0x40f4d5
add byte [esi + 0x62], bh
lds ebp, [edx]
jp 0x40f593
ret
mov ebp, 0x7a2af662
jp 0x40f4ee
sub bh, byte [edx + 0x7a]
invalid
cli
sar byte [edx + 0x7a], cl
jp 0x40f594
inc ebp
lds eax, [edx + 0x35]
push es
pop esi
jle 0x40f525
inc ebx
lds edi, [edx]
jle 0x40f53b
invalid
mov edx, 0xbd3a6bef
out dx, eax
imul edi, dword [edx], 0xffffffbd
sub eax, 0x6210bdba
adc al, 0x2a
jp 0x40f5c4
adc byte [edx + 0x14], ah
sub bh, byte [edx + 0x7a]
vdivss xmm0, xmm2, dword [edx + 0x35]
stosb byte es:[edi], al
sar byte [edx + 0x7a], cl
jp 0x40f544
dec edx
bound eax, qword [ebx]
sub bh, byte [edx + 0x7a]
lds ecx, [eax]
jle 0x40f522
ret 0x7ad2
ret
std
push dx
invalid
jp 0x40f640
jp 0x40f58b
aas
invalid
ret
pushal
mov ecx, 0x2319c
mov dh, byte [ecx + 0x400fff]
xor dh, 0xee
xor dh, 0x8e
sub dh, 0x1a
mov byte [ecx + 0x400fff], dh
loop 0x4241a1
popal
jmp 0x40f21d