Function at 0x4565dc
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffed4
mov dword [esp], eax
mov edi, dword [esp]
mov edi, dword [edi + 0x90]
mov eax, dword [esp]
mov eax, dword [eax + 0x94]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov dword [esp + 0x14], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x9c]
mov dword [esp + 0x18], eax
mov ebp, dword [esp]
mov ebp, dword [ebp + 0xa0]
mov eax, dword [esp]
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x20], eax
mov eax, dword [esp]
mov eax, dword [eax + 0xac]
mov dword [esp + 0x24], eax
lea edx, [esp + 0x2c]
mov eax, dword [esp]
mov ecx, 0x40
call fcn.00406944
mov esi, 0x10
lea ebx, [esp + 0x2c]
mov eax, dword [ebx]
call fcn.00456414
mov dword [ebx], eax
add ebx, 4
dec esi
jne 0x456663
mov esi, 0x30
lea ebx, [esp + 0x30]
mov eax, dword [ebx]
mov dl, 7
call fcn.004565c0
push eax
mov eax, dword [ebx]
mov dl, 0x12
call fcn.004565c0
pop edx
xor edx, eax
mov eax, dword [ebx]
shr eax, 3
xor edx, eax
mov dword [esp + 4], edx
mov eax, dword [ebx + 0x34]
mov dl, 0x11
call fcn.004565c0
push eax
mov eax, dword [ebx + 0x34]
mov dl, 0x13
call fcn.004565c0
pop edx
xor edx, eax
mov eax, dword [ebx + 0x34]
shr eax, 0xa
xor edx, eax
mov dword [esp + 8], edx
mov eax, dword [ebx - 4]
add eax, dword [esp + 4]
add eax, dword [ebx + 0x20]
add eax, dword [esp + 8]
mov dword [ebx + 0x3c], eax
add ebx, 4
dec esi
jne 0x45667b
mov esi, 0x40
mov ebx, 0x5d5abc
lea eax, [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dl, 2
mov eax, edi
call fcn.004565c0
push eax
mov dl, 0xd
mov eax, edi
call fcn.004565c0
pop edx
xor edx, eax
push edx
mov dl, 0x16
mov eax, edi
call fcn.004565c0
pop edx
xor edx, eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, edi
call fcn.004565ac
add eax, dword [esp + 4]
mov dword [esp + 0xc], eax
mov dl, 6
mov eax, ebp
call fcn.004565c0
push eax
mov dl, 0xb
mov eax, ebp
call fcn.004565c0
pop edx
xor edx, eax
push edx
mov dl, 0x19
mov eax, ebp
call fcn.004565c0
pop edx
xor edx, eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, ebp
call fcn.004565a0
mov edx, dword [esp + 0x24]
add edx, dword [esp + 8]
add eax, edx
add eax, dword [ebx]
mov edx, dword [esp + 0x28]
add eax, dword [edx]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x18]
add ebp, eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edi
mov edi, eax
add edi, dword [esp + 0xc]
add dword [esp + 0x28], 4
add ebx, 4
dec esi
jne 0x4566e9
mov eax, dword [esp]
add dword [eax + 0x90], edi
mov eax, dword [esp]
mov edx, dword [esp + 0x10]
add dword [eax + 0x94], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x14]
add dword [eax + 0x98], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x18]
add dword [eax + 0x9c], edx
mov eax, dword [esp]
add dword [eax + 0xa0], ebp
mov eax, dword [esp]
mov edx, dword [esp + 0x1c]
add dword [eax + 0xa4], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x20]
add dword [eax + 0xa8], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x24]
add dword [eax + 0xac], edx
add esp, 0x12c
pop ebp
pop edi
pop esi
pop ebx
ret