Function at 0x5a6780
Capabilities:
Hash data using sha1

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc8]
cmp eax, dword [ecx + 8]
jbe 0x5a6a8d
sub esp, 0x148
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x18], ecx
call fcn.005a47c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004948d0
cmp dword [esp + 8], 0x40
jle 0x5a6a63
nop
lea edi, [esp + 0x50]
xor eax, eax
call fcn.004645b8
nop
mov dword [esp + 0x50], 0x67452301
mov dword [esp + 0x54], 0xefcdab89
mov dword [esp + 0x58], 0x98badcfe
mov dword [esp + 0x5c], 0x10325476
mov dword [esp + 0x60], 0xc3d2e1f0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
lea ecx, [esp + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ecx
call fcn.0044f100
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea ebp, [esp + 0x50]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0058cba0
lea ecx, [esp + 0x50]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.0058cd70
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x16c]
test ebp, ebp
jbe 0x5a6a83
mov dword [esp + 0x134], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov eax, dword [0x7d2a08]
mov ecx, dword [esp + 0x168]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea eax, [0x61a73f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.005879e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044f1b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
cmp eax, 0x18
jle 0x5a696e
mov eax, 0x18
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0044f2f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
call fcn.00409ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6e00]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
lea eax, [0x61aa72]
mov dword [esp], eax
mov dword [esp + 4], 4
lea eax, [esp + 0x138]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004e18f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
add esp, 0x148
ret
mov eax, dword [esp + 0x130]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x178], eax
add esp, 0x148
ret
xor eax, eax
mov ecx, eax
call fcn.00464400
nop
call fcn.00462f70
jmp fcn.005a6780