Function at 0x419860
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x55c
mov eax, dword [0x447280]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
mov eax, dword [ebx + 0x374]
push edi
mov esi, dword [eax + 0x290]
add eax, 0x60
push esi
push eax
lea eax, [ebp - 0x220]
push eax
mov dword [ebp - 0x538], esi
mov dword [ebp - 0x51c], 0x67452301
mov dword [ebp - 0x518], 0xefcdab89
mov dword [ebp - 0x514], 0x98badcfe
mov dword [ebp - 0x510], 0x10325476
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x4bc], 0x67452301
mov dword [ebp - 0x4b8], 0xefcdab89
mov dword [ebp - 0x4b4], 0x98badcfe
mov dword [ebp - 0x4b0], 0x10325476
mov dword [ebp - 0x4ac], 0xc3d2e1f0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4c0], 0
call fcn.00422490
lea eax, [ebp - 0x467]
mov dword [ebp - 0x530], eax
lea eax, [ebp - 0x447]
sub eax, 0x41
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x467]
sub eax, 0x41
mov dword [ebp - 0x544], eax
mov eax, 0xffffffc0
sub eax, esi
mov dword [ebp - 0x548], eax
mov eax, 0xffffffbf
add esp, 0xc
sub eax, esi
mov dword [ebp - 0x53c], 0x260
lea edi, [esi + 0x41]
mov dword [ebp - 0x52c], eax
jmp 0x419990
lea edx, [eax + edi]
lea ecx, [ebp - 0x540]
call fcn.00418f50
test eax, eax
je 0x419b97
mov eax, dword [ebp - 0x548]
add eax, edi
push eax
mov eax, ecx
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.00422490
mov esi, dword [ebx + 0x374]
add esp, 0xc
lea eax, [esi + 0x60]
push dword [ebp - 0x538]
push eax
push dword [ebp - 0x530]
call fcn.00422490
mov eax, dword [ebp - 0x544]
movq xmm0, qword [esi]
movq qword [eax + edi], xmm0
movq xmm0, qword [esi + 8]
movq qword [eax + edi + 8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + edi + 0x10], xmm0
movq xmm0, qword [esi + 0x18]
movq qword [eax + edi + 0x18], xmm0
mov eax, dword [ebp - 0x534]
movq xmm0, qword [esi + 0x20]
movq qword [eax + edi], xmm0
movq xmm0, qword [esi + 0x28]
movq qword [eax + edi + 8], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [eax + edi + 0x10], xmm0
movq xmm0, qword [esi + 0x38]
add esp, 0xc
lea edx, [ebp - 0x468]
push edi
lea ecx, [ebp - 0x4c8]
movq qword [eax + edi + 0x18], xmm0
call fcn.00414870
add esp, 4
lea edx, [ebp - 0x55c]
lea ecx, [ebp - 0x4c8]
call fcn.00414920
mov esi, dword [ebp - 0x538]
movq xmm0, qword [ebp - 0x55c]
mov eax, dword [ebp - 0x54c]
movq qword [ebp + esi - 0x220], xmm0
movq xmm0, qword [ebp - 0x554]
movq qword [ebp + esi - 0x218], xmm0
mov dword [ebp + esi - 0x210], eax
lea eax, [esi + 0x14]
push eax
lea edx, [ebp - 0x220]
lea ecx, [ebp - 0x528]
call fcn.00409dd0
mov edx, dword [ebx + 0x374]
mov esi, dword [ebp - 0x53c]
add esp, 4
add edx, esi
lea ecx, [ebp - 0x528]
call fcn.00409e50
mov eax, dword [ebp - 0x52c]
inc dword [ebp - 0x530]
inc edi
add eax, edi
add esi, 0x10
cmp eax, 3
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x53c], esi
jl 0x419990
mov ecx, ebx
call fcn.004195a0
mov ecx, dword [ebx + 0x374]
mov dword [ebp - 0x534], eax
mov eax, dword [ecx + 0x290]
xor edx, edx
mov dword [ebp - 0x52c], eax
test eax, eax
jle 0x419b30
jmp 0x419b20
mov ecx, dword [ebx + 0x374]
inc edx
mov byte [edx + ecx + 0x5f], 0
cmp edx, eax
jl 0x419b20
mov edi, dword [ebx + 0x374]
mov esi, dword [ebx + 0x118]
push eax
add edi, 0x60
push 0
push edi
call fcn.00421a80
add esp, 0xc
lea ecx, [esi + 4]
push dword [ebp - 0x52c]
mov edx, edi
push edi
call fcn.004120c0
mov edx, dword [ebp - 0x52c]
add esp, 8
xor eax, eax
test edx, edx
jle 0x419b80
jmp 0x419b70
mov ecx, dword [ebx + 0x374]
inc eax
mov byte [eax + ecx + 0x5f], 0
cmp eax, edx
jl 0x419b70
mov eax, dword [ebp - 0x534]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b6fe
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 0xffffff36
pop ebx
call fcn.0041b6fe
mov esp, ebp
pop ebp
ret