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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], 0xc3d2e1f0
mov dword [esp + 0x10], 0x10325476
mov dword [esp + 0xc], 0x98badcfe
mov dword [esp + 8], 0xefcdab89
mov dword [esp + 4], 0x67452301
cmp ebx, 0x40
jae 0x433d50
mov ebp, eax
jmp 0x433dcb
mov edi, ebx
shr edi, 6
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebp + esi]
mov dword [esp + esi + 0x24], eax
movzx ecx, byte [ebp + esi + 1]
shl ecx, 8
or ecx, eax
mov dword [esp + esi + 0x24], ecx
movzx eax, byte [ebp + esi + 2]
shl eax, 0x10
or eax, ecx
mov dword [esp + esi + 0x24], eax
movzx ecx, byte [ebp + esi + 3]
shl ecx, 0x18
or ecx, eax
mov dword [esp + esi + 0x24], ecx
add esi, 4
cmp esi, 0x40
jne 0x433d70
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 8]
push eax
call fcn.00434b10
add esp, 8
inc ebx
lea eax, [esi + ebp]
cmp ebx, edi
jne 0x433d60
add ebp, esi
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov edi, ebx
and edi, 0x3f
je 0x433f03
mov ecx, ebx
and ecx, 1
xor eax, eax
cmp edi, 1
je 0x433edd
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ecx
sub edi, ecx
mov dword [esp + 0x20], edi
xor ebx, ebx
xor eax, eax
mov dword [esp], ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
movzx esi, byte [ecx + eax]
mov ecx, ebx
and cl, 0x10
shl esi, cl
mov edi, eax
and edi, 0xfffffffc
mov ebp, dword [esp + edi + 0x24]
mov edx, esi
and edx, ebp
add esi, ebp
add edx, edx
sub esi, edx
mov dword [esp + edi + 0x24], esi
mov edx, dword [esp]
movzx edx, byte [edx + eax + 1]
or cl, 8
shl edx, cl
mov ecx, edx
and ecx, esi
add edx, esi
add ecx, ecx
sub edx, ecx
mov dword [esp + edi + 0x24], edx
add eax, 2
add ebx, 0x10
cmp dword [esp + 0x20], eax
jne 0x433e80
mov ebp, dword [esp]
add ebp, eax
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x433f03
movzx edx, byte [ebp]
lea ecx, [eax*8]
shl edx, cl
and eax, 0xfffffffc
mov ecx, dword [esp + eax + 0x24]
mov esi, edx
and esi, ecx
add edx, ecx
add esi, esi
sub edx, esi
mov dword [esp + eax + 0x24], edx
mov eax, ebx
not eax
or eax, 3
lea ecx, [ebx + eax]
inc ecx
mov eax, ecx
and eax, 8
mov edx, ecx
or ecx, 8
imul ecx, eax
xor eax, 8
and edx, 0xf7
imul edx, eax
add ecx, edx
or cl, 7
mov eax, 1
shl eax, cl
mov esi, dword [esp + 0x80]
mov ecx, ebx
and ecx, 0x3c
xor dword [esp + ecx + 0x24], eax
cmp edi, 0x37
jbe 0x433f6e
lea edi, [esp + 0x24]
lea eax, [esp + 4]
push edi
push eax
call fcn.00434b10
add esp, 8
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
lea edi, [esp + 0x64]
xor eax, eax
xor ecx, ecx
rep stosw word es:[edi], ax
lea eax, [ebx*8]
mov dword [esp + 0x5c], eax
shr ebx, 0x1d
mov dword [esp + 0x60], ebx
lea eax, [esp + 0x24]
lea ecx, [esp + 4]
push eax
push ecx
call fcn.00434b10
add esp, 8
mov eax, dword [esp + 4]
mov dword [esi], eax
mov eax, dword [esp + 8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x10], eax
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret