Function at 0x40c28d
Capabilities:
Encode data using xor

Disassembly:
xchg ebx, eax
xchg edx, eax
movsb byte es:[edi], byte [esi]
xchg esi, eax
lea esp, [ebx - 0x5a695b6a]
lea edx, [esi - 0x60656761]
xchg esi, eax
lea esp, [esp + edx*4 - 0x5c6d606a]
lcall 0x8d94, 0xa3a48da0
movsb byte es:[edi], byte [esi]
xchg esi, eax
lahf
movsb byte es:[edi], byte [esi]
xchg esi, eax
movsd dword es:[edi], dword [esi]
xchg edx, eax
mov dword [0xa0a59698], eax
movsb byte es:[edi], byte [esi]
pop edi
xchg esp, eax
mov eax, dword [0x62676ba1]
pop edx
mov eax, dword [0x5a62676b]
imul edx, dword [ecx + 0x75], 0xffffffa0
xchg esi, eax
movsb byte es:[edi], byte [esi]
push ecx
lahf
mov al, byte [0x9a9751a5]
lahf
xchg ebp, eax
push ecx
mov dword [0xa49a9896], eax
movsd dword es:[edi], dword [esi]
mov dword [0x969c51aa], eax
stosb byte es:[edi], al
push ecx
mov al, byte [0xa6815197]
movsb byte es:[edi], byte [esi]
cdq
jae 0x40c135
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov al, byte [0xa496839f]
xchg esi, eax
movsd dword es:[edi], dword [esi]
mov word [eax + 0x616e969d], ds
xchg esi, eax
outsb dx, byte [esi]
popal
test eax, 0x61616161
popal
popal
popal
arpl word [esi + 0x61633b3e], cx
arpl word [edx + 0x5e], sp
popal
pop esi
bound esp, qword [esi + 0x51]
popal
imul esp, dword gs:[edx + 0x62], 0x6b
arpl word [edx + 0x5d], bp
push ecx
jbe 0x40c164
mov dword [0x51a3a0a3], eax
push ecx
mov dword [0x5151a3a0], eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
mov word [edx + ebp*4 - 0x5b695c5c], fs
xchg esi, eax
movsd dword es:[edi], dword [esi]
pop edi
xchg esi, eax
test eax, 0x51518e96
pop ecx
mov byte [edx + 0x5a76839f], bl
mov byte [edx + 0x7a96839f], bl
movsb byte es:[edi], byte [esi]
jp 0x40c19b
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
xchg edx, eax
popfd
popfd
xchg esi, eax
xchg ebp, eax
sbb byte [edi - 0x5a5b557c], 0x96
sahf
adc dword [edx - 0x5a655a5d], 0x7a9fa09a
lahf
movsd dword es:[edi], dword [esi]
xchg esi, eax
mov dword [0x599d929f], eax
pop edx
push ecx
jp 0x40c1c0
cmpsd dword [esi], dword es:[edi]
xchg edx, eax
popfd
lcall 0x92a3, 0x92a15195
sahf
xchg esi, eax
movsd dword es:[edi], dword [esi]
xchg esi, eax
mov dword [0x633b3ea4], eax
popal
arpl word [edx + 0x5e], sp
popal
pop esi
bound esp, qword [esi + 0x51]
popal
imul esp, dword gs:[edx + 0x64], 0x6b
pop bp
push ecx
jbe 0x40c1ed
mov dword [0x5151a3a0], eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
je 0x40c1e4
jp 0x40c2b3
push ecx
push ecx
push ecx
popal
popal
popal
popal
imul edx, dword [edi + 0x59519297], 0x76515a77
mov dword [0x6ba3a0a3], eax
push ecx
and byte [edi - 0x6d625c6a], 0xa1
imul edx, dword [ecx - 0x7d], 0xffffff96
cwde
lcall 0xa051, 0xaaa3a5a4
cmpsd dword [esi], dword es:[edi]
xchg esi, eax
mov dword [0x96959aa3], eax
push ecx
xchg esp, eax
mov al, byte [0xa49a9d9d]
lcall 0xa6a0, 0x97519fa0
lahf
xchg ebp, eax
mov al, byte [0x51959fa6]
push ecx
cmpsb byte [esi], byte es:[edi]
lahf
xchg ebp, eax
xchg esi, eax
mov dword [0xaa969c51], eax
push ecx
lea eax, [ebx - 0x7b85878a]
test dword [ebx + 0x727e8d8a], eax
je 0x40c335
test byte [ebp + 0x7e8d8a83], al
jb 0x40c32f
jns 0x40c337
jp 0x40c33d
jg 0x40c335
jbe 0x40c24d
lea eax, [edx + ecx*4 + 0x7e768584]
test byte [edx + 0x7e768584], cl
lea esi, [esi - 0x5d]
mov dword [0x74a59f96], eax
mov al, byte [0xa0a3a59f]
popfd
test byte [esi - 0x5f8b725b], dl
lahf
movsd dword es:[edi], dword [esi]
mov dword [0x888d9da0], eax
jle 0x40c35e
lea esi, [edx - 0x5a]
movsd dword es:[edi], dword [esi]
mov al, byte [0x9898a09d]
cwde
xchg esi, eax
mov dword [0x779a888d], eax
lcall 0xa09a, 0xa4a49684
lahf
lea edx, [ecx - 0x69]
mov al, byte [0x92a751a3]
popfd
xchg esi, eax
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
lcall 0xa097, 0x518d9fa0
mov dword [0x9d92a751], eax
cmpsb byte [esi], byte es:[edi]
xchg esi, eax
push ecx
ja 0x40c2a3
popfd
xchg esi, eax
jg 0x40c29f
sahf
xchg esi, eax
push ecx
xchg edx, eax
movsd dword es:[edi], dword [esi]
push ecx
mov al, byte [0xa3a396a7]
lcall 0x5196, 0x9d939295
movsb byte es:[edi], byte [esi]
xchg esp, eax
mov al, byte [0x625196a1]
pop edi
cmp ecx, dword ds:[eax + ebx*4 + 0x616e969d]
test eax, 0x61616169
popal
popal
popal
invalid
arpl word [edx + 0x5e], sp
popal
pop esi
bound esp, qword [esi + 0x51]
popal
imul esp, dword gs:[edx + 0x64], 0x6b
pop bp
push ecx
jbe 0x40c2f5
mov dword [0x5151a3a0], eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
je 0x40c2ec
jp 0x40c3bb
push ecx
push ecx
push ecx
popal
popal
popal
popal
imul edx, dword [edi + 0x59519397], 0x51515a77
push ecx
push ecx
sbb byte [edi - 0x685fae6a], 0x51
movsd dword es:[edi], dword [esi]
cdq
xchg esi, eax
push ecx
xchg esp, eax
mov al, byte [0x9fa0a19e]
xchg esi, eax
lahf
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push ecx
movsb byte es:[edi], byte [esi]
xchg esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lcall 0x9a99, 0xa551989f
movsb byte es:[edi], byte [esi]
push ecx
cmpsd dword [esi], dword es:[edi]
xchg edx, eax
popfd
cmpsb byte [esi], byte es:[edi]
xchg esi, eax
push ecx
lcall 0xa394, 0x9a7e51a4
mov al, byte [0xa597a0a4]
pop esi
mov byte [edx - 0x575f6a61], bl
movsb byte es:[edi], byte [esi]
pop esi
sbb byte [edi - 0x5c5f8b6a], 0x96
xchg byte [edx - 0x7f], dh
pop esi
mov byte [ebp - 0x585b606e], bl
xchg esp, eax
pop ebp
push ecx
cmpsd dword [esi], dword es:[edi]
xchg esi, eax
mov dword [0x9fa09aa4], eax
push ecx
bound esp, qword [ecx + 0x5f]
popal
pop edi
bound ebp, qword [eax + 0x62]
pop edi
bound ebx, qword [ebp + 0x51]
xchg edx, eax
mov dword [0x92519994], eax
sahf
xchg ebp, eax
pop ebp
push ecx
lahf
mov al, byte [0x84a9849f]
pop ebp
push ecx
mov eax, dword [0xac51a59c]
popfd
imul ebp, dword [ecx + 0x51], 0xffffff93
imul esp, dword [edx - 0x6d], 0xffffff97
imul esp, dword fs:[esi + 0x67], 0x67649592
xchg esi, eax
scasb al, byte es:[edi]
cmp ecx, dword ds:[eax + ebx*4 + 0x616e969d]
test eax, 0x61616169
popal
popal
invalid