Function at 0x669ee8
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
jmp 0x669448
push esi
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
xor ecx, edx
jmp 0x6699a5
push eax
mov eax, esp
push edx
jmp 0x669d76
neg dword [esp]
jmp 0x66998b
pop esp
shl esi, 1
jmp 0x669eb2
pop edi
jmp 0x669454
pop ecx
jmp 0x6695ca
push edx
push esp
pop edx
sub esp, 4
mov dword [esp], ebp
mov ebp, 4
jmp 0x669494
push edi
mov dword [esp], 0x6efcc100
inc dword [esp]
jmp 0x6695f1
push edi
mov edi, 0x5fef1b56
add edx, edi
jmp 0x6694a1
pop edi
add edx, ebp
sub edx, 0x5fef1b56
mov ebp, dword [esp]
add esp, 4
push edi
push ebp
mov ebp, 0x78da68a2
mov edi, 0x78da68a6
jmp 0x6695a8
sub esp, 4
mov dword [esp], edi
push edi
mov dword [esp], 0xffffffff
push dword [esp]
mov edi, dword [esp]
add esp, 4
add esp, 4
sub ebp, 0x6feb13b9
jmp 0x669578
pop esp
mov dword [esp], edx
push dword [esp + 4]
pop edx
pop dword [esp]
mov esp, dword [esp]
sub esp, 4
mov dword [esp], edx
mov edx, 0x6fff7995
push edi
mov edi, 0x7f7ac8cd
sub edi, 0x5d77dcd4
add edi, 0x7dfee631
or edi, 0x7f7f16f9
and edi, 0x51bedd19
jmp 0x669fc0
add dword [esp + 8], eax
pop eax
add dword [esp + 4], 0x751367fb
jmp 0x669879
mov eax, edx
pop edx
sub ebp, eax
pop eax
push esi
mov esi, 0x56fa96fc
jmp 0x669ea3
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
add esp, 4
push 0x7a6bb29d
mov dword [esp], eax
mov eax, 0x5b8f6677
jmp 0x669e30
add ebp, edi
jmp 0x669467
pop ebx
mov eax, dword [esp]
push esi
mov dword [esp], edi
push esp
mov edi, dword [esp]
push eax
mov eax, esp
jmp 0x669bb8
sub ebp, 0x775ed0e1
xor ebp, 0x57dba2f4
or edx, ebp
pop ebp
inc edx
jmp 0x66965d
sub edi, ebp
pop ebp
sub esp, 4
jmp 0x66977f
pop ecx
pop esi
xor edi, ebp
xor ebp, edi
xor edi, ebp
jmp 0x6694c4
mov edx, 0x7f7e6093
jmp 0x669ddf
add esp, 4
shl edx, 3
sub edx, 0x577725fb
push ebx
mov ebx, 0x56cd09ed
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x6c738cd7
and ebx, ecx
jmp 0x669779
sub dword [esp], 1
not dword [esp]
not dword [esp]
or dword [esp], 0x7f7fbc43
xor dword [esp], 0x552364f5
mov dword [esp], esi
mov esi, 0x6feb13b9
jmp 0x669906
mov esp, dword [esp]
push eax
push ecx
mov ecx, esp
add ecx, 4
jmp 0x669c68
add esp, 4
jmp 0x669e1a
push esi
mov esi, esp
jmp 0x669dcb
push ecx
mov ecx, 4
mov eax, ecx
pop ecx
add ecx, eax
jmp 0x669a2e
shl edx, 7
and edx, 0x33bbd73f
sub edx, 0x318a12fd
push eax
mov eax, edx
mov esi, eax
pop eax
pop edx
push ecx
mov dword [esp], edx
mov edx, 0x7bfe374a
jmp 0x669fec
xor dword [esp], edx
xor edx, dword [esp]
jmp 0x669cb5
sub edx, 0x7cf39761
shr edx, 6
xor edx, 0x777b2026
xor edx, 0x85250a6
jmp 0x669544
mov dword [esp], edi
mov dword [esp], esp
push ebx
mov ebx, 4
add dword [esp + 4], ebx
pop ebx
jmp 0x669d12
sub edi, eax
add edi, 0x7bf751f9
pop eax
sub edi, 0x69be2452
add edi, dword [esp]
push ebp
mov ebp, 0x7ff265c2
and ebp, 0x7af73463
not ebp
add ebp, 0xe4b04895
add edi, ebp
mov ebp, dword [esp]
add esp, 4
jmp 0x6697ae
add edi, edx
mov edx, dword [esp]
jmp 0x669a4b
pop ecx
jmp 0x669886
mov dword [esp], edi
mov edi, 0x5ffecc27
sub edi, 0xe07906d3
jmp 0x66979e
sub edx, edi
pop edi
add edx, edi
add edx, 0x7f85c554
jmp 0x6697f2
sub esp, 4
mov dword [esp], ebp
push 0x6afd5038
pop ebp
jmp 0x669948
pop esp
push edi
mov dword [esp], ebp
mov ebp, 0x6efa6e41
not ebp
jmp 0x669837
push edx
mov edx, 4
add ecx, 0x7eeda1c8
add ecx, edx
jmp 0x66985c
pop esi
push ecx
mov ecx, 4
jmp 0x669d5b
pop edi
push ecx
mov dword [esp], 0x1addfb00
mov dword [esp], edx
push dword [esp + 4]
push dword [esp]
pop edx
add esp, 4
pop dword [esp]
mov esp, dword [esp]
push esi
mov dword [esp], eax
mov eax, 0x6afd5038
sub edi, 0x7bf751f9
jmp 0x6696f3
and ebp, 0x37fdf370
dec ebp
shl ebp, 1
jmp 0x6698be
pop edx
add eax, 4
xchg dword [esp], eax
jmp 0x6697c2
mov dword [esp], ecx
jmp 0x669ab6
sub ecx, 0x7eeda1c8
pop edx
sub esp, 4
mov dword [esp], eax
jmp 0x66964d
mov edi, 0x1f344367
push ecx
jmp 0x669b0c
pop edx
pop edx
add edx, 4
jmp 0x669b3a
push edx
push 0x7ecf6f78
pop edx
add edx, 0xcdf028
sub ebx, edx
pop edx
push esi
sub esp, 4
mov dword [esp], eax
jmp 0x669b6f
sub edx, 0xffbb6aa
add edx, eax
add edx, 0xffbb6aa
pop eax
add edx, edi
sub edx, 0x7f7f6373
jmp 0x669fa3
xor ebp, 0x220b225a
add edi, ebp
pop ebp
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
push dword [edi]
push dword [esp]
pop ecx
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
jmp 0x669b4d
push 0x496bfee2
mov dword [esp], esp
sub esp, 4
mov dword [esp], edx
mov edx, 4
jmp 0x669e74
add ebp, 0x7f75707b
add ebp, esi
push eax
mov eax, 0x7f75707b
sub ebp, eax
jmp 0x669a98
mov dword [esp], edx
mov dword [esp], 0x7ff31c2a
not dword [esp]
sub dword [esp], 0x22cf93e
push ebp
jmp 0x6699be
push dword [esp]
pop ebx
add esp, 4
push edx
jmp 0x6698ee
push eax
mov eax, 0x73aaeb4e
jmp 0x669953
add edi, eax
pop eax
add edi, ebp
sub edi, 0x73aaeb4e
mov ebp, dword [esp]
sub esp, 4
jmp 0x669854
pop ecx
add esi, 4
jmp 0x669408
add dword [esp], 0xb8bc98b3
push dword [esp]
jmp 0x66993b
mov edi, dword [esp]
push eax
push esp
pop eax
jmp 0x669555
mov edx, dword [esp]
add esp, 4
push edx
push ecx
mov ecx, 0x7fd7eb12
xor ecx, 0x7dd5f1e2
push ecx
jmp 0x669b45
mov ebp, 0x7b7fd919
add dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
dec dword [esp]
not dword [esp]
push ebx
mov ebx, 0x6a02643
xor dword [esp + 4], ebx
jmp 0x66957f
add ecx, edx
push esi
mov esi, 0x7f730d45
sub ecx, esi
pop esi
pop edx
jmp 0x669e3d
sub esi, 0xe763d53a
xor ebx, esi
pop esi
xor edx, ebx
mov ebx, dword [esp]
jmp 0x66963d
pop eax
xchg dword [esp], ecx
jmp 0x669619
mov dword [esp], eax
push dword [esp + 4]
pop eax
pop dword [esp]
mov esp, dword [esp]
push edx
jmp 0x6695c0
add esp, 4
push ecx
push 0x7d04ae81
mov dword [esp], esi
mov esi, 0x754a8ed5
mov ecx, esi
pop esi
xor ecx, 0x7e5b8aa2
jmp 0x669c5c
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
jmp 0x6694f2
xchg dword [esp], eax
pop esp
push edi
mov dword [esp], ebx
mov ebx, 4
push ecx
mov ecx, 0x7f779cb9
add edi, ecx
jmp 0x669d20
pop eax
pop esi
mov edi, dword [esp]
add esp, 4
xor edi, ebp
xor ebp, edi
xor edi, ebp
sub eax, 1
jne 0x6698d3
sti
push edx
jmp 0x669c31
mov ecx, esp
push eax
mov eax, 0x7fbfdaf7
shl eax, 7
shr eax, 5
push ebp
mov ebp, 0x54ee7100
xor ebp, 0x5d38b3d5
sub ebp, 0x10d62ead
add eax, ebp
pop ebp
sub ecx, 0x17ff6fb1
add ecx, eax
add ecx, 0x17ff6fb1
pop eax
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
sub esp, 4
mov dword [esp], esi
mov dword [esp], 0x3fdfa100
neg dword [esp]
jmp 0x669c3d
mov ecx, esp
jmp 0x669ba1
pop ecx
push 0xed8d186
jmp 0x669a37
neg esi
or esi, 0x7717c876
xor esi, 0xb420bb66
sub ebx, esi
pop esi
xor ebx, 0x3be71910
jmp 0x669df5
add edx, 4
push ecx
mov ecx, esp
jmp 0x669a6d
not dword [esp]
jmp 0x669f72
mov dword [esp], eax
push edi
mov dword [esp], 0x15c20edd
mov dword [esp], esp
push ecx
mov ecx, 4
add dword [esp + 4], ecx
pop ecx
push dword [esp]
pop eax
jmp 0x669d9b
mov eax, 0x72ed9fa6
mov esi, 0xeaed10ad
sub esi, eax
pop eax
sub esi, 0x39fda47a
and esi, 0x7fbddfac
and esi, 0x77b7f742
jmp 0x669b1e
add ecx, 4
sub ecx, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
jmp 0x669ca0
add eax, 4
push edx
mov edx, 4
add eax, edx
pop edx
jmp 0x669a7e
push 0x3e2b3a83
pop edx
push edi
mov edi, 0x6b9b5163
sub edx, edi
pop edi
inc edx
xor edx, 0xd28fe925
mov ecx, edx
pop edx
add eax, 0x7f7d6a55
sub eax, 0x55ef2751
sub eax, ecx
add eax, 0x55ef2751
push 0x236466af
mov dword [esp], esi
mov esi, 0x7ffbe231
add esi, 0xff818824
sub eax, esi
pop esi
pop ecx
xor eax, dword [esp]
jmp 0x669c50
mov dword [esp], 0x5fd7ec71
jmp 0x669fb8
sub dword [esp], 0x2bfb7245
xor dword [esp], 0x5f65f38b
jmp 0x669c94
xor dword [esp], eax
xor eax, dword [esp]
pop esp
jmp 0x66991b
sub ecx, 0x3e782aee
push ebx
jmp 0x669d4c
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], esp
add dword [esp], 4
jmp 0x669d69
mov edx, esp
add edx, 4
add edx, 4
xor edx, dword [esp]
jmp 0x669681
or dword [esp], 0x5dface5a
jmp 0x669cc0
pop esp
mov dword [esp], ebp
mov ebp, 0
sub ebp, edi
xchg edi, ebp
mov ebp, dword [esp]
jmp 0x669f8b
pop esp
add eax, 4
jmp 0x669da1
inc dword [esp]
sub dword [esp], 0x700da5e2
shr dword [esp], 2
add dword [esp], 0x7fdd488a
add dword [esp], 0x3c39aa60
inc dword [esp]
and dword [esp], 0x577b9319
xor dword [esp], 0x10f69056
mov dword [esp], ecx
push edx
mov dword [esp], 0x68ba75b4
mov dword [esp], eax
mov dword [esp], esi
jmp 0x6696a6
mov ebp, 0x7ff66093
add esi, ebp
mov ebp, dword [esp]
jmp 0x669645
mov ecx, dword [esp]
jmp 0x669d31
inc ebp
jmp 0x669593
pop ecx
add edi, ebx
sub edi, 0x7f779cb9
mov ebx, dword [esp]
jmp 0x66941b
add esp, 4
jmp 0x6697d3
mov edx, 0x73b763c6
and edx, 0x7f628c47
jmp 0x669fe1
mov ebx, 0xb373f989
xor ecx, ebx
pop ebx
add edi, ecx
jmp 0x6695b3
sub esi, 0x48fed417
add esi, ecx
push ecx
jmp 0x669f59
pop eax
add eax, 4
push ecx
push edx
jmp 0x669bcb
mov edx, 0x3e7f460f
or edx, 0x7dfe8d32
shr edx, 3
xor edx, 0xffff9e3
sub eax, 0x7ff7b6b0
add eax, edx
add eax, 0x7ff7b6b0
jmp 0x669846
push edx
jmp 0x669c81
push ecx
mov ecx, 4
push ebp
mov ebp, 0x7be77875
sub eax, ebp
pop ebp
jmp 0x669db5
add eax, ecx
add eax, 0x7be77875
jmp 0x669b13
xor eax, 0x93bd070b
jmp 0x6698a2
add esi, 4
add esi, 4
xor esi, dword [esp]
jmp 0x669e25
or edx, 0x3e3c2e28
push ecx
mov ecx, 0x7ff7c6c4
add edx, ecx
push dword [esp]
jmp 0x66944e
push eax
mov eax, 0x6d7f2bbe
add ebx, eax
pop eax
push esi
mov esi, 0x36cb5a51
and esi, 0x5feb6047
shl esi, 8
or esi, 0x7ff71bb1
not esi
jmp 0x6699f3
add ecx, 0x7f730d45
jmp 0x6699e2
xor dword [esp], esi
xor esi, dword [esp]
jmp 0x66942c
sub eax, 0x7df719e8
shl eax, 3
jmp 0x669dc1
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], ebp
mov ebp, 0x5fd2812c
sub esp, 4
mov dword [esp], eax
push edx
mov edx, 0x7f19ac08
jmp 0x669e69
or edx, 0x7fec0130
jmp 0x66968c
sub dword [esp + 4], 0x751367fb
sub dword [esp + 4], 0x7ff781b0
sub dword [esp + 4], 0x770e25ce
add dword [esp + 4], edx
add dword [esp + 4], 0x770e25ce
push eax
mov eax, 0x7ff781b0
jmp 0x669532
push edi
mov edi, 0x6fab368a
or esi, edi
pop edi
push ebp
jmp 0x669d03
add esi, 0xf33686d
push ecx
mov ecx, 0x40e8504b
add esi, 0x2e75fcaa
jmp 0x669ec9
add esi, ecx
sub esi, 0x2e75fcaa
pop ecx
add ebp, esi
pop esi
dec ebp
push 0x4fe7aa29
mov dword [esp], ebx
mov ebx, 0xd395faa5
sub ebp, ebx
mov ebx, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
xor ecx, ebp
pop ebp
push edx
jmp 0x669f01
mov dword [esp], eax
mov dword [esp], edx
push esi
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], ebx
mov ebx, 0x6aeb5d43
neg ebx
xor ebx, 0x2ff74c69
push ebp
mov ebp, 0x65fc649b
sub ebx, ebp
pop ebp
sub ebx, 0x5fb1b4da
sub ebx, 0x7ae57fde
mov esi, ebx
pop ebx
push ecx
mov ecx, esi
mov edx, ecx
pop ecx
push dword [esp]
pop esi
sub esp, 4
mov dword [esp], esi
push esp
jmp 0x6697e6
mov ecx, 0x777b2abc
add ecx, 0x6d7aaa48
sub ecx, 0x9bf700ed
add esi, ecx
pop ecx
jmp 0x669982
pop ecx
shr ecx, 3
add ecx, 0x71fe2172
sub ecx, 0x91bdde13
mov edx, ecx
pop ecx
push edi
jmp 0x66986e
add esp, 4
not edi
add edi, 0x20187675
sub edx, edi
push dword [esp]
jmp 0x66999a
add edx, 0x3f4cb9db
mov dword [edx], ecx
mov edx, dword [esp]
add esp, 4
push esi
push edx
jmp 0x669d3c
neg dword [esp]
jmp 0x669424
push esi
mov esi, 0xd9a7f5cd
add edi, esi
pop esi
xor edx, edi
pop edi
shl edx, 3
or edx, 0x6f6d3e85
xor edx, 0x3b92cba2
push eax
jmp 0x6696bc
push ebp
mov ebp, 0x7f5f8762
jmp 0x669d1a
add edx, 0x3ece8b6
add edi, 0x5bff251c
add edi, 0x1ffff631
sub edi, edx
sub edi, 0x1ffff631
jmp 0x66a00b
sub edi, 0x5bff251c
pop edx
push edx
mov edx, 0x4ff7c411
sub edi, edx
pop edx
sub edi, 0x23e60950
sub edi, esi
add edi, 0x23e60950
push ecx
mov ecx, esp
add ecx, 4
jmp 0x66a037
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], edx
mov edx, 0x4ff7c411
jmp 0x669726