Function at 0x51d3a0
Capabilities:
Encode data using xor

Disassembly:
mov edi, dword [edi + ecx*4]
push 0x7045b844
cmp al, 0xda
cmc
test edi, edi
pushfd
push edi
push dword [esp]
lea esp, [esp + 0x24]
je 0x5897e5
js 0x5c6863
stc
cmp cl, al
cmp dh, dl
add eax, edi
pushal
bt ax, dx
mov byte [esp + 0xc], ah
cmp eax, edx
jmp 0x589e52
pop ss
sbb ecx, dword [eax + 0x6f]
cmp al, 0x16
out 0x7d, eax
push 0x30e3c950
fisttp qword [ebx]
test cl, bh
and dword [esp - 0x3db69190], ebp
fcom dword [edx]
cmp ch, bh
fcmove st(0), st(0)
sub ah, byte [ebx - 0x43]
pop ds
push ss
call dword [ebp + 0x42]
xor esp, edi
fcmovbe st(0), st(3)
sub eax, 0x7b4613cc
adc al, cl
call 0xd98e5f89
sbb eax, 0x65d74fd3
and eax, 0x85e881c7
push esi
push es
add dl, dh
test al, 0xa2
call fcn.00590633
test al, 0xa2
lodsb al, byte [esi]
les ebx, [esi + ebx + 0xb]
add byte [edx], cl
scasd eax, dword es:[edi]
push ss
fcomp dword [edi]
idiv dl
bsf ecx, edi
or edx, dword [ebx + 0x59]
jp 0x52af69
mov esp, 0x180a00bc
dec edx
push esp
xchg esp, eax
mov dl, 0x9c
and ah, byte [edi + 0x2e5d03c]
ror byte [edi], 1
push edx
mov dl, 0x7b
div byte [esi - 0x3c]
salc
cmp byte [ecx - 0x3b168eb2], dh
cwde
pop esi
push esi
xchg edx, edx
sbb dword [edi - 0x10], esi
and dword [ecx - 0x42], eax
adc al, 0xf8
mov bl, 0x72
imul edx, edi, 0x3426f2f2
and bh, byte [eax]
mov ebx, 0x117b34ef
inc ebx
mov esp, 0x27a5a969
lodsd eax, dword [esi]
xor dword [eax - 0x41], 0xe343675c
jns 0x52b048
jecxz 0x52b089
aaa
fld dword [ebp - 0x1e9038ff]
fbstp tbyte [ecx - 0x77]
iretd
push edi
pop ebp
jge 0x52afdb
lcall 0x1d17, 0x500de1af
adc al, 8
sbb esi, edx
stosb byte es:[edi], al
mov byte [0x73434ca6], al
cdq
popfd
ja 0x52b07d
scasb al, byte es:[edi]
loopne 0x52b0b7
inc ebx
push 0x16
jbe 0x52b0c6
imul ebp, edi, 0xffffffe3
cmp byte [ecx], dh
ja 0x52b00e
push ebx
mov byte [eax], al
lea ebx, [eax]
adc al, dl
sti
sub al, 0xc3
and dword [edx + 0x2be627ea], esp
test byte [edx], bh
push 0xc
jbe 0x52b02b
pop edx
jnp 0x52b07c
test dword [edi + 0x38], esp
inc eax
invalid
and al, 0x9b
wait
mov edi, 0x53bb2995
push 0x7bf395fa
call fcn.005ca738
stosd dword es:[edi], eax
test byte [ecx], 0
in al, dx
sbb ah, byte [esi - 0x2d]
loopne 0x52b0f9
rol eax, cl
lahf
xor edx, edx
stc
btr ax, 5
mov eax, edx
and al, 0x18
rcl al, 7
add edi, 1
shr al, 1
rcl al, cl
not al
mov al, byte [edi]
pushfd
pushal
jmp 0x58a053
push 0xffffffffffffffa3
lahf
fcmovnbe st(0), st(5)
loope 0x52b0df
push edi
pop edi
xchg ebx, eax
mov ebx, 0xfdf703bd
mov ebp, 0xd0301ee2
ficom dword es:[edx + 0xc]
pop ebx
fadd qword [eax]
stc
aam 0x7f
dec esp
or al, 0xc3
psraw mm0, qword ds:[eax]
fnstsw word [eax]
inc edx
cld
xchg byte [ecx + 0x2d3c592e], ah
into
idiv dword [ebp + ecx*8 - 0x4b76fd1b]
xchg esp, eax
mov bh, byte [ebp + 0x35]
cdq
xor dl, byte [eax + 0x12df1085]
xor byte [ecx - 0xf3cbc66], cl
push 0x123624c0
dec ecx
cmp al, dh
arpl word [edi], bx
pop ss
mov ecx, 0x19851746
inc esp
popal
popal
jb 0x52b181
pushal
pop ecx
inc edx
nop
push edx
in al, 0x1f
inc esp
out dx, al
std
popfd
ljmp 0x7851
pop eax
cmp esp, dword [ebx + 0x67]
and eax, 0x237b766e
push es
sti
mov ebp, 0xd9c7054b
aas
invalid
lea esp, [esp + 0x20]
jb 0x5897f1
pushal
jmp 0x595076
test al, al
pushfd
call fcn.005976b8
out dx, al
xchg byte [edx + 0xc10ced2], dl
push ds
insb byte es:[edi], dx
mov byte [0xd0eeeed2], al
xchg edx, eax
mov ebx, 0xfb9e81f7
cmpsd dword [esi], dword es:[edi]
pop ds
adc esi, dword [ebx + 0x2a]
stosd dword es:[edi], eax
pushfd
js 0x58a09e
jge 0x58a0bd
mov cl, 0xa0
ret
dec ecx
dec ebx
xor ebp, dword [ebx + edi]
outsb dx, byte [esi]
not edi
jecxz 0x58a0e5
cmpsb byte [esi], byte es:[edi]
dec ebp
invalid
arpl bx, bp
in eax, dx
bound ecx, qword [edx + 0xc3f098]
mov byte [0x19246d45], al
push cs
invalid
int1
push ebp
cmp al, 0xe4
pminsw mm2, qword [eax + 0x5b39be7b]
popal
bound eax, qword [ecx + 0xf3eb400]
adc eax, 0x73f331b9
cmp eax, 0x7beb5def
adc dword [ebp - 0x16dbc377], ebx
and eax, 0x1cffffe0
test al, 0xb0
invalid
mov al, 0xc6
aam 0x14
push ss
dec esi
inc edx
push esp
push 0xffffffffffffffb2
fcom st(6)
mov byte [0x4fa6d35a], al
add dword [esi - 0x47857279], 0x6c
pop ebx
inc edx
push edi
push 0xaad66945
inc ebp
stosd dword es:[edi], eax
mov cl, 0xff
ja 0x58a0ab
test byte [edi + edi*4 + 0x6f9186e8], 0x48
mov eax, dword [0x8afb80ea]
jecxz 0x58a157
push 0x43be45cc
popal
mov word [ebx + edi*8 - 0xd], ds
ret
invalid
cmc
cmp eax, dword [esp + 0x20]
jmp 0x52afa9
pushfd
call fcn.005c77fe
inc byte [0x6f2d3301]
stc
lahf
fsubr st(5)
jmp 0x5c686f