Function at 0xcaf27e
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
pop eax
push eax
mov dword [esp], esi
mov dword [esp], edi
jmp 0xcaef63
add esp, 4
jmp 0xcaea0a
xor dword [esp], 0x777750a7
push esi
push ebx
mov ebx, 0x4deff473
push edi
push 0x7d1fda31
pop edi
shl edi, 8
xor edi, 0x567669e2
mov esi, edi
pop edi
jmp 0xcaec9e
mov ecx, 0x2fff0b01
inc ecx
xor ecx, 0x2fff0b06
add ebp, ecx
pop ecx
push ebp
jmp 0xcaea80
add esp, 4
jmp 0xcaf020
push edx
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7dafcd6d
push ebp
pop edx
jmp 0xcaead4
push dword [esp + 4]
mov edi, dword [esp]
push eax
mov eax, esp
add eax, 4
push 0x5f023aa1
mov dword [esp], ebx
mov ebx, 0x3fafadb5
jmp 0xcaed9c
add edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
sti
xor ecx, ecx
push dword [eax + ecx]
push dword [esp]
mov esi, dword [esp]
push ecx
mov dword [esp], edi
jmp 0xcaef81
pop edx
jmp 0xcaea5e
pop eax
sub esp, 4
mov dword [esp], edi
mov edi, 4
push ecx
mov ecx, 0x7dbf0fd8
add eax, ecx
jmp 0xcaec54
push dword [esp]
mov ebp, dword [esp]
add esp, 4
jmp 0xcae988
add esi, eax
mov eax, dword [esp]
add esp, 4
push ecx
mov ecx, 0x58359d7e
add esi, ecx
pop ecx
sub esi, ebp
sub esi, 0x58359d7e
push eax
jmp 0xcaec70
push dword [esp + 4]
pop ebp
pop dword [esp]
pop esp
sub dword [esp + 4], ecx
jmp 0xcaeaaf
add esi, 0x46174c89
mov eax, esi
mov esi, dword [esp]
add esp, 4
add eax, 0x5f3d8af1
sub eax, edx
jmp 0xcaebd0
mov ecx, dword [esp]
add esp, 4
mov dword [esp], esi
pop dword [eax + ecx]
push eax
jmp 0xcaeb17
sub ecx, ebp
push esi
mov esi, 0x7fffe529
add ecx, 0x777b8094
jmp 0xcaed3c
pop ebp
push edx
pop esi
pop edx
not esi
xchg esi, ebp
not ebp
xor esi, ebp
xor ebp, esi
jmp 0xcaee9b
pop ebp
sub esp, 4
mov dword [esp], ebp
push eax
mov dword [esp], esp
add dword [esp], 4
pop ebp
add ebp, 4
add ebp, 4
jmp 0xcaeb29
neg ebp
push esi
mov esi, 0x7bf3dea1
sub ebp, esi
jmp 0xcaee72
mov dword [esp], edx
mov dword [esp], 0x783eda34
mov dword [esp], ebp
jmp 0xcaeb58
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
jmp 0xcaebda
push edi
mov edi, 0x2df71eba
xor edi, 0x7f5fb634
add edi, 1
xor edi, 0x6d8f4a0a
add ebp, edi
pop edi
push edx
jmp 0xcaef46
push ebx
mov dword [esp], 4
push dword [esp]
jmp 0xcaeae7
mov eax, esi
mov ebx, eax
push dword [esp]
mov eax, dword [esp]
push eax
mov eax, esp
jmp 0xcaec25
sub edx, 0x7faf674f
add edx, ebp
jmp 0xcaec35
xor esi, eax
mov eax, dword [esp]
add esp, 4
push ecx
push esp
pop ecx
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], ebp
mov ebp, 0x7f5793d3
push ebp
not dword [esp]
pop ebp
xor ebp, 0xa64a8afb
push eax
push edx
mov edx, 0x3fe7858f
push esi
mov esi, 0x37c9c708
jmp 0xcaf19e
pop eax
jmp 0xcaf31d
sub eax, 0x5f3d8af1
jmp 0xcaea2e
pop esp
push esi
mov dword [esp], ebx
mov ebx, 0x77fbb925
jmp 0xcaecb6
shl edi, 1
add edi, 0x823fd5dd
jmp 0xcaefde
pop esp
push eax
push ebx
mov ebx, 0x7ff7b777
mov eax, ebx
pop ebx
push ecx
mov ecx, 0x3f7e532c
xor eax, ecx
jmp 0xcaed09
mov ebx, esp
add ebx, 4
sub ebx, 4
xchg dword [esp], ebx
jmp 0xcaec5a
add eax, 4
push ebp
mov ebp, 4
jmp 0xcaf051
push ebp
mov ebp, 0xf7f8f3b
and ebp, 0x1ec692a5
shl ebp, 4
jmp 0xcaedf7
add esi, 0x1afff585
jmp 0xcaed4c
pop ecx
jmp 0xcaec80
pop esp
mov dword [esp], eax
pop ebx
mov eax, dword [esp]
add esp, 4
xchg edi, eax
not edi
jmp 0xcaf08b
mov eax, 0x7f9f7fd7
add esi, 0x77bf5ef5
jmp 0xcaec49
add eax, 0x46fbec00
add eax, edi
sub eax, 0x46fbec00
push ebp
mov ebp, 0x3bdf144e
jmp 0xcaeb08
pop eax
pop ebp
jmp 0xcaee8e
xor esi, ebx
pop ebx
jmp 0xcaeca6
xor dword [esp + 4], esi
pop esi
push dword [esp]
mov ecx, dword [esp]
jmp 0xcaed6b
push ebx
neg dword [esp]
pop ebx
sub ebx, 0x80461b2
sub ecx, ebx
jmp 0xcaed03
pop esp
add esp, 4
pop dword [esp]
pop esp
push dword [esp]
jmp 0xcaef3d
add esi, 0x37f8e40d
shr esi, 3
push edx
mov edx, 0xeb0d1930
add esi, edx
pop edx
sub ebx, 0x6dcb553a
sub ebx, 0x17ff7927
add ebx, esi
add ebx, 0x17ff7927
jmp 0xcaefd0
pop ebx
jmp 0xcaeac1
mov ecx, dword [esp]
add esp, 4
jmp 0xcaef71
mov esp, dword [esp]
sub eax, 0x7973c555
add eax, dword [esp]
push ebx
mov ebx, 0x76df15fa
push ebx
push ebx
jmp 0xcaec0f
shl dword [esp], 8
shr dword [esp], 3
jmp 0xcaee0d
add ecx, esi
sub ecx, 0x777b8094
mov esi, dword [esp]
jmp 0xcae9cb
add esi, 0x1ee5497a
sub esi, eax
sub esi, 0x1ee5497a
push ebx
mov ebx, 0x2f3fa994
xor ebx, 0x35c05c11
jmp 0xcaedca
add esp, 4
sub esp, 4
mov dword [esp], eax
mov eax, esp
push edi
mov edi, 0x5b7ab655
push edx
mov edx, 0x7fed36df
xor edx, 0x2497808e
sub edi, edx
pop edx
add eax, edi
mov edi, dword [esp]
add esp, 4
push ecx
jmp 0xcaeed6
shr ebx, 6
push ecx
mov ecx, 0x704f85a6
and ebx, ecx
pop ecx
not ebx
shr ebx, 8
inc ebx
xor ebx, 0xffb178
add eax, 0x7bbf6304
add eax, 0x7ff8008f
add eax, ebx
sub eax, 0x7ff8008f
jmp 0xcaf16b
sub esi, ebx
pop ebx
sub esi, 0x77bf5ef5
jmp 0xcaec97
push edi
mov edi, 0x4ec7f8d7
and edi, 0x4dedd60a
jmp 0xcaf2e0
mov dword [esp], esp
jmp 0xcaf129
pop ebp
jmp 0xcaea4d
xor ebp, 0x9bc7455f
add edx, ebp
pop ebp
push ebp
mov ebp, 0x718be308
sub edx, ebp
jmp 0xcaedf1
add dword [esp], 0xffffffff
jmp 0xcae990
mov edx, 4
add eax, edx
pop edx
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
jmp 0xcaebf7
push 0x7dd9a51
mov dword [esp], eax
mov eax, 0x3dff5773
dec eax
inc eax
sub eax, 0x5d7799cc
neg eax
neg eax
push ebx
mov ebx, 0x36ede082
sub ebx, 0xffffffff
sub ebx, 0x1f332c5b
add ebx, 0x1b3fe332
or ebx, 0x570a5fea
sub ebx, 0x37732c51
sub eax, ebx
mov ebx, dword [esp]
jmp 0xcaf2c0
pop esi
neg ebp
or ebp, 0x7f3f8e00
sub ebp, 0x5f948400
add ebp, 0xdd5394e9
sub eax, ebp
jmp 0xcaef69
push eax
mov dword [esp], 0x7e4fddf6
jmp 0xcaf042
xor esi, ebp
push ebp
mov ebp, 0xffffffff
add esi, ebp
pop ebp
xor esi, 0x151ed373
push 0x675f8283
mov dword [esp], esi
push dword [esp]
mov ebx, dword [esp]
add esp, 4
add esp, 4
push dword [esp]
pop esi
add esp, 4
push edi
jmp 0xcaf093
push edi
mov edi, 0x45d6ef2b
and edi, 0x2f1beb8e
inc edi
and edi, 0x79ff5529
add edi, 0xfeedbefb
mov ecx, edi
pop edi
sub eax, 0x63deb661
jmp 0xcaef11
push edi
mov edi, 4
add ebx, edi
pop edi
add ebx, 4
xchg dword [esp], ebx
pop esp
jmp 0xcaf10d
add eax, ecx
add eax, 0x63deb661
pop ecx
jmp 0xcaefb8
pop dword [esp]
mov esp, dword [esp]
push 0x72214281
mov dword [esp], ebx
push edi
mov dword [esp], ebx
mov dword [esp], eax
mov eax, 0x6eff8d05
jmp 0xcaedd8
pop esi
push ebx
mov ebx, esp
jmp 0xcaeefc
mov edx, 0x5efb35b9
or ebp, edx
pop edx
not ebp
jmp 0xcaee2f
add ecx, 4
xchg dword [esp], ecx
jmp 0xcaecc8
push edi
jmp 0xcaf1a9
mov ebp, dword [esp]
jmp 0xcaef78
push edx
push ebx
jmp 0xcaf069
add esp, 4
pop edi
jmp 0xcaef90
mov edi, esp
push edx
mov edx, 4
add edi, edx
jmp 0xcaefac
add eax, 4
xchg dword [esp], eax
pop esp
sub eax, 0xf82fd41b
jmp 0xcaeb87
mov edx, dword [esp]
push eax
jmp 0xcaf0ce
pop edx
push ebx
mov ebx, 4
jmp 0xcaefff
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
pop esp
sub esp, 4
mov dword [esp], ebp
mov dword [esp], esi
jmp 0xcae9d6
add ebx, 0x6dcb553a
pop esi
add eax, ebx
jmp 0xcaf246
push eax
mov eax, 0x749f6b94
sub eax, 0x5bbfedfc
dec eax
not eax
sub eax, 0x79a94867
xor edi, eax
push dword [esp]
pop eax
add esp, 4
jmp 0xcaf05e
add edi, ebx
pop ebx
xchg dword [esp], edi
pop esp
push edi
mov edi, esp
add edi, 4
add edi, 4
sub esp, 4
mov dword [esp], edi
jmp 0xcae9e9
pop ebp
cmp ecx, 0xffff925c
jne 0xcaea1c
sti
push ebp
mov dword [esp], 0x5bdb3a22
xor dword [esp], 0x21a4d9da
jmp 0xcaed2f
add dword [esp], 0x288b09e4
not dword [esp]
jmp 0xcaf112
add eax, ebp
pop ebp
xchg dword [esp], eax
pop esp
push esi
jmp 0xcaf0e6
and edi, 0x2e9add81
jmp 0xcaf133
mov ebx, 0x7fcfbb17
mov edx, ebx
mov ebx, dword [esp]
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
and eax, edx
jmp 0xcaefa3
xchg edi, eax
xor ebx, eax
jmp 0xcaf1db
mov dword [esp], esi
push ebx
mov ebx, 0x7867bea0
sub ebx, 0x208c3a9c
mov esi, ebx
pop ebx
push ecx
mov ecx, 0x4eff729b
xor ecx, 0x7dfed6dc
sub ecx, 0x78ff32d0
sub ecx, 0x797f660e
sub ecx, 0x7bbb94a5
xor ecx, 0xbb4d155a
jmp 0xcaf0d4
push esp
jmp 0xcaea34
sub esi, ecx
pop ecx
shr esi, 3
sub esi, 0xcaf5e0fd
push eax
jmp 0xcaeb68
mov esi, esp
add esi, 4
add esi, 4
push esi
push dword [esp + 4]
push dword [esp]
mov esi, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
jmp 0xcaef55
jmp 0xcaf359
push ebx
mov ebx, 0x9b89561
sub dword [esp + 4], 0x4f3d5466
sub dword [esp + 4], ebx
jmp 0xcaf156
add dword [esp], 4
pop eax
jmp 0xcaf28d
shr edi, 7
or edi, 0x6febb3fd
sub edi, 0x6fefb3fb
add eax, edi
pop edi
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
jmp 0xcaed17
add dword [esp + 4], 0x4f3d5466
jmp 0xcaf163
mov ebx, dword [esp]
jmp 0xcaf175
sub eax, 0x7bbf6304
jmp 0xcaf236
add esp, 4
push edx
mov edx, 1
add dword [esp + 4], edx
pop edx
push ecx
push esi
mov esi, esp
add esi, 4
sub esi, 4
xchg dword [esp], esi
jmp 0xcaf262
push eax
mov eax, 0x7fc666c0
jmp 0xcaf298
push ebp
mov ebp, 0x373d0725
mov edi, ebp
pop ebp
mov dword [esp + 4], edi
pop edi
add dword [esp], 0x1fa72e00
sub dword [esp], 0x1fda8033
or dword [esp], 0x7f771cd1
inc dword [esp]
xor dword [esp], 0x5899bf97
jmp 0xcaf1e4
xor eax, ebx
xor ebx, eax
jmp 0xcaf1f2
mov dword [esp], eax
sub esp, 4
jmp 0xcaede9
push esi
mov esi, 0x71311c4f
push eax
push ebx
mov ebx, 0x7f7fc5c2
push eax
mov eax, 0x7efee024
neg eax
shl eax, 1
shl eax, 5
and eax, 0x7f3adb0e
add eax, 0xbff42f7c
add ebx, eax
pop eax
mov eax, ebx
pop ebx
xor eax, 0x18d2767
sub esi, 0x6f4aecb4
sub esi, eax
add esi, 0x6f4aecb4
pop eax
jmp 0xcaecd8
pop ebx
push eax
push dword [esp + 4]
pop eax
pop dword [esp]
pop esp
jmp 0xcaef1e
mov ebx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
push edx
jmp 0xcaf2b0
pop esp
mov dword [esp], eax
mov eax, 0x4853b46
push eax
add dword [esp], 0x47ed302a
pop ecx
sub ecx, 0x47ed302a
push dword [esp]
pop eax
push ebp
mov ebp, esp
add ebp, 4
push ecx
jmp 0xcae9b6
push edi
mov edi, 0x7edf5ff9
jmp 0xcaebe9
or eax, 0x72fb9171
not eax
xor eax, 0x74361d00
sub eax, 0x8836e17d
and esi, eax
jmp 0xcaf2fa
mov edx, esp
push ebp
mov ebp, 0x75ff9b00
shr ebp, 3
jmp 0xcaeb37
add esp, 4
sub ebp, 0x2b9f4574
sub ebp, eax
add ebp, 0x2b9f4574
pop eax
add edx, 0x718be308
jmp 0xcaeb7a
dec edi
add edi, 0x5b362e5e
xor edi, 0xfe544a2b
push edx
mov edx, edi
mov ebx, edx
mov edx, dword [esp]
jmp 0xcaf30f
pop eax
shl esi, 5
sub esi, 0x1fb62724
or esi, 0x696d9845
jmp 0xcaea92
add esp, 4
pop edi
xor ebx, eax
jmp 0xcaebca
xor esi, ebx
push dword [esp]
pop ebx
sub esp, 4
mov dword [esp], ebp
mov dword [esp], eax
mov eax, esp
jmp 0xcaf333
push edx
mov dword [esp], 0x2a4a8963
mov dword [esp], ecx
mov ecx, 4
add eax, ecx
mov ecx, dword [esp]
jmp 0xcaf34d
add esp, 4
push edx
jmp 0xcaee19
push 0x766d337f
mov dword [esp], ecx
jmp 0xcaf3a6
mov ebp, 0x3f679315
add ecx, ebp
mov ebp, dword [esp]
add esp, 4
add ecx, 0x6f636703
sub ecx, eax
sub ecx, 0x6f636703
sub ecx, 0x3f679315
push eax
push esi
mov esi, 0x2bffc851
sub esi, 0xccc1d75c
mov eax, esi
pop esi
inc eax
jmp 0xcaf3a0
push eax
jmp 0xcaf3d6
push esi
mov esi, 0x6bbdd0bb
mov ecx, esi
jmp 0xcaf3b9
mov esi, dword [esp]
add esp, 4
push eax
mov eax, 0x7ffbbb00
neg eax
and eax, 0x4ffe1eee
xor eax, 0x7df0777a
jmp 0xcaf3e2
dec dword [esp]
pop eax
xchg ebx, eax
not ebx
jmp 0xcaf400
push eax
mov eax, 0x76dbe3f8
sub eax, 0x3fffdbba
and eax, 0x5b87d112
add eax, 0xd570f4b
add ecx, eax
pop eax
push ebp
jmp 0xcaf366
xor eax, ebx
xor ebx, eax
xor eax, ebx
jmp 0xcaf40b
neg eax
sub eax, 0x3f62e199
sub ecx, eax
mov eax, dword [esp]
add esp, 4
mov eax, dword [esp]
add esp, 4
push edx
push 0xedc8e648
pop edx
sub ecx, edx
pop edx
mov eax, ecx
pop ecx
jmp 0xcaf3b3