Function at 0x40b7b2
Capabilities:
Encode data using xor

Disassembly:
xchg esi, eax
movsd dword es:[edi], dword [esi]
lea esp, [esi - 0x7262655b]
movsb byte es:[edi], byte [esi]
mov dword [0x9a978d94], eax
popfd
xchg esi, eax
movsb byte es:[edi], byte [esi]
stosb byte es:[edi], al
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
xchg esi, eax
sahf
pop edi
xchg esp, eax
mov eax, dword [0x61646ba1]
pop dx
imul edx, dword [ecx + 0x77], 0xffffff92
xchg edx, eax
lcall 0xa0a5, 0x5195969d
push ecx
xchg esp, eax
mov al, byte [0x8c51aaa1]
lea ecx, [ebp + 0x6b748d70]
lea ecx, [eax - 0x5f6a6066]
test al, 0xa4
pop edi
mov al, byte [0x888d959d]
lcall 0x8da4, 0xa8a0959f
xchg esp, eax
mov al, byte [0x9a92a59f]
lea edx, [eax - 0x656d5a61]
lahf
xchg esi, eax
mov dword [0x96a48da4], eax
mov dword [0x96949aa7], eax
xchg ebp, eax
lea ecx, [eax - 0x5f6a6066]
test al, 0xa4
jne 0x40b61e
xchg edi, eax
xchg esi, eax
lahf
xchg ebp, eax
xchg esi, eax
mov dword [0x9da1a172], eax
lcall 0x9fa0, 0x9aa59294
js 0x40b641
xchg edx, eax
mov dword [0x9aa85f95], eax
sahf
mov ss, word [ecx + 0x5e]
outsd dx, dword [esi]
push ecx
mov word [ebp + 0x748d708d], cs
imul ecx, dword [ebp - 0x6a606578], 0xffffffa0
test al, 0xa4
lea edx, [eax - 0x656d5a61]
lahf
xchg esi, eax
mov dword [0x96a48da4], eax
xchg edx, eax
lcall 0xa48d, 0xa4a3969f
xchg esi, eax
mov dword [0x96949aa7], eax
xchg ebp, eax
lea ecx, [eax - 0x5f6a6066]
test al, 0xa4
jne 0x40b66a
xchg edi, eax
xchg esi, eax
lahf
xchg ebp, eax
xchg esi, eax
mov dword [0x9da1a172], eax
lcall 0x9fa0, 0x9aa59294
js 0x40b68d
xchg edx, eax
mov dword [0x9aa85f95], eax
sahf
mov cs, word [eax + ebx*4 + 0x616e969d]
xchg esi, eax
outsb dx, byte [esi]
popal
test eax, 0x61616161
popal
popal
arpl word [ecx - 0x72], sp
cmp esp, dword ds:[ebx + 0x61]
arpl word [edx + 0x5e], sp
popal
pop esi
bound esp, qword [esi + 0x51]
popal
imul esp, dword gs:[ebx + 0x61], 0x6b
push 0x5d
push ecx
jbe 0x40b6bb
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
popal
test eax, 0x69636169
popal
popal
xchg edi, eax
push ecx
lcall 0x99a4, 0xa681519f
jae 0x40b6ed
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]
imul ebp, dword [ebx - 0x7b], 0xffffff81
jle 0x40b7c1
imul esi, dword [ebp + ebx*4 - 0x6a], 0xffffff92
mov dword [0x92935951], eax
movsb byte es:[edi], byte [esi]
xchg esi, eax
lea esp, [ebx - 0x5a695b6a]
lea esp, [esi - 0x7262655b]
movsb byte es:[edi], byte [esi]
mov dword [0xa1a58d94], eax
sahf
pop edi
xchg esp, eax
mov eax, dword [0x64696ba1]
pop edx
imul edx, dword [ecx + 0x77], 0xffffff92
lcall 0xa0a5, 0x5195969d
push ecx
cwde
xchg esi, eax
movsd dword es:[edi], dword [esi]
push ecx
test dword [ecx - 0x696aae82], eax
cmpsd dword [esi], dword es:[edi]
lcall 0x979f, 0x9a519694
xchg edi, eax
mov al, byte [0x969d988c]
outsb dx, byte [esi]
popal
test eax, 0x61616161
popal
popal
popal
arpl word [esi + 0x61633b3e], cx
arpl word [edx + 0x5e], sp
pop esi
popal
pop esi
bound esp, qword [esi + 0x51]
popal
imul esp, dword gs:[ebx + 0x64], 0x6b
popal
pop ebp
pop ebp
push ecx
jbe 0x40b768
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
popal
test eax, 0x68616169
popal
popal
popal
push cx
lcall 0x99a4, 0xa681519f
jae 0x40b79a
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]
imul ebp, dword [ebx + 0x77], 0xffffff9a
popfd
xchg esi, eax
imul ebp, dword [ebx + 0x75], 0xffffff96
popfd
xchg esi, eax
movsd dword es:[edi], dword [esi]
xchg esi, eax
push ecx
pop ecx
xchg ebx, eax
xchg edx, eax
movsb byte es:[edi], byte [esi]
xchg esi, eax
lea esp, [ebx - 0x5a695b6a]
lea esp, [esi - 0x7262655b]
movsb byte es:[edi], byte [esi]
mov dword [0x9a978d94], eax
popfd
xchg esi, eax
movsb byte es:[edi], byte [esi]
stosb byte es:[edi], al
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
xchg esi, eax
sahf
pop edi
xchg esp, eax
mov eax, dword [0x63646ba1]
popal
pop edx
imul edx, dword [ecx + 0x77], 0xffffff92
lcall 0xa0a5, 0x5195969d
push ecx
xchg ebp, eax
xchg esi, eax
popfd
xchg esi, eax
movsd dword es:[edi], dword [esi]
xchg esi, eax
push ecx
mov word [ebp + 0x748d708d], cs
imul ecx, dword [ebp - 0x6a606578], 0xffffffa0
test al, 0xa4
pop edi
mov al, byte [0x888d959d]
lcall 0x8da4, 0xa8a0959f
mov byte [edx - 0x7b567b61], bl
lea edx, [edx + 0x6567959e]
nop
sahf
lcall 0x97a0, 0xa4a0a394
movsd dword es:[edi], dword [esi]
pop esi
test al, 0x9a
lahf
xchg ebp, eax
mov al, byte [0xa45ea4a8]
xchg esi, eax
mov dword [0x9a949aa7], eax
lahf
cwde
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
xchg edx, eax
xchg esp, eax
pushfd
nop
bound edx, qword fs:[ebx + 0x66696497]
xchg edx, eax
xchg ebp, eax
xchg esi, eax
nop
bound esp, qword [ecx + 0x5f]
popal
pop edi
bound ebp, qword [eax + 0x62]
pop edi
bound esp, qword [edx + 0x63]
popal
nop
lahf
mov al, byte [0x9490969f]
xchg esi, eax
xchg sp, ax
xchg edx, eax
xchg edi, eax
xchg esi, eax
push 0x68
bound esp, qword [ebx + 0x65]
xchg ebx, eax
xchg ebp, eax
lea edx, [ebp - 0x6a5e595d]
xchg edx, eax
movsd dword es:[edi], dword [esi]
xchg esi, eax
pop edi
xchg ebp, eax
popfd
popfd
mov cs, word [eax + ebx*4 + 0x616e969d]
test eax, 0x61616161
popal
popal
popal
invalid