Function at 0x460fac
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 4], edx
xor edi, edi
push ebp
push 0x4611fa
push dword fs:[edi]
mov dword fs:[edi], esp
mov eax, dword [ebp - 4]
call fcn.00404630
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jg 0x460fee
mov eax, dword [ebp + 8]
call fcn.00404370
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461204
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
cmp byte [eax + edx - 1], 0
jne 0x461010
mov eax, dword [ebp + 8]
call fcn.00404370
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461204
lea eax, [ebp - 0x14]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, ebx
call fcn.00404830
lea edx, [ebp - 0x14]
mov ecx, 8
call fcn.004028f8
mov eax, dword [ebp - 0x2c]
dec eax
test eax, eax
jns 0x46103f
add eax, 7
sar eax, 3
shl eax, 3
add eax, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
call fcn.004049bc
lea eax, [ebp - 0xc]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 8]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
call fcn.00404830
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
test eax, eax
jns 0x461083
add eax, 7
sar eax, 3
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 8]
call fcn.00404888
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x34]
dec eax
test eax, eax
jl 0x4611cc
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x34]
dec eax
cmp eax, dword [ebp - 0x24]
jle 0x4610d2
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x461115
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jne 0x4610ec
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
jmp 0x461115
mov edx, dword [ebp - 0x24]
shl edx, 3
inc edx
xor esi, esi
lea eax, [ebp - 0xc]
lea ecx, [esi + edx]
cmp ecx, dword [ebp - 0x2c]
jg 0x46110b
mov ebx, dword [ebp - 4]
mov cl, byte [ebx + ecx - 1]
mov byte [eax], cl
jmp 0x46110e
mov byte [eax], 0
inc esi
inc eax
cmp esi, 8
jne 0x4610f8
mov dword [ebp - 0x28], 2
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
mov dword [edx], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [ebp - 0x44]
mov dword [edx], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x50]
xor eax, dword [ecx]
xor edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov esi, 4
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x20]
lea ecx, [ebp - 8]
mov bl, byte [eax]
shl ebx, 4
or bl, byte [eax + 1]
xor bl, byte [edx]
mov byte [ecx], bl
inc ecx
add eax, 2
inc edx
dec esi
jne 0x461156
dec dword [ebp - 0x28]
jne 0x46111c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [ebp - 0x40]
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov edx, dword [ebp - 0x48]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x44]
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
add dword [ebp - 0x3c], 8
add dword [ebp - 0x54], 8
inc dword [ebp - 0x24]
dec dword [ebp - 0x58]
jne 0x4610b7
jmp 0x4611cc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
call fcn.00404630
mov edx, eax
mov eax, dword [ebp + 8]
mov ecx, 1
call fcn.004048d0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
call fcn.00404630
test eax, eax
jle 0x4611f0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
call fcn.00404630
mov edx, dword [ebp + 8]
mov edx, dword [edx]
cmp byte [edx + eax - 1], 0
je 0x4611b3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461204
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4