Function at 0x41789c
Capabilities:
Encode data using xor

Disassembly:
sbb ebx, ecx
retf 0x5c92
pop edi
sbb ebx, dword [ebx]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
or ebx, dword [edx]
xor byte [edi - 0x45], ch
pop ebp
invalid
invalid
jb 0x41780b
pop esp
or ebx, dword [edx]
xor byte [edi - 0x45], ch
pop ebp
sbb edi, dword [esi + 0x1b5c9872]
mov esi, 0x1b5c9872
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
sbb dl, byte [eax + 0x301a6b0f]
jae 0x417838
pop ebp
sbb esp, dword [eax + 0x1760a617]
fldenv [edx - 0x41e4a36e]
jbe 0x417825
pop esp
sbb esp, dword [eax + edx*4 + 0x1778a40f]
mov esp, 0x1b5c9872
sahf
adc ebx, dword [ebx]
sbb edx, dword [eax + 0xb901a29]
sbb dh, byte [eax]
outsd dx, dword [esi]
mov ebx, 0x72be1b5d
cwde
pop esp
invalid
sbb dl, byte [eax + 0x301a6b0f]
jae 0x417870
pop ebp
sbb esp, dword [eax + 0x1768a617]
loop 0x41791f
setbe byte [edx + 0x28a41b5c]
jp 0x417860
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sahf
adc ebx, dword [ebx]
nop
sub dword [edx], ebx
nop
or ebx, dword [edx]
invalid
outsd dx, dword [esi]
outsd dx, dword [esi]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
pop ebp
sbb esp, dword [eax + 0x1770a617]
movsb byte es:[edi], byte [esi]
cwde
shld dword [eax], esi, 0x7e
cwde
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
xor byte [edi - 0x45], ch
pop ebp
sbb edi, dword [esi + 0x1b5c9872]
sbb dl, byte [eax + 0x301a6b0f]
jae 0x4178dc
pop ebp
sbb esp, dword [eax + 0x1760a617]
movsb byte es:[edi], byte [esi]
nop
movsx esi, byte [esi - 0x68]
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
mov esi, 0x1b5c9872
sbb dl, byte [eax + 0x301a6b0f]
jae 0x41790f
pop ebp
sbb esp, dword [eax + 0x1768a617]
loop 0x4179be
jbe 0xa45cd5f6
sub byte [edx - 0x68], bh
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
mov esi, 0x1b5c9872
sbb dl, byte [eax + 0x301a6b0f]
jae 0x417947
pop ebp
sbb esp, dword [eax + 0x1770a617]
loop 0x4179f6
invalid
sbb edi, dword [esi + 0x1b5c9872]
sbb dl, byte [eax + 0x301a6b0f]
jae 0x41797f
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
pop ebp
sbb esp, dword [eax + 0x1760a617]
loop 0x417a2e
movd mm2, dword [edx - 0x7141e4a4]
cwde
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
movsb byte es:[edi], byte [esi]
js 0x4179f2
mov esp, 0x1b5c9872
sahf
adc ebx, dword [ebx]
nop
sub dword [edx], ebx
nop
or ebx, dword [edx]
xor byte [edi - 0x45], ch
pop ebp
invalid
invalid
jb 0x417989
pop esp
mov esi, 0x1b5c9872
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
sbb dl, byte [eax + 0x301a6b0f]
imul ebx, dword [edx], 0x30
jae 0x4179b6
pop ebp
sbb esp, dword [eax + 0x1768a617]
loop 0x417a65
punpckldq mm2, dword [edx + 0x28a41b5c]
xchg edx, eax
cwde
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
mov esi, 0x1b5c9872
sbb dl, byte [eax + 0x301a6b0f]
imul ebx, dword [edx], 0x30
jae 0x4179ee
pop ebp
sbb esp, dword [eax + 0x1770a617]
cmpsb byte [esi], byte es:[edi]
jo 0x417a52
loop 0x417a9d
rsqrtps xmm2, xmmword [edx + 0x30a41b5c]
xchg esi, eax
cwde
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb edi, dword [esi + 0x1b5c9872]
sbb dl, byte [eax + 0x301a6b0f]
jae 0x417a26
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
pop ebp
sbb esp, dword [eax + 0x1760a617]
loop 0x417ad5
invalid
mov esi, 0x1b5c9872
sbb dl, byte [eax + 0x301a6b0f]
imul ebx, dword [edx], 0x30
jae 0x417a5d
pop ebp
sbb esp, dword [eax + 0x1768a617]
loop 0x417b0c
invalid
mov esi, 0x1b5c9872
sbb dl, byte [eax + 0x301a6b0f]
imul ebx, dword [edx], 0x30
jae 0x417a95
pop ebp
sbb esp, dword [eax + 0x1770a617]
loop 0x417b44
movlps xmm2, qword [ecx + 0x30a41b5c]
sahf
cwde
pop esp
sbb esp, dword [eax + edi*2 - 0x678d43e9]
pop esp
sbb ebx, dword [esi + 0x29901b13]
sbb dl, byte [eax + 0x6f301a0b]
mov ebx, 0x72be1b5d
cwde
pop esp
sbb ebx, dword [edx]
nop
sbb edi, dword [esi + 0x1b5c9872]
sbb dl, byte [eax + 0x301a6b0f]
jae 0x417acd
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
pop ebp
sbb esp, dword [eax + 0x1760a617]
pop ss
cmpsb byte [esi], byte es:[edi]
pushal
pop ss
loop 0x417b7c
clts
xchg ecx, eax
pop esp
sbb edi, dword [esi + 0x1b5c98a6]
movsb byte es:[edi], byte [esi]
js 0x417b40
mov esp, 0x1b5c9872
sahf
adc ebx, dword [ebx]
nop
sub dword [edx], ebx
nop
or ebx, dword [edx]
xor byte [edi - 0x45], ch
pop ebp
sbb edi, dword [esi + 0x1b5c9872]
sbb dl, byte [eax + 0x301a6b0f]
sbb ebx, dword [edx]
nop
packssdw mm3, qword [edx]
xor byte [ebx - 0x45], dh
imul ebx, dword [edx], 0x30
jae 0x417b04
pop ebp
sbb esp, dword [eax + 0x1768a617]
test al, 0xb0
push edi
sbb dword [edx], ebx
sbb al, byte [ebx + 0x1b1b1c47]
insd dword es:[edi], dx
movsb byte es:[edi], byte [esi]
sub byte [edx + 0x1a1b5c98], ah
xor byte [esi - 0x57e4a368], bl
mov al, byte [0x1a1a1443]
add dword [ebx], 0x1e
sbb ebx, dword [ebx]
imul ebp, dword [esi + 0x1a], 0x30
sbb byte [eax - 0x575ae4a4], 0x57
movsd dword es:[edi], dword [esi]
test al, 0x57
sbb dword [edx], ebx
sbb ch, byte [eax + 0x1a182bb0]
sbb ch, byte [esi + 0x6d]
mov dword [0x1a182ba8], eax
sbb bl, byte [edx]
invalid
cmpsb byte [esi], byte es:[edi]
cwde