4ee8c9:	2b 31                	sub    (%ecx),%esi
4ee8cb:	f7 ee                	imul   %esi
4ee8cd:	03 d6                	add    %esi,%edx
4ee8cf:	c1 fa 06             	sar    $0x6,%edx
4ee8d2:	8b f2                	mov    %edx,%esi
4ee8d4:	c1 ee 1f             	shr    $0x1f,%esi
4ee8d7:	03 f2                	add    %edx,%esi
4ee8d9:	ba 21 84 10 02       	mov    $0x2108421,%edx
4ee8de:	8b c6                	mov    %esi,%eax
4ee8e0:	d1 e8                	shr    $1,%eax
4ee8e2:	2b d0                	sub    %eax,%edx
4ee8e4:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
4ee8e7:	33 c0                	xor    %eax,%eax
4ee8e9:	3b d6                	cmp    %esi,%edx
4ee8eb:	5e                   	pop    %esi
4ee8ec:	0f 43 c1             	cmovae %ecx,%eax
4ee8ef:	3b 44 24 04          	cmp    0x4(%esp),%eax
4ee8f3:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
4ee8f8:	c2 04 00             	ret    $0x4
4ee8fb:	cc                   	int3
4ee8fc:	cc                   	int3
4ee8fd:	cc                   	int3
4ee8fe:	cc                   	int3
4ee8ff:	cc                   	int3
4ee900:	cc                   	int3
4ee901:	cc                   	int3
4ee902:	cc                   	int3
4ee903:	cc                   	int3
4ee904:	cc                   	int3
4ee905:	cc                   	int3
4ee906:	cc                   	int3
4ee907:	cc                   	int3
4ee908:	cc                   	int3
4ee909:	cc                   	int3
4ee90a:	cc                   	int3
4ee90b:	cc                   	int3
4ee90c:	cc                   	int3
4ee90d:	cc                   	int3
4ee90e:	cc                   	int3
4ee90f:	cc                   	int3
4ee910:	8b 51 08             	mov    0x8(%ecx),%edx
4ee913:	b8 67 66 66 66       	mov    $0x66666667,%eax
4ee918:	2b 11                	sub    (%ecx),%edx
4ee91a:	f7 ea                	imul   %edx
4ee91c:	56                   	push   %esi
4ee91d:	c1 fa 06             	sar    $0x6,%edx
4ee920:	8b f2                	mov    %edx,%esi
4ee922:	c1 ee 1f             	shr    $0x1f,%esi
4ee925:	03 f2                	add    %edx,%esi
4ee927:	ba 99 99 99 01       	mov    $0x1999999,%edx
4ee92c:	8b c6                	mov    %esi,%eax
4ee92e:	d1 e8                	shr    $1,%eax
4ee930:	2b d0                	sub    %eax,%edx
4ee932:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
4ee935:	33 c0                	xor    %eax,%eax
4ee937:	3b d6                	cmp    %esi,%edx
4ee939:	5e                   	pop    %esi
4ee93a:	0f 43 c1             	cmovae %ecx,%eax
4ee93d:	3b 44 24 04          	cmp    0x4(%esp),%eax
4ee941:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
4ee946:	c2 04 00             	ret    $0x4
4ee949:	cc                   	int3
4ee94a:	cc                   	int3
4ee94b:	cc                   	int3
4ee94c:	cc                   	int3
4ee94d:	cc                   	int3
4ee94e:	cc                   	int3
4ee94f:	cc                   	int3
4ee950:	cc                   	int3
4ee951:	cc                   	int3
4ee952:	cc                   	int3
4ee953:	cc                   	int3
4ee954:	cc                   	int3
4ee955:	cc                   	int3
4ee956:	cc                   	int3
4ee957:	cc                   	int3
4ee958:	cc                   	int3
4ee959:	cc                   	int3
4ee95a:	cc                   	int3
4ee95b:	cc                   	int3
4ee95c:	cc                   	int3
4ee95d:	cc                   	int3
4ee95e:	cc                   	int3
4ee95f:	cc                   	int3
4ee960:	8b 44 24 04          	mov    0x4(%esp),%eax
4ee964:	3b 41 04             	cmp    0x4(%ecx),%eax
4ee967:	73 09                	jae    0x4ee972
4ee969:	39 01                	cmp    %eax,(%ecx)
4ee96b:	77 05                	ja     0x4ee972
4ee96d:	b0 01                	mov    $0x1,%al
4ee96f:	c2 04 00             	ret    $0x4
4ee972:	32 c0                	xor    %al,%al
4ee974:	c2 04 00             	ret    $0x4
4ee977:	cc                   	int3
4ee978:	cc                   	int3
4ee979:	cc                   	int3
4ee97a:	cc                   	int3
4ee97b:	cc                   	int3
4ee97c:	cc                   	int3
4ee97d:	cc                   	int3
4ee97e:	cc                   	int3
4ee97f:	cc                   	int3
4ee980:	8d 41 08             	lea    0x8(%ecx),%eax
4ee983:	c3                   	ret
4ee984:	cc                   	int3
4ee985:	cc                   	int3
4ee986:	cc                   	int3
4ee987:	cc                   	int3
4ee988:	cc                   	int3
4ee989:	cc                   	int3
4ee98a:	cc                   	int3
4ee98b:	cc                   	int3
4ee98c:	cc                   	int3
4ee98d:	cc                   	int3
4ee98e:	cc                   	int3
4ee98f:	cc                   	int3
4ee990:	8d 41 08             	lea    0x8(%ecx),%eax
4ee993:	c3                   	ret
4ee994:	cc                   	int3
4ee995:	cc                   	int3
4ee996:	cc                   	int3
4ee997:	cc                   	int3
4ee998:	cc                   	int3
4ee999:	cc                   	int3
4ee99a:	cc                   	int3
4ee99b:	cc                   	int3
4ee99c:	cc                   	int3
4ee99d:	cc                   	int3
4ee99e:	cc                   	int3
4ee99f:	cc                   	int3
4ee9a0:	8d 41 08             	lea    0x8(%ecx),%eax
4ee9a3:	c3                   	ret
4ee9a4:	cc                   	int3
4ee9a5:	cc                   	int3
4ee9a6:	cc                   	int3
4ee9a7:	cc                   	int3
4ee9a8:	cc                   	int3
4ee9a9:	cc                   	int3
4ee9aa:	cc                   	int3
4ee9ab:	cc                   	int3
4ee9ac:	cc                   	int3
4ee9ad:	cc                   	int3
4ee9ae:	cc                   	int3
4ee9af:	cc                   	int3
4ee9b0:	8b c1                	mov    %ecx,%eax
4ee9b2:	c3                   	ret
4ee9b3:	cc                   	int3
4ee9b4:	cc                   	int3
4ee9b5:	cc                   	int3
4ee9b6:	cc                   	int3
4ee9b7:	cc                   	int3
4ee9b8:	cc                   	int3
4ee9b9:	cc                   	int3
4ee9ba:	cc                   	int3
4ee9bb:	cc                   	int3
4ee9bc:	cc                   	int3
4ee9bd:	cc                   	int3
4ee9be:	cc                   	int3
4ee9bf:	cc                   	int3
4ee9c0:	8b c1                	mov    %ecx,%eax
4ee9c2:	c3                   	ret
4ee9c3:	cc                   	int3
4ee9c4:	cc                   	int3
4ee9c5:	cc                   	int3
4ee9c6:	cc                   	int3
4ee9c7:	cc                   	int3
4ee9c8:	cc                   	int3
4ee9c9:	cc                   	int3
4ee9ca:	cc                   	int3
4ee9cb:	cc                   	int3
4ee9cc:	cc                   	int3
4ee9cd:	cc                   	int3
4ee9ce:	cc                   	int3
4ee9cf:	cc                   	int3
4ee9d0:	8b c1                	mov    %ecx,%eax
4ee9d2:	c3                   	ret
4ee9d3:	cc                   	int3
4ee9d4:	cc                   	int3
4ee9d5:	cc                   	int3
4ee9d6:	cc                   	int3
4ee9d7:	cc                   	int3
4ee9d8:	cc                   	int3
4ee9d9:	cc                   	int3
4ee9da:	cc                   	int3
4ee9db:	cc                   	int3
4ee9dc:	cc                   	int3
4ee9dd:	cc                   	int3
4ee9de:	cc                   	int3
4ee9df:	cc                   	int3
4ee9e0:	8d 41 04             	lea    0x4(%ecx),%eax
4ee9e3:	c3                   	ret
4ee9e4:	cc                   	int3
4ee9e5:	cc                   	int3
4ee9e6:	cc                   	int3
4ee9e7:	cc                   	int3
4ee9e8:	cc                   	int3
4ee9e9:	cc                   	int3
4ee9ea:	cc                   	int3
4ee9eb:	cc                   	int3
4ee9ec:	cc                   	int3
4ee9ed:	cc                   	int3
4ee9ee:	cc                   	int3
4ee9ef:	cc                   	int3
4ee9f0:	8d 41 04             	lea    0x4(%ecx),%eax
4ee9f3:	c3                   	ret
4ee9f4:	cc                   	int3
4ee9f5:	cc                   	int3
4ee9f6:	cc                   	int3
4ee9f7:	cc                   	int3
4ee9f8:	cc                   	int3
4ee9f9:	cc                   	int3
4ee9fa:	cc                   	int3
4ee9fb:	cc                   	int3
4ee9fc:	cc                   	int3
4ee9fd:	cc                   	int3
4ee9fe:	cc                   	int3
4ee9ff:	cc                   	int3
4eea00:	8d 41 04             	lea    0x4(%ecx),%eax
4eea03:	c3                   	ret
4eea04:	cc                   	int3
4eea05:	cc                   	int3
4eea06:	cc                   	int3
4eea07:	cc                   	int3
4eea08:	cc                   	int3
4eea09:	cc                   	int3
4eea0a:	cc                   	int3
4eea0b:	cc                   	int3
4eea0c:	cc                   	int3
4eea0d:	cc                   	int3
4eea0e:	cc                   	int3
4eea0f:	cc                   	int3
4eea10:	c3                   	ret
4eea11:	cc                   	int3
4eea12:	cc                   	int3
4eea13:	cc                   	int3
4eea14:	cc                   	int3
4eea15:	cc                   	int3
4eea16:	cc                   	int3
4eea17:	cc                   	int3
4eea18:	cc                   	int3
4eea19:	cc                   	int3
4eea1a:	cc                   	int3
4eea1b:	cc                   	int3
4eea1c:	cc                   	int3
4eea1d:	cc                   	int3
4eea1e:	cc                   	int3
4eea1f:	cc                   	int3
4eea20:	c2 08 00             	ret    $0x8
4eea23:	cc                   	int3
4eea24:	cc                   	int3
4eea25:	cc                   	int3
4eea26:	cc                   	int3
4eea27:	cc                   	int3
4eea28:	cc                   	int3
4eea29:	cc                   	int3
4eea2a:	cc                   	int3
4eea2b:	cc                   	int3
4eea2c:	cc                   	int3
4eea2d:	cc                   	int3
4eea2e:	cc                   	int3
4eea2f:	cc                   	int3
4eea30:	8b 44 24 04          	mov    0x4(%esp),%eax
4eea34:	56                   	push   %esi
4eea35:	57                   	push   %edi
4eea36:	ff 74 24 0c          	push   0xc(%esp)
4eea3a:	8b f9                	mov    %ecx,%edi
4eea3c:	8d 04 80             	lea    (%eax,%eax,4),%eax
4eea3f:	c1 e0 05             	shl    $0x5,%eax
4eea42:	57                   	push   %edi
4eea43:	8b 57 04             	mov    0x4(%edi),%edx
4eea46:	8b f2                	mov    %edx,%esi
4eea48:	2b f0                	sub    %eax,%esi
4eea4a:	52                   	push   %edx
4eea4b:	56                   	push   %esi
4eea4c:	e8 27 af f4 ff       	call   0x439978
4eea51:	83 c4 10             	add    $0x10,%esp
4eea54:	89 77 04             	mov    %esi,0x4(%edi)
4eea57:	5f                   	pop    %edi
4eea58:	5e                   	pop    %esi
4eea59:	c2 04 00             	ret    $0x4
4eea5c:	cc                   	int3
4eea5d:	cc                   	int3
4eea5e:	cc                   	int3
4eea5f:	cc                   	int3
4eea60:	cc                   	int3
4eea61:	cc                   	int3
4eea62:	cc                   	int3
4eea63:	cc                   	int3
4eea64:	cc                   	int3
4eea65:	cc                   	int3
4eea66:	cc                   	int3
4eea67:	cc                   	int3
4eea68:	cc                   	int3
4eea69:	cc                   	int3
4eea6a:	cc                   	int3
4eea6b:	cc                   	int3
4eea6c:	cc                   	int3
4eea6d:	cc                   	int3
4eea6e:	cc                   	int3
4eea6f:	cc                   	int3
4eea70:	55                   	push   %ebp
4eea71:	8b ec                	mov    %esp,%ebp
4eea73:	6a ff                	push   $0xffffffff
4eea75:	68 90 47 b4 00       	push   $0xb44790
4eea7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4eea80:	50                   	push   %eax
4eea81:	83 ec 14             	sub    $0x14,%esp
4eea84:	53                   	push   %ebx
4eea85:	56                   	push   %esi
4eea86:	57                   	push   %edi
4eea87:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
4eea8c:	33 c5                	xor    %ebp,%eax
4eea8e:	50                   	push   %eax
4eea8f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4eea92:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4eea98:	89 65 f0             	mov    %esp,-0x10(%ebp)
4eea9b:	8b f9                	mov    %ecx,%edi
4eea9d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4eeaa0:	ff 75 08             	push   0x8(%ebp)
4eeaa3:	e8 54 f5 f2 ff       	call   0x41dffc
4eeaa8:	51                   	push   %ecx
4eeaa9:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4eeaad:	8b d8                	mov    %eax,%ebx
4eeaaf:	ff 75 ec             	push   -0x14(%ebp)
4eeab2:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4eeab5:	57                   	push   %edi
4eeab6:	53                   	push   %ebx
4eeab7:	ff 77 04             	push   0x4(%edi)
4eeaba:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4eeac1:	ff 37                	push   (%edi)
4eeac3:	e8 e5 70 f3 ff       	call   0x425bad
4eeac8:	8b 47 04             	mov    0x4(%edi),%eax
4eeacb:	83 c4 18             	add    $0x18,%esp
4eeace:	8b 37                	mov    (%edi),%esi
4eead0:	8b c8                	mov    %eax,%ecx
4eead2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4eead5:	2b ce                	sub    %esi,%ecx
4eead7:	b8 43 08 21 84       	mov    $0x84210843,%eax
4eeadc:	f7 e9                	imul   %ecx
4eeade:	03 d1                	add    %ecx,%edx
4eeae0:	c1 fa 06             	sar    $0x6,%edx
4eeae3:	8b c2                	mov    %edx,%eax
4eeae5:	c1 e8 1f             	shr    $0x1f,%eax
4eeae8:	03 c2                	add    %edx,%eax
4eeaea:	89 45 e8             	mov    %eax,-0x18(%ebp)
4eeaed:	85 f6                	test   %esi,%esi
4eeaef:	74 37                	je     0x4eeb28
4eeaf1:	3b 75 ec             	cmp    -0x14(%ebp),%esi
4eeaf4:	74 0f                	je     0x4eeb05
4eeaf6:	8b ce                	mov    %esi,%ecx