Function at 0x4029b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x464ce4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10c], esi
jmp 0x4029df
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xf8]
push eax
call 0x401590
mov eax, dword [ebp + 0xc]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
add esp, 4
test eax, eax
jle 0x402a1a
mov edi, eax
push esi
lea eax, [ebp - 0xf8]
mov ecx, esi
call fcn.004017e0
add esp, 4
add esi, 0x10
dec edi
jne 0x402a03
lea eax, [ebp - 0x104]
xor edx, edx
mov ecx, 1
mov esi, 2
mov edi, 3
sub ecx, eax
sub esi, eax
push ebx
mov dword [ebp - 0x104], 0x78dc897e
mov dword [ebp - 0x100], 0x4fb64b7f
mov dword [ebp - 0xfc], 0x16080d7d
mov dword [ebp - 0xf8], 0x2162cf7c
mov dword [ebp - 0xf4], 0xa4748079
mov dword [ebp - 0xf0], 0x931e4278
mov dword [ebp - 0xec], 0xcaa0047a
mov dword [ebp - 0xe8], 0xfdcac67b
mov dword [ebp - 0xe4], 0xb02ebc6c
mov dword [ebp - 0xe0], 0x87447e6d
mov dword [ebp - 0xdc], 0xdefa386f
mov dword [ebp - 0xd8], 0xe990fa6e
mov dword [ebp - 0xd4], 0x6c86b56b
mov dword [ebp - 0xd0], 0x5bec776a
mov dword [ebp - 0xcc], 0x2523168
mov dword [ebp - 0xc8], 0x3538f369
mov dword [ebp - 0xc4], 0x87faf62
mov dword [ebp - 0xc0], 0x3f156d63
mov dword [ebp - 0xbc], 0x66ab2b61
mov dword [ebp - 0xb8], 0x51c1e960
mov dword [ebp - 0xb4], 0xd4d7a665
mov dword [ebp - 0xb0], 0xe3bd6464
mov dword [ebp - 0xac], 0xba032266
mov dword [ebp - 0xa8], 0x8d69e067
mov dword [ebp - 0xa4], 0x20cbd748
mov dword [ebp - 0xa0], 0x17a11549
mov dword [ebp - 0x9c], 0x4e1f534b
mov dword [ebp - 0x98], 0x7975914a
mov dword [ebp - 0x94], 0xfc63de4f
mov dword [ebp - 0x90], 0xcb091c4e
mov dword [ebp - 0x8c], 0x92b75a4c
mov dword [ebp - 0x88], 0xa5dd984d
mov dword [ebp - 0x84], 0x989ac446
mov dword [ebp - 0x80], 0xaff00647
mov dword [ebp - 0x7c], 0xf64e4045
mov dword [ebp - 0x78], 0xc1248244
mov dword [ebp - 0x74], 0x4432cd41
mov dword [ebp - 0x70], 0x73580f40
mov dword [ebp - 0x6c], 0x2ae64942
mov dword [ebp - 0x68], 0x1d8c8b43
mov dword [ebp - 0x64], 0x5068f154
mov dword [ebp - 0x60], 0x67023355
mov dword [ebp - 0x5c], 0x3ebc7557
mov dword [ebp - 0x58], 0x9d6b756
mov dword [ebp - 0x54], 0x8cc0f853
mov dword [ebp - 0x50], 0xbbaa3a52
mov dword [ebp - 0x4c], 0xe2147c50
mov dword [ebp - 0x48], 0xd57ebe51
mov dword [ebp - 0x44], 0xe839e25a
mov dword [ebp - 0x40], 0xdf53205b
mov dword [ebp - 0x3c], 0x86ed6659
mov dword [ebp - 0x38], 0xb187a458
mov dword [ebp - 0x34], 0x3491eb5d
mov dword [ebp - 0x30], 0x3fb295c
mov dword [ebp - 0x2c], 0x5a456f5e
mov dword [ebp - 0x28], 0x6d2fad5f
mov dword [ebp - 0x24], 0x801b35e1
mov dword [ebp - 0x20], 0xb771f7e0
mov dword [ebp - 0x1c], 0xeecfb1e2
mov dword [ebp - 0x18], 0xd9a573e3
mov dword [ebp - 0x14], 0x5cb33ce6
mov dword [ebp - 0x10], 0x6bd9fee7
mov dword [ebp - 0xc], 0x3267b8e5
mov dword [ebp - 8], 0x50d7ae4
mov dword [ebp - 0x108], edx
sub edi, eax
lea eax, [ebp + edx - 0x104]
mov ebx, edx
mov edx, dword [ebp + 8]
and ebx, 0xf
movzx ebx, byte [ebx + edx]
xor byte [eax], bl
lea ebx, [eax + ecx]
and ebx, 0xf
movzx ebx, byte [ebx + edx]
xor byte [eax + 1], bl
lea ebx, [eax + esi]
and ebx, 0xf
movzx ebx, byte [ebx + edx]
xor byte [eax + 2], bl
lea ebx, [eax + edi]
and ebx, 0xf
mov dl, byte [ebx + edx]
xor byte [eax + 3], dl
mov edx, dword [ebp - 0x108]
add edx, 4
mov dword [ebp - 0x108], edx
cmp edx, 0x100
jl 0x402c61
mov esi, dword [ebp + 0xc]
xor eax, eax
pop ebx
test esi, esi
jle 0x402ce7
mov ecx, dword [ebp - 0x10c]
jmp 0x402cd0
mov edx, eax
and edx, 0xff
mov dl, byte [ebp + edx - 0x104]
xor byte [ecx + eax], dl
inc eax
cmp eax, esi
jl 0x402cd0
jmp 0x402cf7
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0043836a
mov esp, ebp
pop ebp
ret