Function at 0x4195a0
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x447280]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
movzx eax, word [edi + 0x40]
movzx ecx, word [edi + 0x42]
add ecx, eax
movzx eax, byte [edi + 0x3d]
add ecx, eax
mov dword [ebp - 0x1ec], 0x67452301
lea eax, [ecx*2 + 0xf]
cdq
and edx, 0xf
mov dword [ebp - 0x1e8], 0xefcdab89
lea ecx, [edx + eax]
mov eax, dword [edi + 0x374]
add eax, 0x260
sar ecx, 4
movq xmm0, qword [eax]
movq qword [ebp - 0x50], xmm0
movq xmm0, qword [eax + 8]
movq qword [ebp - 0x48], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x40], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [ebp - 0x38], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebp - 0x30], xmm0
movq xmm0, qword [eax + 0x28]
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1e4], 0x98badcfe
mov dword [ebp - 0x1e0], 0x10325476
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x18c], 0x67452301
mov dword [ebp - 0x188], 0xefcdab89
mov dword [ebp - 0x184], 0x98badcfe
mov dword [ebp - 0x180], 0x10325476
mov dword [ebp - 0x17c], 0xc3d2e1f0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
movq qword [ebp - 0x28], xmm0
test ecx, ecx
jle 0x41981f
lea eax, [ebp - 0x138]
mov dword [ebp - 0x1fc], eax
mov ebx, 0x71
lea eax, [ebp - 0x77]
sub ebx, eax
jmp 0x4196e0
mov edx, esi
lea ecx, [ebp - 0xc8]
call fcn.00418f50
test eax, eax
je 0x41983d
mov eax, dword [edi + 0x374]
lea ecx, [ebp - 0x77]
movq xmm0, qword [eax + 0x260]
movq qword [ecx + esi - 0x50], xmm0
movq xmm0, qword [eax + 0x268]
movq qword [ecx + esi - 0x48], xmm0
movq xmm0, qword [eax + 0x270]
add ecx, esi
lea edx, [ebp - 0xc8]
movq qword [ecx - 0x40], xmm0
movq xmm0, qword [eax + 0x278]
movq qword [ecx - 0x38], xmm0
movq xmm0, qword [eax + 0x280]
movq qword [ecx - 0x30], xmm0
movq xmm0, qword [eax + 0x288]
movq qword [ecx - 0x28], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ecx - 0x20], xmm0
movq xmm0, qword [eax + 0x28]
movq qword [ecx - 0x18], xmm0
movq xmm0, qword [eax + 0x30]
movq qword [ecx - 0x10], xmm0
movq xmm0, qword [eax + 0x38]
movq qword [ecx - 8], xmm0
movq xmm0, qword [eax]
movq qword [ecx], xmm0
movq xmm0, qword [eax + 8]
movq qword [ecx + 8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
movq xmm0, qword [eax + 0x18]
lea eax, [ecx + ebx]
movq qword [ecx + 0x18], xmm0
push eax
lea ecx, [ebp - 0x198]
call fcn.00414870
lea edx, [ebp - 0x214]
lea ecx, [ebp - 0x198]
call fcn.00414920
movq xmm0, qword [ebp - 0x214]
mov eax, dword [ebp - 0x204]
movq qword [ebp - 0x20], xmm0
movq xmm0, qword [ebp - 0x20c]
push 0x44
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x1f8]
movq qword [ebp - 0x18], xmm0
mov dword [ebp - 0x10], eax
call fcn.00409dd0
mov edx, dword [ebp - 0x1fc]
add esp, 8
lea ecx, [ebp - 0x1f8]
call fcn.00409e50
add dword [ebp - 0x1fc], 0x10
inc esi
cmp esi, dword [ebp - 0x200]
jl 0x4196e0
lea edx, [ebp - 0x138]
mov ecx, edi
call fcn.004194d0
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