Function at 0x661c02
Capabilities:
Encode data using xor

Disassembly:
mov ebx, 0x1ef598fe
sub dword [esp + 4], ebx
pop ebx
mov edi, dword [esp]
add esp, 4
push dword [eax + edi]
push dword [esp]
jmp 0x661945
sub esp, 4
jmp 0x661cea
sub ebp, 0x3f87cff9
mov esi, ebp
pop ebp
add edx, esi
pop esi
jmp 0x661afc
add edi, 4
xchg dword [esp], edi
pop esp
push edx
jmp 0x66196f
add esp, 4
shl ebx, 4
or ebx, 0x39eebc5e
and ebx, 0x5ff9165a
neg ebx
sub ebx, 0xa3941fa5
xor esi, ebx
mov ebx, dword [esp]
jmp 0x661c94
mov dword [esp], ebx
push 0x4fed3b58
mov ebx, dword [esp]
add esp, 4
or ebp, ebx
mov ebx, dword [esp]
push eax
jmp 0x66199e
pop ecx
push esi
mov esi, 0x63ae4ec3
xor esi, 0x36d21384
xor esi, 0x6d97eb00
add esi, 0xc71449bd
add ecx, esi
pop esi
add ecx, 4
jmp 0x661c57
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
push 0x13a496b8
mov dword [esp], ebp
jmp 0x661c2d
sub edi, eax
pop eax
sub edi, 0x43d7e2c6
jmp 0x661d60
inc edx
jmp 0x661af1
push dword [esp]
push dword [esp]
mov edx, dword [esp]
jmp 0x661977
mov dword [esp], edx
pop dword [eax + edi]
jmp 0x66198c
xchg dword [esp], eax
mov esp, dword [esp]
push ebp
mov ebp, 0x5e7e9ca5
jmp 0x661ea0
mov dword [esp], ebx
jmp 0x66186a
add esp, 4
push 0x5ea948ed
mov dword [esp], eax
mov eax, esp
jmp 0x661a0a
push ecx
mov dword [esp], ebp
push edx
jmp 0x661a3e
xor dword [esp], eax
jmp 0x6620fa
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
dec ebp
shl ebp, 4
push ebx
jmp 0x661b5a
not edx
neg edx
jmp 0x6619c9
push ebp
jmp 0x661b4e
push edi
jmp 0x661aa1
push eax
mov eax, 0x37d3d4a3
jmp 0x661931
push eax
mov eax, esp
push edx
mov edx, 0x49d48400
add edx, 0xffffffff
jmp 0x661c6d
sub edx, 1
push ebx
mov ebx, 0x7eff837f
xor edx, ebx
pop ebx
push ebx
jmp 0x661e91
add eax, ebp
jmp 0x661ccc
add eax, 4
push esi
mov esi, 4
add eax, esi
pop esi
xchg dword [esp], eax
jmp 0x661bdc
push 0x7bde1d21
pop edx
inc edx
neg edx
sub edx, 0xffffffff
push ecx
mov ecx, 0x79dfb8c1
xor ecx, 0x7f59a4ec
not ecx
xor ecx, 0xfc4b3154
sub edx, 0x6baf0213
sub edx, ecx
add edx, 0x6baf0213
pop ecx
mov ebp, edx
pop edx
jmp 0x661c77
xor eax, 0x9860321
jmp 0x661fd7
sub edx, 0x6bf56702
add edx, edi
add edx, 0x6bf56702
sub edx, 0x5eef9074
jmp 0x6620bf
sub esi, eax
mov eax, esi
jmp 0x661cbf
mov edi, 0xefc3cb4
not edi
sub edi, 0x5445c31
sub edx, edi
pop edi
add ebp, edx
pop edx
mov esi, dword [esp]
add esp, 4
sub ebp, 0x47eb09d0
add ebp, eax
add ebp, 0x47eb09d0
add ebp, 0x3fbf9600
pop eax
sub edx, ebp
mov ebp, dword [esp]
add esp, 4
push ecx
mov ecx, 0x736f5d00
push edx
mov edx, 0x1d7e4ed2
or ecx, edx
pop edx
add ecx, 1
jmp 0x661b7c
and edx, 0x3bfb7500
jmp 0x6619ba
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
push 0x4763469a
jmp 0x661da8
xor ebp, edi
jmp 0x661c0a
xor dword [esp], edx
xor edx, dword [esp]
pop esp
jmp 0x6619da
shr ebp, 2
neg ebp
xor ebp, 0x3ed4647a
xor edx, ebp
jmp 0x661d7c
pop esi
add esi, 0x4f1eb107
mov edi, esi
pop esi
sub dword [esp + 4], edi
push dword [esp]
pop edi
push ecx
push esp
jmp 0x6618ee
mov ebp, 0x5d6d4600
add edi, ebp
jmp 0x661dd5
mov dword [esp], eax
push 0x55d10171
pop eax
push esi
mov esi, 0x3fbf9600
sub ebp, 0x4fd99de7
sub ebp, esi
push edx
mov edx, 0x3f9907aa
jmp 0x66193f
add ecx, 0x2be77bca
push esi
push ebx
mov ebx, 0x7df71f3b
mov esi, ebx
pop ebx
xchg esi, edx
not edx
xchg esi, edx
shr esi, 7
push ebx
mov ebx, 0x737dad71
add ebx, 0xfdb9c074
sub esi, ebx
pop ebx
push ebx
mov ebx, 0x7f7f432b
shl ebx, 2
sub ebx, 0x5ff13adf
shl ebx, 5
sub ebx, 0x4226c02f
jmp 0x661bc1
push esi
jmp 0x661bf3
mov dword [esp], ebp
mov dword [esp], ebx
mov dword [esp], 0x2feb0ae0
mov edi, dword [esp]
jmp 0x661c65
pop esp
push edx
push esp
jmp 0x661d84
sti
push eax
mov dword [esp], edi
push 0x37269ccb
jmp 0x661bc7
mov esi, 0x79efe316
sub ebx, esi
mov esi, dword [esp]
jmp 0x6618b1
push ebp
mov ebp, esp
jmp 0x66219f
pop edi
xor ebp, eax
xor eax, ebp
xor ebp, eax
jmp 0x661ca2
and edi, 0x7fefac14
add edi, 0x4c7bf6a4
mov ecx, edi
push dword [esp]
pop edi
jmp fcn.00661fa9
push edx
mov dword [esp], esi
mov esi, 0x5eff7c73
push ebx
mov ebx, esi
mov ebp, ebx
pop ebx
pop esi
xor ebp, 0x5eff7c77
sub eax, 0x5d71059e
jmp 0x661a03
push edx
mov dword [esp], ecx
push dword [esp + 4]
pop ecx
jmp 0x661dba
push esi
mov esi, esp
jmp 0x661f98
dec edx
shl edx, 7
push ebp
jmp 0x661d3b
inc ebp
push edx
mov edx, 0x7fae9292
xchg edx, esi
dec esi
jmp 0x661d99
sub ebp, ecx
pop ecx
xor edi, ebp
pop ebp
shr edi, 3
jmp 0x662062
add esp, 4
xor ecx, esi
pop esi
jmp 0x661888
neg eax
xchg ebp, eax
add ebp, 0xfcef3df8
sub edi, ebp
pop ebp
cmp edi, 0xffff9ca4
jne 0x66187d
jmp 0x661be4
pop esi
push esi
mov esi, 0x667e534a
dec esi
jmp 0x661d0f
add eax, 0x5d71059e
pop ebp
jmp 0x661e81
dec ebp
shr ebp, 5
shr ebp, 5
add ebp, 0x7b15d015
push eax
jmp 0x6618d5
mov dword [esp], edx
push esi
jmp 0x661d4f
pop ebp
push esi
push ebp
push 0x3f87cffd
pop ebp
jmp 0x661893
not ebp
push edi
push eax
mov eax, 0x5edd0bbc
jmp 0x661a75
dec esi
or esi, 0x7d7ee6ba
push ecx
mov ecx, 0x7592f500
sub esi, ecx
pop ecx
dec esi
add esi, 0xce2c165d
add eax, esi
mov esi, dword [esp]
jmp 0x661f76
add esp, 4
jmp 0x661e73
mov ebp, 0x5db732d3
and ebp, 0x77bd336e
dec ebp
shl ebp, 3
jmp 0x661b23
mov esi, 0x10b594f4
xor esi, 0x7d7fe9f6
inc esi
jmp 0x661dee
push eax
mov eax, 0x68ffb860
sub eax, 0x7eac288a
shl eax, 8
shr eax, 5
xor eax, 0x7bb4f652
push esi
jmp 0x661db0
pop ebp
add eax, edx
jmp 0x661de3
pop edx
add edx, 4
add edx, 4
xor edx, dword [esp]
jmp 0x661b17
xchg edx, esi
jmp 0x6619ee
add eax, 4
jmp 0x66195e
mov dword [esp], ecx
jmp 0x66203a
mov esi, 0
jmp 0x661a98
pop dword [esp]
pop esp
shr dword [esp], 6
inc dword [esp]
push esi
mov esi, 0xb6d7f0f4
sub dword [esp + 4], esi
pop esi
jmp 0x661953
pop ebp
dec edi
inc edi
xor edi, 0x4820765b
jmp 0x661b10
mov edx, dword [esp]
add esp, 4
jmp 0x661da0
shr esi, 4
shr esi, 2
add esi, 0x1bff4e00
jmp 0x661e20
and ebp, 0x7918e71
shl ebp, 8
shl ebp, 6
push edi
mov edi, 0x3fff39e0
dec edi
add edi, 0x8f49cff
xor ebp, edi
pop edi
jmp 0x662106
xor esi, 0x8dc60227
push edi
mov edi, esi
mov edx, edi
pop edi
pop esi
xor ecx, edx
mov edx, dword [esp]
add esp, 4
jmp 0x661e3d
add edx, ecx
mov ecx, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], edx
mov dword [esp], edi
mov edi, 0x5f77db4f
xchg edi, edx
jmp 0x661eab
shr ebp, 3
shr ebp, 2
jmp 0x661dff
pop ecx
push edi
push dword [esp]
pop edx
add esp, 4
jmp 0x661ecb
push ebp
mov dword [esp], edx
mov edx, 0x5ed1098a
jmp 0x6620c9
push edx
mov edx, 4
add eax, edx
mov edx, dword [esp]
jmp 0x6620a6
mov dword [esp], ebp
mov ebp, 0x2b440570
or edx, ebp
jmp 0x661fc2
add ebp, 0x22d6a7c7
jmp 0x661cd7
not edx
xor edi, edx
xor edx, edi
xor edi, edx
push ebp
mov ebp, 0x21df8700
inc ebp
push ecx
mov ecx, 0x34df2e0a
or ecx, 0x5e5f76ce
jmp 0x661f62
mov edi, dword [esp]
push edi
push esp
pop edi
add edi, 4
push edi
mov dword [esp], edx
mov edx, 4
add edi, edx
pop edx
xchg dword [esp], edi
pop esp
push 0x5aeca909
mov dword [esp], edi
mov dword [esp], 0x3a830815
mov dword [esp], ecx
mov dword [esp], 0x62bb1d80
or dword [esp], 0x5dd54b6c
xor dword [esp], 0x77df9a49
push ecx
push edi
mov edi, 0x3ef743a1
jmp 0x661c16
mov dword [esp], 0x577fb551
push edi
mov edi, esp
add edi, 4
sub edi, 4
xchg dword [esp], edi
mov esp, dword [esp]
mov dword [esp], edi
push ecx
mov dword [esp], esi
push 0x2ff7f171
jmp 0x661b35
shr ecx, 6
or ecx, 0x579b478a
add ecx, 0x7224ab92
jmp 0x661c86
add esp, 4
add edx, eax
jmp 0x6620b4
add esi, 4
add esi, 4
jmp 0x661fb7
push esi
push dword [esp + 4]
pop esi
jmp 0x661fe5
pop ebp
add edx, 0x1f9a6540
sub edx, 0xb6f8ae6
or ebp, edx
pop edx
jmp 0x661d01
mov edi, eax
pop eax
sub edi, 0x7ff90a92
jmp 0x6619c3
pop dword [esp]
mov esp, dword [esp]
push 0x752df235
mov dword [esp], ecx
push eax
mov eax, 0xf7eab7df
mov ecx, eax
pop eax
add edi, ecx
jmp 0x661e65
mov ecx, esp
add ecx, 4
sub ecx, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
push esp
push dword [esp]
pop eax
push ebx
jmp 0x661915
add edi, 0x7dbf4b0f
jmp 0x6619cf
add esp, 4
xor eax, dword [esp]
jmp 0x661996
mov eax, dword [esp]
add esp, 4
jmp 0x661a7f
pop edi
push edx
mov dword [esp], ecx
jmp 0x661f38
and edx, 0x2fdf120f
xor edx, 0x6b994af8
jmp 0x662260
xor eax, dword [esp]
mov esp, dword [esp]
push ebp
jmp 0x662188
add eax, ebp
mov ebp, dword [esp]
add esp, 4
add eax, dword [esp]
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x6b6f96de
add eax, 0x47e74291
sub eax, 0x7fff4024
sub eax, ebp
add eax, 0x7fff4024
push edi
push ecx
mov ecx, 0x59bf4d31
mov edi, 0xa1a68fc2
sub edi, ecx
pop ecx
sub eax, edi
pop edi
push dword [esp]
pop ebp
sub esp, 4
mov dword [esp], edx
push esp
pop edx
push ebp
mov ebp, 4
sub edx, 0x6f2f03aa
jmp 0x66221a
mov dword [esp], esi
mov dword [esp], 0x1ef59900
dec dword [esp]
push 0x169f22c2
jmp 0x662227
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push 0x1ea068e0
mov dword [esp], edx
push eax
mov dword [esp], esp
add dword [esp], 4
pop edx
push eax
mov eax, 4
add edx, eax
pop eax
add edx, 4
xchg dword [esp], edx
pop esp
push ebx
mov dword [esp], ebp
push esp
pop ebp
add ebp, 4
push edi
mov edi, 0x37ffbd3b
shr edi, 2
push ecx
mov dword [esp], edx
mov edx, 0xdffef4a
xor edi, edx
pop edx
sub ebp, 0x757f2737
add ebp, edi
push eax
mov eax, 0x757f2737
add ebp, eax
pop eax
pop edi
xchg dword [esp], ebp
mov esp, dword [esp]
push ebp
mov ebp, 0x76ddcf33
jmp 0x661e5a
add edx, ebp
add edx, 0x6f2f03aa
jmp 0x661cf3
mov dword [esp], eax
mov eax, 1
sub dword [esp + 4], 0x7ce6db91
sub dword [esp + 4], 0x5f45e1e2
sub dword [esp + 4], eax
add dword [esp + 4], 0x5f45e1e2
add dword [esp + 4], 0x7ce6db91
mov eax, dword [esp]
push edi
push esp
mov edi, dword [esp]
jmp 0x661d30
neg edx
not edx
inc edx
xor edx, 0x65484af6
add edi, 0x5f5f84fe
add edi, edx
sub edi, 0x5f5f84fe
pop edx
jmp 0x6618a4