Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
cmp eax, 0x6c6c42dd
aas
cwde
imul ebp, dword [ebx + 0x6b], 0xe458316
adc al, byte [ebx - 0x128c7b0a]
test byte [edi - 0xa], bh
xor al, 0x83
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
xor dword [edx + 0x34], 0xffffffb3
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
xor esi, 0x7c
and dword [esi], 0xffffff84
add dword [esi + 0x65], 0xffffff83
xor ah, byte [ebp + 0x6b]
sub eax, 0x7cf1ff22
insb byte es:[edi], dx
sbb al, 0x1e
jnp 0x40f2cf
mov ah, 0x6b
sub eax, 0xe458316
push cs
adc bl, byte [eax]
sbb dh, byte [ebx + eax*4]
salc
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
jg 0x40f2c5
sti
neg byte [ebp + 0x7b]
push ecx
in al, dx
insb byte es:[edi], dx
inc eax
insb byte es:[edi], dx
imul edx, dword [esi - 0x7c], 0x6b
push esi
pop ebp
imul edx, dword [esi + 0x7c], 0x3d
pop esi
mov byte [0xf6836c6e], al
test byte [ebx + 0x2d7374ec], al
add dword [0x7f84], 0xffffffee
je 0x40f2cb
and esi, 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
and dword [esi], 0x65
jg 0x40f284
xor al, 0x7f
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
sub ch, byte [eax]
and bh, bh
int1
jl 0x40f31c
push ss
add dword [ebp + 0x73], 0x45
inc ebp
jae 0x40f2fa
jl 0x40f2c9
sbb byte [edx], bl
jg 0x40f2b2
shr ch, cl
or al, 0xc
or al, 0x6b
push esi
imul edx, dword gs:[esi - 0x6c], 0x6b
imul edx, dword [esi - 0x6c], 0x6b
push esi
mov word [ebx + 0x56], gs
imul edx, dword [esi - 0x7c], 0x6b
test byte [ebx + 0x56], ch
push esi
jl 0x40f30f
cmp eax, 0x6c6c5ae8
call 0x73ad5f31
cmc
pop edx
insb byte es:[edi], dx
insb byte es:[edi], dx
jae 0x40f2cd
lodsb al, byte [esi]
jg 0x40f2d1
pop ebp
sub ch, byte [eax]
and al, byte [ebx + 0x37835df6]
sbb byte es:[ebp - 0x7d], ah
push esp
mov ah, 0x84
or dword [eax], 0x7c
ror byte [ecx], cl
cmp eax, 0x6b6b4f28
inc eax
insb byte es:[edi], dx
sbb byte [ebx + 0x58], ch
pop eax
xchg esp, eax
imul ebx, dword [eax - 0x7c], 0x40
insb byte es:[edi], dx
imul edx, dword [esp + esi*4 - 0x4c], 0x6b
pop eax
mov word [ebx + 0x54], gs
mov ah, 0xb4
cmp eax, 0x6c6c5a72
imul edx, dword [esp + esi*4 - 0x4c], 0x3d
jb 0x40f369
insb byte es:[edi], dx
insb byte es:[edi], dx
jae 0x40f308
lodsb al, byte [esi]
sub bl, dh
push ss
add dword [ebp + 0x73], 0x45
fcom qword [edx]
outsd dx, dword [esi]
jl 0x40f2d3
adc ch, byte [edi + 0x66]
jl 0x40f2d3
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
push esi
nop
fucomp st(3)
push ebx
in al, dx
insb byte es:[edi], dx
add dword [esi], 0xffffff84
jg 0x40f39e
shr ch, cl
in al, dx
aas
int 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
jae 0x40f370
sbb eax, 0x25f6fb6c
inc ebx
push ebx
in al, dx
insb byte es:[edi], dx
scasd eax, dword es:[edi]
pop ebp
and esi, eax
insb byte es:[edi], dx
xchg dword [esi], eax
sbb eax, 0xf67fefd2
sub eax, 0x7f9cf683
div byte [0x7f84f683]
idiv byte [0x7fa4f683]
mul byte [edi + edi*2 - 0x97cba0a]
test byte [ebp - 0x7d], 0xf6
lodsb al, byte [esi]
jg 0x40f35d
dec ebp
jae 0x40f3a0
push ebp
push ebp
insb byte es:[edi], dx
jae 0x40f3a4
pop ebp
insb byte es:[edi], dx
jae 0x40f3a8
insb byte es:[edi], dx
jg 0x40f3ac
push ebp
jg 0x40f3bf
inc esi
pop ebp
xor al, 0xaf
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
jg 0x40f378
sbb eax, 0x341df687
mov bl, 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
sti
idiv ch
std
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
xor esi, 0x7c
jg 0x40f38e
add eax, 0x7f8cf683
test byte [0x6cd06c3d], 0x6c
or eax, 0x6cd06c3d
insb byte es:[edi], dx
shr byte [esp + ebp*2 - 0x7d], 1
insd dword es:[edi], dx
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
sub dword [ebp + 0x6d], 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
jg 0x40f3a2
adc eax, 0xc05f687
xor esi, 0x7c
imul ecx, esp, 0x6b
push ss
adc eax, 0x36731e1e
std
insb byte es:[edi], dx
jae 0x40f427
insb byte es:[edi], dx
push esp
lcall 0x6c6c, 0x6ca68334
insb byte es:[edi], dx
xor dword [edx - 0x7d], 0x26
sbb eax, 0x7f34727f
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
jle 0x40f360
neg byte [0x6c6cb334]
insb byte es:[edi], dx
insb byte es:[edi], dx
xor esi, 0xfffffffd
and bh, bh
push ss
add dword [ebp + 0xe], 0x12
xor esi, 0xffffff84
cmp esp, 0x7c
rol byte [esi], cl
test byte [0x6b6b4d16], bh
xor esi, 0x7c
sub esp, 0x74
jae 0x40f434
cmp byte [esi + ecx*4 - 0x7d], dl
test byte [ebx + edi*8 + 0x6c6eb4ec], 0x6c
insb byte es:[edi], dx
shr ch, cl
in al, dx
inc ebx
inc esp
inc ebx
inc eax
inc eax
outsb dx, byte [esi]
xor esi, 0xffffff84
imul ecx, dword [esp + ebx*4 - 0x7d], 0xfffffff6
test byte [ebx + 0x4c], ch
dec esp
xchg esp, eax
xor esi, 0xffffff84
imul ecx, dword [esp + eax*4 + 0x40], 0x6c
imul edx, dword [esi - 0x74], 0xffffff83
test byte [ebx + ebp*2 + 0x566b8c4c], 0x7c
cmp eax, 0x6c6c5611
xor esi, 0xffffff84
imul ecx, dword [esp + ecx*4 + 0x6b], 0x56
mov word [ebx + 0x56], gs
jl 0x40f47b
adc dword [esi + 0x6c], edx
insb byte es:[edi], dx
jae 0x40f439
lodsb al, byte [esi]
xor esi, 0xffffff84
jae 0x40f4a6
mov ah, 0x6c
push esi
sub byte [ebx + 0x56], 0x7c
imul edx, dword [esi - 0x7c], 0x3d
jbe 0x40f4c0
imul ebp, dword [ebx + 0x40], 0x6c
inc eax
insb byte es:[edi], dx
inc eax
insb byte es:[edi], dx
inc eax
insb byte es:[edi], dx
inc eax
insb byte es:[edi], dx
xchg esi, esi
or al, 0x3c
mov dl, 0x6e
insb byte es:[edi], dx
insb byte es:[edi], dx
cmp eax, 0x6b6b69b7
jae 0x40f468
movsb byte es:[edi], byte [esi]
xor esi, 0x65
and dword [esi], 0xffffff84
xor dword [edx], 0xffffffa4
xor ah, byte [ebx + eax*4 + 0x2d6bac42]
shr ch, cl
in al, dx
and bh, bh
push ss
movsb byte es:[edi], byte [esi]
add dword [edx - 0x54], 0x6b
sub eax, 0x22ecedd2
push ebx
push ss
add dword [ebp + 0xe], 0x12
sbb byte [edx], bl
and dword [esi + 0x7c], 0xffffff83
cli
mov word [ebx - 0x9807ba6], es
sub dword gs:[ecx], 0x43
invalid
jae 0x40f50a
imul edx, dword [esi + 0x76], 0x3d
jbe 0x40f4e2
mov dword [0x836c6c58], eax
push es
or byte gs:[ebx - 0x6b12bd07], al
pop eax
insb byte es:[edi], dx
insb byte es:[edi], dx
add dword [esi], 0x65
or byte [ebx - 0x6b12bd07], al
jb 0x40f4a3
add dword [esi], 0xffffff8c
fdivp st(4)
je 0x40f521
jbe 0x40f49f
jbe 0x40f49f
loop 0x40f4ba
cld
jl 0x40f528
jbe 0x40f535
imul ebp, dword [ebx + 0x56], 0x84066b7e
and dword [esi], 0x7c
jg 0x40f524
jl 0x40f543
test byte [esi + 1], ch
xor esi, 0xffffff94
clc
jg 0x40f4a7
xor esi, 0xffffff9c
jg 0x40f47c
loop 0x40f50c
test byte [edx + 0x74], bl
loop 0x40f53a
pop eax
jbe 0x40f527
sbb byte [eax + 0x6c], bl
pop eax
insb byte es:[edi], dx
insb byte es:[edi], dx
cmp ecx, 0x42
in eax, dx
xchg esp, eax
jb 0x40f4eb
sub ch, byte gs:[eax]
and bh, bh
xor esp, 0xffffffb4
jl 0x40f518
adc dword [esp + esi*4 + 0x7c], 0x7f
js 0x40f544
lahf
int3
insb byte es:[edi], dx
sub dword [ebp - 0x63], 0x6c
insd dword es:[edi], dx
popfd
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
jg 0x40f50b
je 0x40f552
or esp, 0x6c
insb byte es:[edi], dx
jg 0x40f4e8
popfd
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
cmp ecx, 0x28
cmp eax, 0x6c6ccc64
sub bl, dh
cmp eax, 0x6c6ccc64
int3
insb byte es:[edi], dx
sub dword [ebp - 0x63], 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
add byte [ebx - 0x4bfb1d84], 0x74
push esp
je 0x40f58b
jle 0x40f4bc
in al, dx
je 0x40f5b3
in eax, dx
push esi
dec edi
in al, dx
shr ch, cl
sbb byte [0x6c6ccc20], bh
sbb byte [0x6c6ccc20], bh
adc dword [esp + esi*4 + 0x7c], 0xffffffe2
int 0x9d
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
push esi
cmp ch, byte [esi + edi*8]
int3
or byte [edi + edi*2 - 4], dh
jg 0x40f589
je 0x40f5b7
push ss
add dword [ebp + 0x73], 0x45
pushfd
scasd eax, dword es:[edi]
pop ebp
and esi, eax
insb byte es:[edi], dx
jae 0x40f5d3
cmp eax, 0x3d06876c
shr bh, cl
add dword [esi], 0x7c
jg 0x40f59f
xchg dword [esi], eax
cmp eax, 0x683efd2
push es
jl 0x40f627
test byte [ebp - 0x7d], 0xf6
test byte [edi - 0xa], bh
dec ebp
xor esi, 0xffffff84
jg 0x40f5a5
push ebp
xor esi, 0xffffff94
in al, dx
sti
test byte [ebp + 0x39], 0x51
in al, dx
inc ebp
cmp dword [ecx - 0x14], edx
insb byte es:[edi], dx
jg 0x40f5c3
pop ebp
jg 0x40f5b6
mul byte [ebp + 0x34]
scasd eax, dword es:[edi]
xor al, 0xaf
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
jg 0x40f5bf
cmp eax, 0x343df687
mov bl, 0x6c
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
imul edx, dword [esi - 0x64], 0xe
imul edx, dword [esi - 0x74], 0x3d
iretd
insb byte es:[edi], dx
insb byte es:[edi], dx
xchg esp, esi
mov ah, 0x84
ret 0xb434