Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
or al, 0xdc
mov esi, dword [esp + esi]
or eax, 0x1717163e
sub dword [ebx - 0x547c7af8], 0xf4b32871
sub byte [ebp - 0x546fe78f], ch
cmp dword [esp + esi], esi
xor al, 0x34
stosd dword es:[edi], eax
xor edx, dword [eax + 0x343434d3]
xor al, 0xab
jno 0x40f273
stosd dword es:[edi], eax
jns 0x40f272
stosd dword es:[edi], eax
mov dword [eax], ebx
stosd dword es:[edi], eax
xchg ebx, eax
sbb byte [edi], dl
adc al, 0x7b
in eax, dx
sub al, 0x34
jl 0x40f2d6
scasd eax, dword es:[edi]
xor byte [eax + 0x17], dl
adc al, 0x81
stosd dword es:[edi], eax
or byte [ebp + 0x7f7e8385], al
nop
stosd dword es:[edi], eax
popal
xor al, 0x34
xor al, 0x34
lodsd eax, dword [esi]
mov eax, dword [0x1c71ef18]
sbb al, 0xaf
scasd eax, dword es:[edi]
and dh, byte [esp + esi - 0x76]
xor al, 0x17
mov eax, dword [0x1ca11728]
pop ss
mov eax, dword [0x3b9d0c2c]
xor eax, 0x2871ab34
stosd dword es:[edi], eax
je 0x40f2bd
mov bl, 0x14
sbb dword [ebx + 0x75ad2869], ebp
xor byte [eax + 0x343459ab], dl
xor al, 0x34
stosd dword es:[edi], eax
xor al, 0x34
xor al, 0xab
jns 0x40f2b8
lodsd eax, dword [esi]
pop ebx
nop
lodsd eax, dword [esi]
cmp dword [esp + esi], esi
xor al, 0x34
ja 0x40f321
jnp 0x40f29a
sub al, 0x34
sub dword [ebx + 0x2c08b308], 0x187f7e83
jg 0x40f2d2
lodsd eax, dword [esi]
jno 0x40f2d5
arpl sp, si
test byte [esp + eax*4 + 0x1718a117], al
mov eax, dword [0x44a11740]
pop ss
mov eax, dword [0x2ca11728]
or al, 0x56
push esi
lahf
xor al, 0x34
xor al, 0xb3
invalid
mov bl, pe_nt_image_headers32
push esp
lodsd eax, dword [esi]
jno 0x40f2f8
ja 0x40f354
jnp 0x40f28b
jno 0x40f2fe
stosd dword es:[edi], eax
adc dword [ecx - 0xd], edi
jle 0x40f300
stosd dword es:[edi], eax
mov al, byte [0x66ab2850]
sub al, 0x63
out 0xc, al
jbe 0x40f319
pop ss
pop ss
mov dh, byte [esi + edi*2]
pop ss
jle 0x40f311
sahf
inc eax
pop ss
sahf
sub byte [edx + 0x50a01734], cl
push eax
pop ss
sahf
xor al, 0x17
mov al, byte [0x9e175050]
inc esp
pop ss
mov al, byte [0x330c5050]
lahf
xor al, 0x34
mov bl, pe_nt_image_headers32
push esp
jbe 0x40f309
sub dword [ebx + 0x5c08b308], 0x2c99b583
push ebx
mov bl, 8
pop esp
xor dword [ebp + 0x35532c99], 0x34
xor al, 0xa1
inc edx
xor eax, 0x42a13434
invalid
jno 0x40f366
stosd dword es:[edi], eax
jno 0x40f381
lodsd eax, dword [esi]
jno 0x40f368
stosd dword es:[edi], eax
jno 0x40f397
lodsd eax, dword [esi]
jno 0x40f36a
stosd dword es:[edi], eax
jno 0x40f3b9
lodsd eax, dword [esi]
jno 0x40f38c
mov bl, 0x91
and byte [ebx + esi*4], dh
xchg ecx, eax
sbb al, 0x34
mov bl, 0x91
sbb byte [ebp*4 - 0x7652df6f], dh
sbb al, 0x90
aad 0x34
xor al, 0x34
xor al, 0xad
jno 0x40f37f
test eax, 0xd390fc71
xor al, 0x34
xor al, 0x34
out dx, eax
jno 0x40f37b
xor eax, 0xab343434
jno 0x40f3c2
lodsd eax, dword [esi]
jno 0x40f381
stosd dword es:[edi], eax
jno 0x40f3e0
lodsd eax, dword [esi]
jno 0x40f3a3
or al, 0x34
bound esi, qword [esp + esi]
stosd dword es:[edi], eax
xor al, 0xab
mov ah, 0xb4
xor al, 0x34
xor al, 0xad
jno 0x40f3ad
test eax, 0xab84e871
jno 0x40f3e0
pop ss
pop ss
add dword [eax], 0x91b37d7d
jge 0x40f438
mov bl, 0x91
in al, dx
xor al, 0xb3
cdq
sbb byte [eax], dh
xor al, 0xa0
aas
nop
stosd dword es:[edi], eax
cmp dword [esp + esi], esi
xor al, 0x34
stosd dword es:[edi], eax
xor ebp, dword [ebx + 0x33adfc79]
nop
lodsd eax, dword [esi]
cmp dword [esp + esi], esi
xor al, 0x34
or ebp, dword [0x90fc71ab]
xor al, 0x34
xor al, 0xb
sub eax, 0x90fc71ab
sal dword [esp + esi], cl
xor al, 0x34
stosd dword es:[edi], eax
jno 0x40f3d4
jnp 0x40f3d7
sub dword [ebx + 0x18838508], 0xab2871ab
insb byte es:[edi], dx
sub al, 0x63
imul ebp, dword [eax], 0x1724810c
pop ss
stosd dword es:[edi], eax
jno 0x40f42e
stosd dword es:[edi], eax
je 0x40f435
mov bl, 0x14
mov fs, word [eax + 0x2871ab45]
out dx, eax
je 0x40f460
xor eax, 0x63343434
hlt
sub byte [edx + 0x44a11734], cl
stosd dword es:[edi], eax
jno 0x40f45f
pop ss
movsb byte es:[edi], byte [esi]
inc esp
pop ss
mov eax, dword [0xa1020c2c]
xor al, 0x34
mov bl, pe_nt_image_headers32
push esp
stosd dword es:[edi], eax
jno 0x40f470
mov bl, 0x9c
push eax
xor al, 0xa1
sub edx, dword [edi]
mov eax, dword [0x28a1172c]
or al, 0x31
push ss
pop ss
pop ss
mov dh, byte [edx + ecx*4]
xor al, 0x8a
xor al, 0x8a
mov dh, byte [edx + ecx*4]
xor al, 0x8a
xor al, 0xa9
jno 0x40f47e
test byte [ebx + edx*2 + 0xc343435], cl
rcl dword [esi]
pop ss
pop ss
mov bl, pe_nt_image_headers32
cmp byte [ebx + 0x79ab1871], ch
sub byte [ebx - 0x7454c76d], ch
push esp
pop ss
adc al, 0x63
hlt
mov edx, dword [edi + edx + 0x14]
arpl sp, si
je 0x40f501
in eax, dx
sub dword [ebx + 0x7e838508], 0x2c99ab7f
stosd dword es:[edi], eax
outsd dx, dword [esi]
inc esp
stosd dword es:[edi], eax
lahf
sub byte [ebp - 0x954e78f], ch
or ecx, dword [ecx - 0x4d]
push ss
pop ss
mov eax, dword [0x9ebb0c31]
xor al, 0x34
stosd dword es:[edi], eax
imul ebx, dword [eax], 0x8beeab66
hlt
mov al, byte [0x2ead2c50]
or al, 0xbd
xor al, 0x34
stosd dword es:[edi], eax
mov ah, 0xbc
xor al, 0x34
xor al, 0xad
outsb dx, byte [esi]
xor byte [ebx + ebp*4], cl
xor al, 0x34
lodsd eax, dword [esi]
in al, 0xbc
xor al, 0x34
xor al, 0xab
out dx, al
jbe 0x40f516
or al, 0x98
xor al, 0x34
stosd dword es:[edi], eax
mov ah, 0xbc
xor al, 0x34
xor al, 0xb
sub ebp, dword [ebx + 0x50685b2c]
xor byte [eax + 0x3074ab2d], ah
mov cl, 0xf4
mov eax, dword [0x63f37425]
hlt