Function at 0x666677
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
add eax, 0x79eedd41
inc eax
or eax, 0x433f31c1
jmp 0x6661d8
sub esp, 4
mov dword [esp], esi
mov esi, 0x5def9a33
xor esi, 0x4221df38
sub edx, esi
pop esi
jmp 0x66613b
push ecx
mov ecx, 0x75def77f
neg ecx
shl ecx, 1
push ecx
inc dword [esp]
pop ecx
jmp 0x6663da
mov dword [esp], ecx
push esi
mov esi, 0x71a082d4
push esi
mov ecx, dword [esp]
add esp, 4
mov esi, dword [esp]
jmp 0x666251
inc edi
sub edi, 0xd4b61a88
mov edx, edi
jmp 0x665e49
dec ebx
add ebx, 0x3b53c3ec
mov esi, ebx
jmp 0x665f9c
and eax, esi
mov esi, dword [esp]
jmp 0x665fb7
mov eax, 0x777a6599
push eax
pop ebp
pop eax
push esi
mov esi, 0x3ff7eb59
xor esi, 0x5eb1098d
xor esi, 0x36e9a0a3
add ebp, 0x57fb1103
sub ebp, esi
push edi
mov edi, 0x57fb1103
sub ebp, edi
mov edi, dword [esp]
add esp, 4
pop esi
jmp 0x6662af
pop edi
jmp 0x665f27
mov dword [esp], eax
push esi
mov dword [esp], 0x7eefe886
pop eax
xor edi, eax
push dword [esp]
pop eax
jmp 0x6665ee
push ebx
mov ebx, 0x5f974f8c
shr ebx, 3
shr ebx, 2
xor ebx, 0x3bfeba17
xor ebx, 0x44dce6d6
add edx, ebx
pop ebx
mov ebp, dword [esp]
add esp, 4
jmp 0x665fbf
mov dword [esp], eax
push edi
jmp 0x666051
add edi, 0x8c54574
add esi, edi
jmp 0x6660be
pop edi
xor ebp, edi
jmp 0x665ee2
sub edi, 0x4e67d16a
sub edi, ecx
sub esp, 4
mov dword [esp], eax
mov eax, 0x4e67d16a
add edi, eax
pop eax
push dword [esp]
pop ecx
add esp, 4
push ebp
mov ebp, esp
add ebp, 4
jmp 0x665f70
pop eax
pop edx
jmp 0x66614f
pop edi
sub edx, 0x7ddee6bd
add edx, ebp
jmp 0x665e66
mov dword [esp], 0x3f8b53f0
jmp 0x665dd2
sub edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
mov dword [esp], esi
jmp 0x666305
push edx
push edi
push 0x3f8d309f
pop edi
inc edi
sub edi, 0xe90dc445
mov edx, edi
pop edi
jmp 0x6660fa
push edi
mov edi, 0x4dcb9851
not edi
shr edi, 1
neg edi
or edi, 0x7e9b1402
shr edi, 2
push ebp
mov ebp, 0x20288768
jmp 0x6661a1
mov eax, 0x2fe54172
add eax, 0x7377a000
inc eax
neg eax
neg eax
xor eax, 0x6cdf8df9
sub eax, 0xcf836c86
add edx, eax
pop eax
xchg dword [esp], edx
mov esp, dword [esp]
push eax
jmp 0x665ef0
sub ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x666479
pop edi
xor edi, esi
jmp 0x666322
push ebp
push edi
mov edi, 0x36ee694d
sub dword [esp + 4], edi
pop edi
mov ebx, dword [esp]
add esp, 4
push edx
jmp 0x666063
pop ebx
push ecx
mov dword [esp], edi
mov edi, 0x7defb924
add edi, 0x67fb628a
push edx
mov edx, 0x7fa1d571
jmp 0x666423
sub esp, 4
jmp 0x665d5e
add edx, 0x7db7f457
shl edx, 3
inc edx
jmp 0x665d80
sub ebx, 0x63762e44
jmp 0x66621a
add esp, 4
push ecx
mov dword [esp], 0x6fa6364b
neg dword [esp]
or dword [esp], 0x523f6d99
and dword [esp], 0x7bf2453a
shl dword [esp], 4
sub dword [esp], 0x7ff14844
xor dword [esp], 0x8a2db35a
mov dword [esp], esi
push edx
mov dword [esp], 0x182ba376
mov dword [esp], esp
add dword [esp], 4
pop esi
add esi, 4
add esi, 4
xchg dword [esp], esi
mov esp, dword [esp]
cmp ecx, 0xffff9164
jne 0x6661c7
sti
push ebp
mov dword [esp], esi
jmp 0x66620a
push edx
jmp 0x6665d8
mov edi, 0x75ef4d96
mov eax, 0xccef3eaf
sub eax, edi
pop edi
jmp 0x665f10
mov edx, 0x3fff3904
push ebp
push edi
mov edi, 0x3d7bab00
push edi
mov edi, 0x5c995e1a
sub edi, 0x1a14ebaa
mov ebp, edi
jmp 0x665ea5
mov ebx, dword [esp]
add esp, 4
jmp 0x66616b
mov dword [ebx], edi
push dword [esp]
pop ebx
add esp, 4
push 0x7b7ea9d0
mov dword [esp], esi
mov esi, 0x6b5c9f67
and esi, 0x75b78cf2
inc esi
jmp 0x6663c7
push edi
push ebx
push 0x7edea89f
jmp 0x6663e0
pop edi
jmp 0x665e06
mov dword [esp], esi
jmp 0x6665a0
sub esp, 4
jmp 0x66663f
add ebp, esi
pop esi
add ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
pop esp
jmp 0x666500
and ecx, edi
pop edi
push edx
mov edx, 0x11dfcf3a
jmp 0x6663b5
add eax, edx
pop edx
jmp 0x6663bd
sub ecx, 0x9a58b0d9
and edi, ecx
pop ecx
xor edi, 0x7fe25d27
or edi, 0x6fff68b6
add edi, 0xee9a72fd
add ebx, edi
pop edi
add ebx, eax
sub ebx, 0x5e9a5cf4
add ebx, 0x6c21457b
jmp 0x666090
xor ebp, eax
pop eax
jmp 0x665f84
push ecx
mov ecx, 0x7dd9f000
add ecx, 0xeb2a87ff
add edx, ecx
pop ecx
jmp 0x666447
push esi
mov esi, 0xfcf0d4c5
xor ecx, esi
pop esi
and esi, ecx
mov ecx, dword [esp]
add esp, 4
shl esi, 3
jmp 0x6660b2
add esp, 4
add esp, 4
jmp 0x666717
mov ebx, 0x1bdd772b
dec ebx
xor ebx, 0x73eed743
and ebx, 0x475ef081
add ebx, 0x36df018b
push edi
mov edi, 0xc829362e
add ebx, edi
pop edi
xor ecx, ebx
jmp 0x666346
xor edi, ebp
mov ebp, dword [esp]
jmp 0x666229
mov ebx, 0x3ea6d600
sub ecx, ebx
pop ebx
sub ecx, esi
push eax
mov eax, 0x3ea6d600
jmp 0x66660b
pop ecx
pop dword [esp]
pop esp
xor ecx, ecx
push dword [eax + ecx]
sub esp, 4
mov dword [esp], edx
jmp 0x66664e
shr eax, 5
sub eax, 0xcf8ac454
mov ecx, eax
mov eax, dword [esp]
add esp, 4
push 0x27283706
mov dword [esp], ebp
mov ebp, 0x797fc453
push eax
mov eax, 0x7ca7d817
push edx
jmp 0x6664c8
push edx
mov dword [esp], 0x7bd7b564
mov esi, dword [esp]
jmp 0x66636f
mov edx, dword [esp]
add esp, 4
push esi
jmp 0x6662e7
add esp, 4
and edx, edi
push dword [esp]
pop edi
push edx
mov edx, esp
add edx, 4
jmp 0x66662d
add esp, 4
add esi, 0x7ba90679
sub esi, ecx
sub esi, 0x7ba90679
push dword [esp]
mov ecx, dword [esp]
add esp, 4
add esp, 4
mov edx, esi
mov esi, dword [esp]
add esp, 4
push ecx
mov dword [esp], eax
push 0x77feec53
pop eax
push esi
push ebx
mov ebx, 0x7bd48963
push edi
push esi
mov esi, 0x7efd8963
mov edi, 0x106c021
xor edi, esi
pop esi
or ebx, edi
pop edi
not ebx
sub ebx, 0x7bec0b87
jmp 0x665df8
dec ebp
sub ebp, 0xefa64eeb
push ebp
push dword [esp]
pop esi
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xor ebx, dword [esp]
jmp 0x666466
push ebx
jmp 0x666410
mov edi, 0x7f47b5d2
push ecx
mov ecx, 0x6fde61b5
neg ecx
sub ecx, 0x7fddee92
jmp 0x666102
push ebp
mov dword [esp], 0x4bfb0ccf
pop esi
push ebx
mov ebx, 0x71d72b06
add esi, ebx
pop ebx
dec esi
push esi
dec dword [esp]
pop esi
jmp 0x665dbd
pop esi
push ecx
mov ecx, 0xfeff38b
shr ecx, 7
push ebx
push eax
push 0x3fff2be6
pop eax
mov ebx, 0xb3599de8
sub ebx, eax
pop eax
sub ecx, ebx
push dword [esp]
jmp 0x666408
mov ebx, dword [esp]
jmp 0x66644f
mov ebx, esi
pop esi
add ecx, 0x3fcf9155
push eax
mov eax, 0x6effbf08
sub eax, 0x6de63608
jmp 0x6665fc
mov edi, dword [esp]
jmp 0x66671d
push edx
mov edx, esp
add edx, 4
push eax
jmp 0x665f48
pop ecx
not edi
shr edi, 4
push ebx
mov ebx, 0x6ff7cd52
sub edi, ebx
pop ebx
xor edi, 0x9f47f229
mov edx, edi
pop edi
add dword [esp + 4], edx
pop edx
jmp 0x6666d9
sub dword [esp + 4], edx
push edi
mov edi, 0x70d76805
sub dword [esp + 8], edi
pop edi
pop edx
jmp 0x666367
add ecx, edx
pop edx
jmp 0x665ead
xor eax, 0x77b77474
jmp 0x666481
neg esi
push ebx
push edx
mov edx, 0x55ef7231
mov ebx, edx
pop edx
not ebx
jmp 0x666514
dec ecx
jmp 0x666042
pop ebx
jmp 0x6663f2
neg ebx
shr ebx, 1
inc ebx
sub ebx, 0xecfd2fe4
mov edi, ebx
pop ebx
xor esi, edi
jmp 0x665f7c
push dword [esp]
jmp 0x666082
sub esp, 4
jmp 0x6660c4
push 0x5a9aa824
mov dword [esp], edi
mov edi, 0x9a2e2b4
xor edx, edi
pop edi
xor edx, 0x41bc7358
and edi, edx
pop edx
jmp 0x6664b4
add ebx, edx
pop edx
jmp 0x666576
add esp, 4
sub ecx, 0xbf5065e
push edx
mov dword [esp], edi
mov edi, 0x7dff8847
jmp 0x6660ec
xor dword [esp], ebx
xor ebx, dword [esp]
pop esp
pop ebp
sub edi, esi
push dword [esp]
pop esi
jmp 0x6664f5
mov dword [esp], edi
jmp 0x6664e1
add eax, 0x83274355
add edi, eax
mov eax, dword [esp]
add esp, 4
push edx
mov dword [esp], 0x490d05a5
mov dword [esp], esi
push 0x6c65e381
mov dword [esp], ebp
push eax
mov dword [esp], 0x67d2d69f
mov dword [esp], eax
jmp 0x665e10
and edi, 0x7bde4e62
shr edi, 3
push edi
not dword [esp]
pop edi
inc edi
jmp 0x665e98
mov edx, 0x7d5f1f3f
sub eax, edx
pop edx
sub eax, 0x3ffd546e
not eax
sub eax, 0x4ebfeedc
jmp 0x666531
mov dword [esp], ebx
push edx
push ecx
pop edx
push edx
add dword [esp], 0x63762e44
pop ebx
jmp 0x665fce
add esp, 4
push edx
mov edx, esp
jmp 0x666509
push ebx
mov dword [esp], ebp
jmp 0x665e8f
add edx, 4
jmp 0x665efc
xor ebx, 0x34fbfe57
sub esi, ebx
pop ebx
push esi
mov dword [esp], ebx
jmp 0x6661ab
push ebx
mov ebx, 0x1dfa6427
jmp 0x6665ca
shr eax, 1
sub eax, 0x4ce1ee73
jmp 0x666133
pop ebp
jmp 0x66673f
pop esp
mov dword [esp], edx
push 0x7ffe7706
mov dword [esp], edi
mov edi, 0x7afd0f87
add edi, 0x3f80f248
push ecx
mov dword [esp], 0x39e365f3
jmp 0x665e4f
push 0x1b7b70be
pop esi
add esi, 0x4fd9b973
shl esi, 1
or esi, 0x7f7e90c1
xor esi, 0xfffed4e3
mov ebx, esi
pop esi
mov esi, ebx
pop ebx
add ebx, esi
pop esi
push ebp
jmp 0x666669
sub ecx, ebx
pop ebx
sub ecx, 0x3fcf9155
jmp 0x66670c
mov edx, 0x7dcd53d5
push edi
mov edi, 0x1dbb7691
sub ecx, edi
pop edi
add ecx, edx
push eax
jmp 0x666619
add esp, 4
and edi, 0x76f9b02c
jmp 0x665dea
sub eax, 0xe31f24d9
add ecx, eax
pop eax
add ecx, ebx
jmp 0x666526
add ecx, eax
pop eax
push dword [esp]
mov esi, dword [esp]
jmp 0x665fd9
mov eax, 0x77ffdf52
add eax, 0x3fffb598
or eax, 0x5a5f31d9
jmp 0x666732
add edx, 4
jmp 0x66668e
mov dword [esp], ecx
mov ecx, 0x5c2d8d1a
and edi, ecx
jmp 0x66637e
mov edx, 0x5def6c55
push edi
mov edi, 0x70d76805
add dword [esp + 8], edi
pop edi
jmp 0x6663a0
mov ebp, 0x6c21457b
sub ebx, ebp
pop ebp
push edi
jmp 0x6662ed
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
jmp 0x66657c
xchg dword [esp], edx
pop esp
add edx, 0x7fb71925
or edx, 0x7ff744ac
neg edx
sub edx, 0xc0199ea8
add eax, edx
mov edx, dword [esp]
add esp, 4
add eax, dword [esp]
sub eax, 0x3fe703ab
sub esp, 4
mov dword [esp], ecx
push eax
mov dword [esp], 0xcbae111
mov dword [esp], esp
push edx
push edi
mov edi, 0x1fafd458
shl edi, 8
jmp 0x6660cc
mov ecx, dword [esp]
push ebp
push esp
pop ebp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
add ecx, 4
jmp 0x6666fa
add cl, ch
add byte [eax], al
add byte [eax], al
push ebx
push esi
mov esi, 0x7a571d1b
add esi, 0x85a8e2e9
jmp 0x66634e
pop ebx
push ecx
push dword [esp + 4]
jmp 0x6661c0
push ebx
jmp 0x666179
push 0x7d4cb117
mov dword [esp], ebp
push esp
pop ebp
push esi
mov esi, 4
jmp 0x6660d4
dec eax
add eax, 0x1dbbc097
add ecx, eax
jmp 0x665edb
xor al, 0x26
ja 0x6666f4
push cs
cwde
dec eax
cmp al, 0x9c
pushfd
mov byte [0xf1827c24], bh
xor bl, byte [eax + ecx*4 - 0x7763662a]
in eax, dx
out dx, eax
scasd eax, dword es:[edi]
jg 0x666747
xor bl, byte [edi + esi*8 - 0x11b6110]
xchg edx, eax
shl byte [ecx], 1
push esp
loope 0x6667a5
fiadd word [ecx + 0x76]
cld
add al, 0xc0
fstp xword [esi]
scasd eax, dword es:[edi]
push 0xffffffffffffffed
xor bl, byte [ecx + ebp - 0x7768592a]
in eax, dx
mov edi, 0x397883b4
cmp byte [esi + edx*8], ah
test byte [eax + ecx*4 + 0x2aaa85ed], bl
scasb al, byte es:[edi]
pop ebx
push ebx
xchg edi, eax
movsb byte es:[edi], byte [esi]
cmp eax, 0xfc6e889c
xor byte [esp + edx*2 + 0x35], 0x17
pushfd
and dword [edi - 0x66], edx
sub esi, ebp
popal
pop ss
les esp, [ecx]
push edi
lcall 0x4283, 0x93be4629
inc esp
inc esi
mov esi, 0x44428393
push esp
mov ch, ch
xor cl, bh
inc esp
adc dword [esi - 0x3a], eax
mov ch, ch
xor bl, byte [ebp - 0x4c0eeed]
stc
invalid