Function at 0x5c2280
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x14]
lea eax, [ebx + ecx]
mov dword [ebp - 4], eax
cmp ecx, 0x20
jb 0x5c23e7
add eax, 0xffffffe0
mov dword [ebp - 0x20], eax
mov eax, esi
add eax, 0xadc0b5d6
mov dword [ebp - 0x14], eax
mov eax, edi
adc eax, 0x60ea27ee
mov dword [ebp - 0x10], eax
mov eax, esi
add eax, 0x27d4eb4f
mov dword [ebp - 0xc], eax
mov eax, edi
adc eax, 0xc2b2ae3d
mov dword [ebp - 8], eax
mov eax, esi
add eax, 0x7a143579
mov dword [ebp - 0x18], eax
mov eax, edi
adc eax, 0x61c8864e
mov dword [ebp - 0x1c], eax
push ebx
call fcn.006eca48
push edx
push eax
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.005c8870
add ebx, 8
mov dword [ebp - 0x14], eax
push ebx
mov dword [ebp - 0x10], edx
call fcn.006eca48
push edx
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.005c8870
add ebx, 8
mov dword [ebp - 0xc], eax
push ebx
mov dword [ebp - 8], edx
call fcn.006eca48
push edx
push eax
push edi
push esi
call fcn.005c8870
add ebx, 8
mov esi, eax
push ebx
mov edi, edx
call fcn.006eca48
add esp, 0x40
push edx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.005c8870
add ebx, 8
mov dword [ebp - 0x18], eax
add esp, 0x10
mov ecx, edx
mov dword [ebp - 0x1c], ecx
cmp ebx, dword [ebp - 0x20]
jbe 0x5c22e6
push ecx
push eax
push edi
push esi
push dword [ebp - 8]
mov dword [ebp - 0x20], edi
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], esi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0x12
push ecx
push eax
call fcn.005cb024
push 0xc
push dword [ebp - 0x20]
mov edi, eax
mov esi, edx
push dword [ebp - 0x1c]
call fcn.005cb024
push 7
push dword [ebp - 8]
add edi, eax
push dword [ebp - 0xc]
adc esi, edx
call fcn.005cb024
push 1
push dword [ebp - 0x10]
add edi, eax
push dword [ebp - 0x14]
adc esi, edx
call fcn.005cb024
add esp, 0x30
add edi, eax
adc esi, edx
push esi
push edi
call fcn.005c27b4
add esp, 0x10
push edx
push eax
call fcn.005c27b4
add esp, 0x10
push edx
push eax
call fcn.005c27b4
add esp, 0x10
push edx
push eax
call fcn.005c27b4
mov ecx, dword [ebp + 0xc]
add esp, 0x10
mov esi, eax
mov edi, edx
jmp 0x5c23f3
add esi, 0x165667c5
adc edi, 0x27d4eb2f
add esi, ecx
lea eax, [ebx + 8]
mov dword [ebp - 0x1c], esi
adc edi, 0
cmp eax, dword [ebp - 4]
ja 0x5c2456
push 0x1b
push ebx
call fcn.006eca48
push edx
push eax
push 0
push 0
call fcn.005c8870
add esp, 0x14
xor edx, edi
xor eax, esi
push edx
push eax
call fcn.005cb024
add esp, 0xc
push 0x9e3779b1
push 0x85ebca87
push edx
push eax
call fcn.006f1674
mov esi, eax
mov edi, edx
add esi, 0xc2b2ae63
adc edi, 0x85ebca77
add ebx, 8
lea eax, [ebx + 8]
cmp eax, dword [ebp - 4]
jbe 0x5c2403
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 4]
lea ecx, [ebx + 4]
mov dword [ebp - 0x20], ecx
cmp ecx, eax
ja 0x5c24b6
push 0x17
push ebx
call fcn.005be3f4
pop ecx
mov ecx, eax
mov eax, 0x9e3779b1
mul ecx
mov esi, eax
mov eax, 0x85ebca87
mul ecx
xor eax, dword [ebp - 0x1c]
add esi, edx
xor esi, edi
push esi
push eax
call fcn.005cb024
add esp, 0xc
push 0xc2b2ae3d
push 0x27d4eb4f
push edx
push eax
call fcn.006f1674
mov ebx, dword [ebp - 0x20]
mov esi, eax
mov eax, dword [ebp - 4]
add esi, 0x9e3779f9
mov edi, edx
adc edi, 0x165667b1
cmp ebx, eax
jae 0x5c24fa
movzx eax, byte [ebx]
push 0xb
push 0x27d4eb2f
cdq
push 0x165667c5
push edx
push eax
call fcn.006f1674
xor edx, edi
xor eax, esi
push edx
push eax
call fcn.005cb024
add esp, 0xc
push 0x9e3779b1
push 0x85ebca87
push edx
push eax
call fcn.006f1674
inc ebx
mov esi, eax
mov edi, edx
cmp ebx, dword [ebp - 4]
jb 0x5c24ba
push 0xc2b2ae3d
xor eax, eax
mov ecx, edi
push 0x27d4eb4f
shr ecx, 1
xor eax, edi
xor ecx, esi
push eax
push ecx
call fcn.006f1674
mov esi, eax
mov ecx, edx
shrd esi, ecx, 0x1d
push 0x165667b1
shr ecx, 0x1d
xor esi, eax
push 0x9e3779f9
xor ecx, edx
push ecx
push esi
call fcn.006f1674
mov ecx, edx
xor esi, esi
pop edi
xor eax, ecx
xor edx, esi
pop esi
pop ebx
leave
ret