Function at 0x4374a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x16c
xor ebx, ebx
mov edx, dword [ebp + 0xc]
jmp 0x4374c0
mov eax, dword [edx + ebx*4]
mov dword [ebp + ebx*4 - 0x158], eax
inc ebx
cmp ebx, 0xf
jle 0x4374c0
mov ebx, 0x10
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebp + ebx*4 - 0x178]
mov esi, dword [ebp + ebx*4 - 0x164]
mov ecx, dword [ebp + ebx*4 - 0x190]
mov edx, dword [ebp + ebx*4 - 0x198]
xor eax, esi
xor eax, ecx
xor eax, edx
rol eax, 1
mov dword [ebp + ebx*4 - 0x158], eax
inc ebx
cmp ebx, 0x4f
jle 0x4374e0
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [edx + 4]
mov dword [ebp - 0x16c], eax
mov esi, edx
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x170], edx
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0xc]
mov edi, eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x160], edx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
lea esi, [esi]
lea edi, [edi]
mov edx, esi
mov eax, dword [ebp - 0x15c]
mov ecx, esi
not edx
and ecx, edi
and edx, dword [ebp - 0x160]
rol eax, 5
or ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp + ebx*4 - 0x158]
inc ebx
add eax, ecx
add eax, edx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x160], edi
mov edi, esi
add eax, 0x5a827999
rol edi, 0x1e
cmp ebx, 0x13
mov esi, dword [ebp - 0x15c]
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x15c], eax
jle 0x437570
mov ebx, 0x14
nop
mov edx, dword [ebp - 0x15c]
mov eax, esi
mov ecx, dword [ebp - 0x160]
xor eax, edi
rol edx, 5
xor eax, ecx
add edx, eax
mov eax, dword [ebp - 0x164]
add edx, eax
mov eax, dword [ebp + ebx*4 - 0x158]
inc ebx
add edx, eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x160], edi
mov edi, esi
add edx, 0x6ed9eba1
rol edi, 0x1e
cmp ebx, 0x27
mov esi, dword [ebp - 0x15c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x15c], edx
jle 0x4375d0
mov ebx, 0x28
lea esi, [esi]
mov edx, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
or edx, edi
and ecx, edi
and edx, esi
or edx, ecx
rol eax, 5
mov ecx, dword [ebp - 0x164]
add eax, edx
mov edx, dword [ebp + ebx*4 - 0x158]
add eax, ecx
inc ebx
add eax, edx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x160], edi
mov edi, esi
sub eax, 0x70e44324
mov dword [ebp - 0x164], edx
rol edi, 0x1e
cmp ebx, 0x3b
mov esi, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], eax
jle 0x437630
mov ebx, 0x3c
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [ebp - 0x160]
mov edx, esi
mov eax, dword [ebp - 0x15c]
xor edx, edi
xor edx, ecx
rol eax, 5
add eax, edx
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebp + ebx*4 - 0x158]
inc ebx
add eax, edx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x160], edi
add eax, ecx
mov edi, esi
mov dword [ebp - 0x164], edx
sub eax, 0x359d3e2a
rol edi, 0x1e
cmp ebx, 0x4f
mov esi, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], eax
jle 0x4376a0
mov edx, dword [ebp - 0x16c]
mov ebx, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
add eax, edx
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x170]
add eax, esi
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x174]
add eax, edi
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x178]
add eax, ebx
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x168]
add eax, ecx
mov dword [edx + 0x10], eax
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret