Function at 0x4d973a
Capabilities:
Encode data using xor

Disassembly:
push esi
sub ebx, dword [edi + esi + 0x5c]
xchg edi, edx
xlatb
lea eax, [edi + 0x37623763]
bound edi, qword [eax]
bound ebx, qword [edx + 0x31]
pop esp
aaa
cmp byte [eax], bh
aaa
bound edi, qword [eax]
aaa
cmp byte [ebx + 0x3e], bl
cmp eax, 0xd7d73862
xlatb
xlatb
xlatb
xlatb
xlatb
mov bl, 0x87
bound esi, qword [ecx]
pop esp
xor dword [esi + 0x5c], edx
push esi
pop esp
pop esp
sub ebx, dword [ecx + esi + 0x38]
pop esp
xlatb
xlatb
xlatb
xchg dword [edx + 0x37], esp
pop esp
aaa
aaa
xor bl, byte [ebx + 0x37]
pop esp
xor dh, byte [edi]
pop esp
xor dword [ecx + esi + 0x31], ebx
push ebp
cmp byte [edx + 0x37], bl
bound esp, qword [edx - 0x79]
mov byte [edi + 0x5c628787], al
aaa
cmp byte [ecx], dh
pop esp
aaa
push esi
xor dword [ecx], esi
push esi
pop esp
pop esp
sub esi, dword [ecx]
pop esp
cmp byte [ecx], dh
pop esp
pop esp
aaa
aaa
pop esp
xor dword [esp + ebx*2 + 0x5c], ebx
push esi
push esi
xor dword [esi + edx*2 + 0x31], ebx
xor dword [edx + esi + 0x37], ebx
pop esp
xchg edi, edx
salc
cmp byte [edi], dh
aaa
pop esp
pop esp
xor bl, byte [esp + ebx*2 + 0x56]
pop esp
push esi
xor dword [ebx], ebp
xor bl, byte [ebx + ebp + 0x2b]
pop esp
pop esp
lodsb al, byte [esi]
salc
arpl word [edx + 0x5c], sp
aaa
cmp byte [esi], bh
aaa
lodsb al, byte [esi]
xlatb
mov byte [edi - 0x534d7879], al
xlatb
xlatb
xlatb
xlatb
xlatb
xlatb
bound edi, qword [0x5c385b38]
xor dword [ecx], esi
push esi
pop esp
pop esp
push esi
xor dword [ecx], esi
push esi
xor dword [ecx], esi
push esi
xor dword [ebx], ebp
xor dword [ebx], ebp
xor dword [ecx], esi
pop esp
pop esp
pop esp
aaa
aaa
pop esp
pop esp
pop esp
aaa
xor bl, byte [esp + ebx*2 + 0x31]
pop esp
pop esp
mov bl, 0xd7
lodsb al, byte [esi]
bound edi, qword [esi]
aaa
cmp byte ds:[edx + 0x5c], ah
pop esp
xor dword [ecx], esi
pop esp
arpl di, dx
xlatb
xlatb
xlatb
bound edi, qword [0x56383738]
xor dword [esi + edx*2 + 0x31], ebx
xor bl, byte [esi + edx*2 + 0x37]
push esi
pop esp
pop esp
xor dword [esi + 0x5c], edx
sub esi, dword [ecx]
xor dword [ecx], esi
push esi
pop esp
pop esp
xor dword [ecx + esi + 0x55], ebx
cmp byte [esi + 0x31], dl
pop esp
push esi
xor dword [ecx + esi + 0x31], ebx
pop ebx
push esi
pop esp
pop esp
pop esp
pop esp
xor dword [ecx], esi
xor dword [ecx], esi
pop esp
xor dword [esp + ebx*2 + 0x5c], ebx
aaa
pop esp
pop esp
pop esp
xor dword [esp + ebx*2 + 0x5c], ebx
pop esp
xor dword [eax], edi
xor ah, byte [edx + 0x5c]
pop esp
pop esp
pop esp
aaa
pop esp
bound ebx, qword [esp + ebx*2 + 0x5c]
xchg dword [esi + 0x31375b32], eax
bound esp, qword [ebx + 0x62]
cmp byte [ebx + ebp*4 - 0x79], bl
sub dword [ebx], 0xb3b2d7b2
xlatb
xlatb
mov dl, 0xac
pop esp
lodsb al, byte [esi]
pop esp
sub esi, dword [ecx]
push es
sub ebp, dword [ebx]
sub ebp, dword [ebx]
xor dword [ebx], ebp
xor dword [ecx], esi
push esi
push edi
add byte [ecx - 0x53537ed5], 0xac
lodsb al, byte [esi]
lodsb al, byte [esi]
adc dword [esi - 0x29], 0xac818756
sub eax, dword [edi - 0x7e7ea9d5]
sub byte [ebx], 0xac
sub eax, dword [ecx + 0x2bd731ac]
add dword [ecx + 0x50005655], 0x815532ac
pop esp
mov cl, 0x2b
xchg dword [ecx], esi
xchg dword [ecx], esi
xchg dword [edi + eax*4 + 0x2b], ebx
xlatb
mov dl, 0xb2
xor bl, byte [ecx + esi + 0x31]
xor dword [ecx], esi
xor dword [ecx + 0x5c3d8638], eax
cmp eax, 0x8d8d3762
lea ecx, [ebp + 0x628d3762]
bound eax, qword [edi - 0x72727273]
sub esi, dword [ecx]
xor dword [ebx], ebp
xor dword [esi + edx*2 + 0x31], ebx
pop ebp
sub ecx, dword [0x5631312b]
push esi
or al, 0x56
xor dword [ebx], ebp
xor dword [ecx + esi + 0x38], ebx
xchg edi, edx
xlatb
mov byte [edx - 0x4e], ah
mov dl, 0x5c
aaa
pop esp
cmp byte [edx + 0x38], ah
invalid