Function at 0x4061b6
Capabilities:
Encode data using xor

Disassembly:
cmp byte [ebp - 0xc], 0
je 0x4061b6
mov eax, dword [ebp - 0x18]
xor edx, edx
jmp 0x4061c9
mov ecx, 0x2d178c4c
xor ecx, 0x69e4f72d
push ecx
mov esi, 0x1001328
mov ecx, 0x4083a002
xor esi, ecx
mov al, byte [0xce314083]
pop ebx
xor esi, ebx
push 0x1511e57a
mov edi, 0x5e0d590c
pop ebx
xor edi, ebx
xor esi, edi
mov ebx, esi
xor ebx, 0xffffffff
and ebx, 0x4e2ca555
and esi, 0xb1d35aaa
or esi, ebx
xor ebx, ebx
add ebx, esi
push ebx
pop edi
mov ebx, 0x39a21d06
mov ecx, 0xc65de2a9
xor ecx, ebx
add edi, ecx
mov ecx, 0xffffffff
add edi, ecx
mov eax, dword [edi + 0x52]
mov edx, 0x1581f558
xor edx, 0x5b0b45bf
push edx
mov ebx, 0x3b021004
mov edx, 0x40d083b8
xor ebx, edx
pop ecx
xor ebx, ecx
push ebx
pop edx
mov ecx, 0xb0cde1e9
xor edx, ecx
xor edx, 0x4f321e16
and edx, 0x3558235b
and ebx, 0xcaa7dca4
or ebx, edx
mov ecx, 0
xor ecx, ebx
mov edx, 0xfffffffc
add esp, edx
mov dword [esp], ecx
push esp
pop esi
xor edi, edi
add edi, esi
xor ebx, ebx
add ebx, edi
mov ecx, ebx
add esp, 0xfffffffc
mov dword [esp], ecx
mov ebx, 0x64439248
xor ebx, 0x2604817d
mov edx, 0x2c88ec72
xor ebx, edx
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
push 0x763ff649
mov edi, 0x6b59f178
pop ebx
xor edi, ebx
mov ebx, 0x27bd9854
xor edi, ebx
xor edi, 0x54146062
pop ecx
xor edi, ecx
mov edx, 0xfffffffc
add esp, edx
xor ebx, ebx
add ebx, esp
mov dword [ebx], edi
mov edx, 0x295c357
mov ebx, 0x6ede9bfe
xor ebx, edx
mov ecx, 0x27be5417
xor ebx, ecx
push 0x9ad3622
mov ecx, 0x4258ae9c
pop edx
xor ecx, edx
xor ebx, ecx
mov ecx, 0
xor ecx, ebx
mov esi, 4
sub esp, esi
mov dword [esp], ecx
mov ebx, 0x79d0e83b
xor ebx, 0x55e839e9
push ebx
mov esi, 0x4792e3ea
xor esi, 0x331e0977
pop edi
xor esi, edi
mov ebx, esi
push ebx
push 0x3f7f2b7d
mov esi, 0x30cfa115
pop edi
xor esi, edi
mov edx, 0x7f246d28
xor edx, 0x2860cc0f
xor edx, esi
pop ecx
xor edx, ecx
xor ebx, ebx
add ebx, edx
mov esi, 4
sub esp, esi
mov dword [esp], ebx
call eax
pop ecx
mov eax, 0x704957c5
mov edi, 0x7f893687
xor edi, eax
mov eax, edi
xor eax, 0xffffffff
and eax, 0x271a607d
and edi, 0xd8e59f82
or edi, eax
push 0x12bdcd65
mov edx, 0x33a8f289
pop ebx
xor edx, ebx
mov esi, edx
xor esi, 0xffffffff
and esi, 0x9cf3df6
and edx, 0xf630c209
or edx, esi
xor edx, edi
mov eax, 0x549b0ef3
mov ecx, 0x527812ed
xor ecx, eax
mov ebx, 0x77c2d7d6
xor ebx, 0x2a615b2
xor ebx, ecx
mov esi, 0x2e2b6509
xor esi, 0x7d2c75fd
xor ebx, esi
mov eax, 0x651e23b8
xor ebx, eax
xor ebx, 0x45de8db2
mov eax, 0x1ccfec4b
mov esi, 0x1f0223a0
xor esi, eax
mov edi, 0x1cd6e8a1
mov ecx, 0x541b6d3f
xor ecx, edi
xor ecx, esi
mov edi, 0x6340d696
xor edi, 0x28001040
xor ecx, edi
mov esi, 0xfffffffc
add esp, esi
mov eax, esp
push eax
pop edi
mov dword [edi], edx
mov esi, ecx
mov edi, 0xa7ae524
mov eax, 0xf5851ad8
xor edi, eax
add esp, edi
mov dword [esp], esi
xor edx, edx
mov dl, byte [ebx]
add ecx, edx
mov dl, byte [ecx]
pop ecx
mov byte [ebx], dl
mov esi, 0xbc8ac69
xor esi, 0x36e2da17
push 0x23bc4bae
mov eax, 0x1e963dd1
pop edi
xor eax, edi
xor eax, esi
sub ebx, eax
pop edx
dec edx
xor eax, eax
add eax, edx
and eax, eax
jne 0x4063d2
mov ecx, 0x20006422
mov eax, 0x6518094
xor ecx, eax
push 0x1c852ce4
mov edi, 0x1b6fb30f
pop edx
xor edi, edx
xor edi, ecx
mov esi, 0x2a2f565d
xor esi, 0x211868cf
mov eax, esi
xor eax, 0xffffffff
and eax, 0x2acc18af
and esi, 0xd533e750
or esi, eax
xor esi, edi
call esi
pop esi
pop esi
ret