Function at 0x467648
Capabilities:
Hash data using sha1
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xc8
mov ebx, edx
mov edi, eax
mov dword [esp + 0xb4], 0x67452301
mov dword [esp + 0xb8], 0xefcdab89
mov dword [esp + 0xbc], 0x98badcfe
mov dword [esp + 0xc0], 0x10325476
mov dword [esp + 0xc4], 0xc3d2e1f0
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x46769f
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x467697
mov esi, eax
mov ebp, esi
cmp esi, 0x40
jl 0x4676c1
mov eax, edi
lea edx, [esp + 0xb4]
call fcn.00467410
add ebp, 0xffffffc0
add edi, 0x40
cmp ebp, 0x40
jge 0x4676a8
mov ebp, esi
and ebp, 0x3f
lea ecx, [esp + 0x58]
push ebp
push edi
push ecx
call fcn.00473750
lea ecx, [esp + 0x64]
lea ecx, [ecx + ebp]
mov edi, ebp
neg edi
add edi, 0x40
push edi
push 0
push ecx
call fcn.0046e324
add esp, 0x18
or byte [esp + ebp + 0x58], 0x80
cmp ebp, 0x38
jb 0x46774c
lea eax, [esp + 0x58]
lea edx, [esp + 0xb4]
call fcn.00467410
xor ecx, ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
lea ecx, [esi + esi]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0xb0], ecx
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x90], ebp
cmp esi, 0x1fffffff
jbe 0x46778e
lea eax, [esi*8 + 8]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x94], ecx
jmp 0x467799
mov dword [esp + 0x94], 0
lea eax, [esp + 0x58]
lea edx, [esp + 0xb4]
call fcn.00467410
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x9c], ecx
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0xa0], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xa4], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xa8], edi
mov dword [esp], ebx
mov dword [esp + 4], 0x840ae0
movzx eax, byte [esp + 0x98]
mov dword [esp + 8], eax
movzx edx, byte [esp + 0x99]
mov dword [esp + 0xc], edx
movzx ecx, byte [esp + 0x9a]
mov dword [esp + 0x10], ecx
movzx ebx, byte [esp + 0x9b]
mov dword [esp + 0x14], ebx
movzx ebp, byte [esp + 0x9c]
mov dword [esp + 0x18], ebp
movzx esi, byte [esp + 0x9d]
mov dword [esp + 0x1c], esi
movzx edi, byte [esp + 0x9e]
mov dword [esp + 0x20], edi
movzx eax, byte [esp + 0x9f]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0xa0]
mov dword [esp + 0x28], eax
movzx eax, byte [esp + 0xa1]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0xa2]
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0xa3]
mov dword [esp + 0x34], eax
movzx eax, byte [esp + 0xa4]
mov dword [esp + 0x38], eax
movzx eax, byte [esp + 0xa5]
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0xa6]
mov dword [esp + 0x40], eax
movzx eax, byte [esp + 0xa7]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0xa8]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0xa9]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0xaa]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0xab]
mov dword [esp + 0x54], eax
call fcn.00471158
add esp, 0xc8
pop ebx
pop ebp
pop esi
pop edi
ret