Function at 0x665ded
Capabilities:
Encode data using xor

Disassembly:
pop eax
sub ecx, ebp
push dword [esp]
jmp 0x6659b8
push ecx
jmp 0x665c47
mov ebp, dword [esp]
add esp, 4
add esp, 4
jmp 0x665ac1
sub edx, 1
sub edx, 0xf6e4ba9
push eax
push edx
pop eax
push eax
jmp 0x6659f1
xor dword [esp], 0x3f9f0dbc
pop ebx
xor ebx, 0x3f9f0dbc
mov eax, dword [esp]
add esp, 4
jmp 0x665c83
mov edx, 4
add esi, edx
pop edx
jmp 0x665af4
mov ebx, 0x5bf722fa
add ecx, ebx
pop ebx
add ecx, 0x535db497
jmp 0x665f87
pop esp
jmp 0x66614e
mov ebx, dword [esp]
add esp, 4
jmp 0x666217
mov edi, dword [esp]
add esp, 4
sub ecx, ebp
mov ebp, dword [esp]
jmp 0x665da0
xchg dword [esp], esi
pop esp
add ebx, 0x6f9f6fe6
push ebx
mov dword [esp], edx
mov edx, 0x33ef5d3a
add ebx, edx
mov edx, dword [esp]
add esp, 4
push eax
mov eax, 0x7eb7c8e6
sub eax, 0x4ac1d1cd
add ebx, eax
mov eax, dword [esp]
push eax
jmp 0x665fc2
mov dword [esp], eax
mov eax, 0x3bbf3860
jmp 0x665e0b
mov ecx, edi
jmp 0x665ef3
pop edx
jmp 0x665ccb
mov ecx, esi
pop esi
mov edi, dword [esp]
add esp, 4
jmp 0x665f47
sub esp, 4
jmp 0x665d4a
mov dword [esp], ebp
mov ebp, 0xd6453df4
mov ecx, ebp
pop ebp
push ebx
jmp 0x665a55
mov ebp, 0x7df224c1
push eax
mov eax, 0x3fbda3eb
shl eax, 2
xor eax, 0x20f27195
add ebp, eax
jmp 0x66592c
shr edi, 4
jmp 0x665ebd
add esp, 4
cmp ecx, 0xffff98a0
jne 0x666122
sti
push eax
sub esp, 4
mov dword [esp], esi
mov esi, 0x3f5d4d01
mov eax, esi
pop esi
push ebp
mov dword [esp], 0xc5af85c0
mov ebx, dword [esp]
push esi
jmp 0x665e4e
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x665ee6
not eax
add eax, 0xcab984d7
mov ebp, eax
mov eax, dword [esp]
add esp, 4
xor eax, ebp
mov ebp, dword [esp]
add esp, 4
add edi, eax
pop eax
jmp 0x665989
push esp
pop esi
add esi, 4
jmp 0x665fad
mov eax, 1
sub edi, eax
jmp 0x665f3c
mov dword [esp], ebx
sub esp, 4
mov dword [esp], edx
push 0x7f275713
pop edx
inc edx
jmp 0x6659df
add eax, 4
push ebx
mov ebx, 0x693f7ba0
dec ebx
jmp 0x665fe2
push eax
jmp 0x665e8b
not edi
xor edi, 0x7fe98bd6
jmp 0x665d98
mov ebp, ecx
pop ecx
jmp 0x665acc
add edi, 0xde09f208
sub ebp, edi
pop edi
add edx, ebp
pop ebp
add edx, 4
xchg dword [esp], edx
jmp 0x665a9a
mov eax, dword [esp]
add esp, 4
jmp 0x665f94
add ecx, 0x9fe1f293
or edx, ecx
pop ecx
and edx, 0x7ffb8f57
jmp 0x665f70
sub edx, 0xffffffff
xor edx, 0x4ce485c9
sub esp, 4
jmp 0x665e97
sub ecx, ebx
sub ecx, 0x535db497
jmp 0x66617d
push eax
mov eax, 0x7e7f6435
jmp 0x665f9f
push edx
mov dword [esp], ebp
push 0x31152258
jmp 0x665b8f
push edx
jmp 0x665a1f
mov eax, esp
jmp 0x665eac
sub ebx, 0x63e270f8
add ebx, 0x5697c75a
add ebx, 0xa40b2e03
add eax, ebx
pop ebx
xchg dword [esp], eax
pop esp
add ebx, eax
sub ebx, 0x33f5f719
sub ebx, 0x33ef5d3a
push ecx
mov ecx, 0x6f9f6fe6
sub ebx, ecx
pop ecx
pop eax
push 0xb453a51
mov dword [esp], eax
mov eax, 0x6fd87e72
mov edx, eax
mov eax, dword [esp]
add esp, 4
jmp 0x666079
and edx, 0x7e7745a3
sub edx, 0x52ffa8f6
xor edx, 0x7267337e
jmp 0x666090
xor edx, 0x17ed1363
xor edx, 0x7f6a3385
push ecx
push edx
mov dword [esp], edi
jmp 0x6660a6
push 0x5efd8d73
jmp 0x6660b0
push dword [esp]
pop edi
push edx
push esp
pop edx
push ebp
mov ebp, 0x7ff3254e
jmp 0x6660f4
shl ebp, 3
not ebp
add ebp, 0x6f3ffd7c
shl ebp, 2
add ebp, 0x5bb756b4
push edi
mov edi, 0x5cfc6401
add edi, 0x5f7e8ed4
and edi, 0x3eccb0f6
jmp 0x665f25
add edi, 0xffffffff
add edi, 0xffffffff
inc edi
push edx
mov edx, 0x20206fcd
xor edi, edx
pop edx
push esi
mov esi, edi
jmp 0x665c8f
push ebp
jmp 0x665d7e
inc ebx
dec ebp
cmp al, 0xc9
mov ss, word [0x14c6c9f0]
jp 0x666250
cmpsb byte [esi], byte es:[edi]
std
into
jecxz 0x666276
cmp byte [eax + edx*8 + 0x49], al
or eax, 0x6963dc1b
push edx
xor al, 0xbe
adc al, 0x68
sub al, 0xca
cmp byte [edi], bh
xor edx, ebx
dec esi
or dword [ecx], esi
retf 0xc038
imul ebp, ecx, 0xffffff97
xlatb
imul esp, dword [edx + 0x1586d1d7], 0x3b
cld
dec ecx
or eax, 0x1a71101b
adc eax, 0xd49fc3b
sbb edx, dword [eax]
jno 0x666273
ja 0x666223
mov ss, word [0xe6c670be]
push 0x3f38c92b
mov cl, 6
xor bh, byte [edi]
xor al, 0xca
mov ch, 0x7c
retf
cmc
mov dh, 0x64
adc cl, byte [ecx + 0x3a]
cmp eax, 0x40dadcc9
jnp 0x666247
add dword [ebx], ebx
lcall 0x38ca, 0x35024e79
sal byte [eax - 0x3a], 0x38
aas
xor al, 0x74
jg 0x6662cd
invalid
xor al, 0xca
cmp al, al
and eax, 0xb697522a
leave
popal
out dx, al
jp 0x666234
adc byte [esp + edx*8 - 0x31], dl
arpl word [ebp + 0x76c06112], di
mov bh, 0xe1
jecxz 0x6662ed
xor al, 0xca
fcompi st(7)
invalid
sbb esi, dword [eax]
cmp ecx, dword [0x3914291b]
aas
xor al, 0x41
push esi
mov ebp, 0x3f38c671
xor al, 0x49
jbe 0x66631e
xor al, 0xca
cmp byte [edx + 0x1baba648], bh
shl cl, 1
jne 0x66632d
stosd dword es:[edi], eax
sbb edx, eax
loope 0x666362
aas
xor al, 0xc7
push es
ja 0x66628b
loope 0x66632a
aas
xor al, 0xca
or eax, 0x14c6c87c
push 0x3f38c78d
jb 0x6662e8
sub eax, 0xb5c02780
lodsd eax, dword gs:[esi]
imul esp, esi, 0xffffffc0
xor ebp, esi
fist dword [edx - 0x23]
cmpsb byte [esi], byte es:[edi]
fidivr word [esi - 0x37193990]
jo 0x6662de
out 0xc8, al
xor byte [esi + 0xe35f080], ah
leave
dec dword [ecx + edi*8 + 0x41444125]
add eax, 0x38ca291b
xor eax, 0x8cffc90e
stc
and eax, 0x5414441
sbb ebp, dword [ecx]
retf 0x3f38
sub edx, ecx
cmp byte [edi], bh
aas
xor al, 8
sub byte [0x3d4dbf77], ch
xor eax, edi
cmp al, bh
clc
scasd eax, dword es:[edi]
push es
xor ch, ah
xor edx, dword [esi + 0x15]
cmp eax, edi
sahf
adc al, 0xc0
jo 0x66630e
cmp byte [edi], bh
xor al, 0x37
xor eax, 0x3541981b
sbb ebp, dword [ecx]
jns 0x66638e
aas
xor al, 9
dec esi
cmp ebp, esp
jae 0x6663d9
xchg edx, eax
jmp 0x666318
outsd dx, dword [esi]
xor byte [edx], dh
hlt
jne 0x666339
add edx, dword [eax - 0xa]
jp 0x666316
sbb esi, edi
adc ebp, dword [eax]
inc esp
mov al, byte [0x2dd4f9f6]
cmp bl, byte [ecx - 0x2b]
loope 0x66632d
aad 0xf3
loope 0x66632d
push edx
xor al, 0xc7
dec ebp
inc eax
xor al, 0xca
cmp byte [edx - 0x23], dl
cmpsb byte [esi], byte es:[edi]
loopne 0x6663a1
sub dword [eax + 0x49343f36], ecx
dec ebx
adc bh, byte [eax + 0xd]
or dword [edx + 0x13], ecx
or dword [eax + 0x48], ecx
mov cl, 0xd0
enter 0x23a7, 0x71
dec esi
mov eax, dword [0xc038ca2f]
outsd dx, dword [esi]
adc al, 0xb2
jb 0x6663ed
inc ecx
pop edi
lcall 0x14be, 0xc73f38ca
mov esi, 0xc37c670
sal byte [edx - 0x4c], 1
jnp 0x666414
retf 0x3f38
aas
invalid
jns 0x666467
mov al, 0x79
mov al, al
inc eax
xchg ecx, esp
pop edi
inc edi
xor al, 0xca
out 0xe7, al
xchg esp, eax
aad 0x3c
loop 0x666424
retf 0xe7e6
jne 0x666436
aas
xor al, 0x49
inc esp
mov ss, word [edx + 0x1080b7c7]
ret
xor bh, byte [edi]
xor al, 0x6e
jle 0x6663f3
movsd dword es:[edi], dword [esi]
dec esi
sub esi, ebp
leave
jecxz 0x6663d7
jle 0x666450
retf 0x3f38
cmp byte [edi], bh
sub dword [esi + 0x36], ebp
aas
xor al, 0xc9
push edi
sub dword [eax + 0x33], ecx
aas
xor al, 0x6b
push 0x2a
inc edx
cmp dword [edi], edi
sub al, byte [edx + 0x39]
aas
xor al, 8
jmp 0x6c7e87f
dec eax
cmp eax, 0x2babca34
rol byte [ebx + 0x75], 1
cmp al, 0xb1
add al, 0xf6
outsd dx, dword [esi]
and dl, ch
scasb al, byte es:[edi]
outsb dx, byte [esi]
xchg edi, eax
loope 0x666456
cmp eax, 0x4db5ca34
sar dword [edi - 8], 1
salc
sub dword [ecx + 0x41343f36], edx
adc eax, 0x14c6b11b
cmp esi, dword [edx + ecx*8]
cmp byte [edx - 0x23], dl
cmpsb byte [esi], byte es:[edi]
stosd dword es:[edi], eax
or edx, eax
outsd dx, dword [esi]
scasb al, byte es:[edi]
pop edx
mov dl, 0xff
xor dword [edi], edi
xor al, 0xca
mov ch, 0x7a
sub eax, 0xab3f38ca
mov ss, word [0xdfa6d0c6]
enter 0x430b, 0x4d
cmp al, 0xc9
mov dh, 0x14
out 0x22, eax
int 0xd6
sbb ebp, dword [ecx]
adc eax, 0x72343f34
jbe 0x666515
retf 0x4db5
sub ecx, dword [ecx]
dec ecx
cmp dh, byte [ecx + 0x6e4d1ed7]
invalid
movaps xmmword [0x6c343f37], xmm2
dec esi
inc eax
xor cl, dl
cmp al, al
jb 0x6664fa
adc esi, edx
mov bh, 0x70
jnp 0x6664bd
iretd
enter 0xffffffffffff86c0, 0x7c
arpl word [ecx], sp
mov edx, 0x965a4b49
mov edx, 0xfd2ac0f4
scasd eax, dword es:[edi]
push esi
cli
leave
inc esi
mov ebp, 0x56affd72
cli
push 0xca31a44e
cmp byte [edx + 0x2d], bh
cmpsb byte [esi], byte es:[edi]
aaa
inc esp
push es
mov ebp, 0x41d03bad
pop ecx
jmp 0x6664cc
out dx, al
ja 0x6664d4
ret 0x9a6