Function at 0x4028d0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, esi
mov ecx, 0x10
mov edx, dword [eax + 0x74]
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x4028dc
push edi
mov edi, 0xa
mov eax, dword [esi + 0x10]
mov edx, dword [esi]
add edx, eax
push 0x10
mov dword [esi], edx
mov eax, edx
xor eax, dword [esi + 0x30]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x30], eax
add ecx, eax
push 0xc
mov dword [esi + 0x20], ecx
mov eax, ecx
xor eax, dword [esi + 0x10]
push eax
call fcn.00402c50
mov edx, dword [esi]
mov dword [esi + 0x10], eax
add edx, eax
push 8
mov dword [esi], edx
mov eax, edx
xor eax, dword [esi + 0x30]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x30], eax
add ecx, eax
push 7
mov dword [esi + 0x20], ecx
mov eax, ecx
xor eax, dword [esi + 0x10]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 4]
add edx, ecx
mov dword [esi + 0x10], eax
mov dword [esi + 4], edx
mov eax, edx
mov edx, dword [esi + 0x34]
push 0x10
xor eax, edx
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x34], eax
add ecx, eax
push 0xc
mov dword [esi + 0x24], ecx
mov eax, ecx
xor eax, dword [esi + 0x14]
push eax
call fcn.00402c50
mov edx, dword [esi + 4]
mov dword [esi + 0x14], eax
add edx, eax
push 8
mov dword [esi + 4], edx
mov eax, edx
xor eax, dword [esi + 0x34]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x34], eax
add ecx, eax
push 7
mov dword [esi + 0x24], ecx
mov eax, ecx
xor eax, dword [esi + 0x14]
push eax
call fcn.00402c50
mov edx, dword [esi + 0x18]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 8]
add esp, 0x40
add eax, edx
mov edx, dword [esi + 0x38]
mov dword [esi + 8], eax
xor eax, edx
push 0x10
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x38], eax
add ecx, eax
push 0xc
mov dword [esi + 0x28], ecx
mov eax, ecx
xor eax, dword [esi + 0x18]
push eax
call fcn.00402c50
mov edx, dword [esi + 8]
mov dword [esi + 0x18], eax
add edx, eax
push 8
mov dword [esi + 8], edx
mov eax, edx
xor eax, dword [esi + 0x38]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x38], eax
add ecx, eax
push 7
mov dword [esi + 0x28], ecx
mov eax, ecx
xor eax, dword [esi + 0x18]
push eax
call fcn.00402c50
mov edx, dword [esi + 0xc]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
push 0x10
add edx, eax
mov dword [esi + 0xc], edx
mov eax, edx
xor eax, dword [esi + 0x3c]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x3c], eax
add ecx, eax
push 0xc
mov dword [esi + 0x2c], ecx
mov eax, ecx
xor eax, dword [esi + 0x1c]
push eax
call fcn.00402c50
mov edx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
add edx, eax
push 8
mov dword [esi + 0xc], edx
mov eax, edx
xor eax, dword [esi + 0x3c]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x3c], eax
add ecx, eax
push 7
mov dword [esi + 0x2c], ecx
mov eax, ecx
xor eax, dword [esi + 0x1c]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x14]
mov edx, dword [esi]
add edx, ecx
mov dword [esi + 0x1c], eax
mov dword [esi], edx
mov eax, edx
mov edx, dword [esi + 0x3c]
add esp, 0x40
xor eax, edx
push 0x10
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x3c], eax
add ecx, eax
push 0xc
mov dword [esi + 0x28], ecx
mov eax, ecx
xor eax, dword [esi + 0x14]
push eax
call fcn.00402c50
mov edx, dword [esi]
mov dword [esi + 0x14], eax
add edx, eax
push 8
mov dword [esi], edx
mov eax, edx
xor eax, dword [esi + 0x3c]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x3c], eax
add ecx, eax
push 7
mov dword [esi + 0x28], ecx
mov eax, ecx
xor eax, dword [esi + 0x14]
push eax
call fcn.00402c50
mov edx, dword [esi + 0x18]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 4]
push 0x10
add eax, edx
mov edx, dword [esi + 0x30]
mov dword [esi + 4], eax
xor eax, edx
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x30], eax
add ecx, eax
push 0xc
mov dword [esi + 0x2c], ecx
mov eax, ecx
xor eax, dword [esi + 0x18]
push eax
call fcn.00402c50
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
add edx, eax
push 8
mov dword [esi + 4], edx
mov eax, edx
xor eax, dword [esi + 0x30]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x30], eax
add ecx, eax
push 7
mov dword [esi + 0x2c], ecx
mov eax, ecx
xor eax, dword [esi + 0x18]
push eax
call fcn.00402c50
mov edx, dword [esi + 8]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
add esp, 0x40
add edx, eax
mov dword [esi + 8], edx
mov eax, edx
mov edx, dword [esi + 0x34]
push 0x10
xor eax, edx
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x34], eax
add ecx, eax
push 0xc
mov dword [esi + 0x20], ecx
mov eax, ecx
xor eax, dword [esi + 0x1c]
push eax
call fcn.00402c50
mov edx, dword [esi + 8]
mov dword [esi + 0x1c], eax
add edx, eax
push 8
mov dword [esi + 8], edx
mov eax, edx
xor eax, dword [esi + 0x34]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x34], eax
add ecx, eax
push 7
mov dword [esi + 0x20], ecx
mov eax, ecx
xor eax, dword [esi + 0x1c]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
add edx, ecx
mov dword [esi + 0x1c], eax
mov dword [esi + 0xc], edx
mov eax, edx
mov edx, dword [esi + 0x38]
push 0x10
xor eax, edx
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x38], eax
add ecx, eax
push 0xc
mov dword [esi + 0x24], ecx
mov eax, ecx
xor eax, dword [esi + 0x10]
push eax
call fcn.00402c50
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], eax
add edx, eax
push 8
mov dword [esi + 0xc], edx
mov eax, edx
xor eax, dword [esi + 0x38]
push eax
call fcn.00402c50
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x38], eax
add ecx, eax
push 7
mov dword [esi + 0x24], ecx
mov eax, ecx
xor eax, dword [esi + 0x10]
push eax
call fcn.00402c50
add esp, 0x40
dec edi
mov dword [esi + 0x10], eax
jne 0x4028ed
mov eax, esi
mov ecx, 0x10
mov edx, dword [eax + 0x74]
mov edi, dword [eax]
add edi, edx
mov dword [eax], edi
add eax, 4
dec ecx
jne 0x402c1f
mov eax, dword [esi + 0xa4]
pop edi
inc eax
mov dword [esi + 0xa4], eax
jne 0x402c44
inc dword [esi + 0xa8]
pop esi
ret