4be85c:	f7 eb                	imul   %ebx
4be85e:	99                   	cltd
4be85f:	f7 ff                	idiv   %edi
4be861:	02 45 f0             	add    -0x10(%ebp),%al
4be864:	50                   	push   %eax
4be865:	8b 45 f4             	mov    -0xc(%ebp),%eax
4be868:	2b 45 f8             	sub    -0x8(%ebp),%eax
4be86b:	f7 eb                	imul   %ebx
4be86d:	99                   	cltd
4be86e:	f7 ff                	idiv   %edi
4be870:	02 45 f8             	add    -0x8(%ebp),%al
4be873:	5a                   	pop    %edx
4be874:	e8 d3 96 f4 ff       	call   0x407f4c
4be879:	50                   	push   %eax
4be87a:	e8 79 8c f4 ff       	call   0x4074f8
4be87f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4be882:	8b 45 e0             	mov    -0x20(%ebp),%eax
4be885:	50                   	push   %eax
4be886:	8b 46 0c             	mov    0xc(%esi),%eax
4be889:	50                   	push   %eax
4be88a:	8d 45 cc             	lea    -0x34(%ebp),%eax
4be88d:	50                   	push   %eax
4be88e:	8b 4e 08             	mov    0x8(%esi),%ecx
4be891:	2b cb                	sub    %ebx,%ecx
4be893:	8b 56 04             	mov    0x4(%esi),%edx
4be896:	8b 46 08             	mov    0x8(%esi),%eax
4be899:	2b c3                	sub    %ebx,%eax
4be89b:	48                   	dec    %eax
4be89c:	e8 d3 bd f5 ff       	call   0x41a674
4be8a1:	8d 45 cc             	lea    -0x34(%ebp),%eax
4be8a4:	50                   	push   %eax
4be8a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4be8a8:	e8 13 a4 f6 ff       	call   0x428cc0
4be8ad:	50                   	push   %eax
4be8ae:	e8 e5 90 f4 ff       	call   0x407998
4be8b3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4be8b6:	50                   	push   %eax
4be8b7:	e8 54 8c f4 ff       	call   0x407510
4be8bc:	43                   	inc    %ebx
4be8bd:	ff 4d dc             	decl   -0x24(%ebp)
4be8c0:	75 84                	jne    0x4be846
4be8c2:	5f                   	pop    %edi
4be8c3:	5e                   	pop    %esi
4be8c4:	5b                   	pop    %ebx
4be8c5:	8b e5                	mov    %ebp,%esp
4be8c7:	5d                   	pop    %ebp
4be8c8:	c2 08 00             	ret    $0x8
4be8cb:	90                   	nop
4be8cc:	55                   	push   %ebp
4be8cd:	8b ec                	mov    %esp,%ebp
4be8cf:	83 c4 e8             	add    $0xffffffe8,%esp
4be8d2:	53                   	push   %ebx
4be8d3:	56                   	push   %esi
4be8d4:	57                   	push   %edi
4be8d5:	8b f2                	mov    %edx,%esi
4be8d7:	8d 7d e8             	lea    -0x18(%ebp),%edi
4be8da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4be8db:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4be8dc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4be8dd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4be8de:	8b f1                	mov    %ecx,%esi
4be8e0:	8b d8                	mov    %eax,%ebx
4be8e2:	b2 01                	mov    $0x1,%dl
4be8e4:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4be8e9:	e8 e2 e8 f6 ff       	call   0x42d1d0
4be8ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
4be8f1:	33 c0                	xor    %eax,%eax
4be8f3:	55                   	push   %ebp
4be8f4:	68 ce e9 4b 00       	push   $0x4be9ce
4be8f9:	64 ff 30             	push   %fs:(%eax)
4be8fc:	64 89 20             	mov    %esp,%fs:(%eax)
4be8ff:	68 c8 b5 68 00       	push   $0x68b5c8
4be904:	6a 01                	push   $0x1
4be906:	6a 01                	push   $0x1
4be908:	6a 08                	push   $0x8
4be90a:	6a 08                	push   $0x8
4be90c:	e8 47 8b f4 ff       	call   0x407458
4be911:	8b d0                	mov    %eax,%edx
4be913:	8b 45 fc             	mov    -0x4(%ebp),%eax
4be916:	e8 e9 fa f6 ff       	call   0x42e404
4be91b:	8b c3                	mov    %ebx,%eax
4be91d:	e8 9e a3 f6 ff       	call   0x428cc0
4be922:	50                   	push   %eax
4be923:	e8 c8 8d f4 ff       	call   0x4076f0
4be928:	89 45 f8             	mov    %eax,-0x8(%ebp)
4be92b:	8b 43 14             	mov    0x14(%ebx),%eax
4be92e:	8b d6                	mov    %esi,%edx
4be930:	e8 4f 99 f6 ff       	call   0x428284
4be935:	6a 00                	push   $0x0
4be937:	8b c3                	mov    %ebx,%eax
4be939:	e8 82 a3 f6 ff       	call   0x428cc0
4be93e:	50                   	push   %eax
4be93f:	e8 3c 8e f4 ff       	call   0x407780
4be944:	68 ff ff ff 00       	push   $0xffffff
4be949:	8b c3                	mov    %ebx,%eax
4be94b:	e8 70 a3 f6 ff       	call   0x428cc0
4be950:	50                   	push   %eax
4be951:	e8 c2 8d f4 ff       	call   0x407718
4be956:	be 08 00 00 00       	mov    $0x8,%esi
4be95b:	bf 07 00 00 00       	mov    $0x7,%edi
4be960:	68 46 07 e2 00       	push   $0xe20746
4be965:	6a 00                	push   $0x0
4be967:	6a 00                	push   $0x0
4be969:	8b 45 fc             	mov    -0x4(%ebp),%eax
4be96c:	e8 27 ee f6 ff       	call   0x42d798
4be971:	e8 4a a3 f6 ff       	call   0x428cc0
4be976:	50                   	push   %eax
4be977:	57                   	push   %edi
4be978:	56                   	push   %esi
4be979:	8b 45 ec             	mov    -0x14(%ebp),%eax
4be97c:	03 45 f4             	add    -0xc(%ebp),%eax
4be97f:	2b c7                	sub    %edi,%eax
4be981:	d1 f8                	sar    $1,%eax
4be983:	79 03                	jns    0x4be988
4be985:	83 d0 00             	adc    $0x0,%eax
4be988:	50                   	push   %eax
4be989:	8b 45 e8             	mov    -0x18(%ebp),%eax
4be98c:	03 45 f0             	add    -0x10(%ebp),%eax
4be98f:	2b c6                	sub    %esi,%eax
4be991:	40                   	inc    %eax
4be992:	d1 f8                	sar    $1,%eax
4be994:	79 03                	jns    0x4be999
4be996:	83 d0 00             	adc    $0x0,%eax
4be999:	50                   	push   %eax
4be99a:	8b c3                	mov    %ebx,%eax
4be99c:	e8 1f a3 f6 ff       	call   0x428cc0
4be9a1:	50                   	push   %eax
4be9a2:	e8 91 8a f4 ff       	call   0x407438
4be9a7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4be9aa:	50                   	push   %eax
4be9ab:	8b c3                	mov    %ebx,%eax
4be9ad:	e8 0e a3 f6 ff       	call   0x428cc0
4be9b2:	50                   	push   %eax
4be9b3:	e8 28 8d f4 ff       	call   0x4076e0
4be9b8:	33 c0                	xor    %eax,%eax
4be9ba:	5a                   	pop    %edx
4be9bb:	59                   	pop    %ecx
4be9bc:	59                   	pop    %ecx
4be9bd:	64 89 10             	mov    %edx,%fs:(%eax)
4be9c0:	68 d5 e9 4b 00       	push   $0x4be9d5
4be9c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4be9c8:	e8 ab 50 f4 ff       	call   0x403a78
4be9cd:	c3                   	ret
4be9ce:	e9 39 58 f4 ff       	jmp    0x40420c
4be9d3:	eb f0                	jmp    0x4be9c5
4be9d5:	5f                   	pop    %edi
4be9d6:	5e                   	pop    %esi
4be9d7:	5b                   	pop    %ebx
4be9d8:	8b e5                	mov    %ebp,%esp
4be9da:	5d                   	pop    %ebp
4be9db:	c3                   	ret
4be9dc:	53                   	push   %ebx
4be9dd:	56                   	push   %esi
4be9de:	8b f2                	mov    %edx,%esi
4be9e0:	8b d8                	mov    %eax,%ebx
4be9e2:	8b d6                	mov    %esi,%edx
4be9e4:	33 c9                	xor    %ecx,%ecx
4be9e6:	8b c3                	mov    %ebx,%eax
4be9e8:	e8 ff fb ff ff       	call   0x4be5ec
4be9ed:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4be9f2:	75 09                	jne    0x4be9fd
4be9f4:	8b 16                	mov    (%esi),%edx
4be9f6:	8b c3                	mov    %ebx,%eax
4be9f8:	8b 08                	mov    (%eax),%ecx
4be9fa:	ff 51 20             	call   *0x20(%ecx)
4be9fd:	5e                   	pop    %esi
4be9fe:	5b                   	pop    %ebx
4be9ff:	c3                   	ret
4bea00:	b1 01                	mov    $0x1,%cl
4bea02:	e8 e5 fb ff ff       	call   0x4be5ec
4bea07:	c3                   	ret
4bea08:	53                   	push   %ebx
4bea09:	56                   	push   %esi
4bea0a:	8b f2                	mov    %edx,%esi
4bea0c:	8b d8                	mov    %eax,%ebx
4bea0e:	8b d6                	mov    %esi,%edx
4bea10:	33 c9                	xor    %ecx,%ecx
4bea12:	8b c3                	mov    %ebx,%eax
4bea14:	e8 03 fb ff ff       	call   0x4be51c
4bea19:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4bea1e:	75 09                	jne    0x4bea29
4bea20:	8b 16                	mov    (%esi),%edx
4bea22:	8b c3                	mov    %ebx,%eax
4bea24:	8b 08                	mov    (%eax),%ecx
4bea26:	ff 51 20             	call   *0x20(%ecx)
4bea29:	5e                   	pop    %esi
4bea2a:	5b                   	pop    %ebx
4bea2b:	c3                   	ret
4bea2c:	55                   	push   %ebp
4bea2d:	8b ec                	mov    %esp,%ebp
4bea2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
4bea32:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4bea35:	89 01                	mov    %eax,(%ecx)
4bea37:	8b 45 08             	mov    0x8(%ebp),%eax
4bea3a:	8b 40 fc             	mov    -0x4(%eax),%eax
4bea3d:	89 50 04             	mov    %edx,0x4(%eax)
4bea40:	5d                   	pop    %ebp
4bea41:	c3                   	ret
4bea42:	8b c0                	mov    %eax,%eax
4bea44:	55                   	push   %ebp
4bea45:	8b ec                	mov    %esp,%ebp
4bea47:	51                   	push   %ecx
4bea48:	53                   	push   %ebx
4bea49:	56                   	push   %esi
4bea4a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4bea4d:	8b c2                	mov    %edx,%eax
4bea4f:	25 00 10 00 00       	and    $0x1000,%eax
4bea54:	3d 00 10 00 00       	cmp    $0x1000,%eax
4bea59:	75 64                	jne    0x4beabf
4bea5b:	8b c2                	mov    %edx,%eax
4bea5d:	25 00 08 00 00       	and    $0x800,%eax
4bea62:	3d 00 08 00 00       	cmp    $0x800,%eax
4bea67:	75 40                	jne    0x4beaa9
4bea69:	81 e2 00 04 00 00    	and    $0x400,%edx
4bea6f:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4bea75:	0f 94 c3             	sete   %bl
4bea78:	8b f3                	mov    %ebx,%esi
4bea7a:	83 e6 7f             	and    $0x7f,%esi
4bea7d:	8b 04 b5 d8 b5 68 00 	mov    0x68b5d8(,%esi,4),%eax
4bea84:	50                   	push   %eax
4bea85:	e8 96 90 f4 ff       	call   0x407b20
4bea8a:	48                   	dec    %eax
4bea8b:	8b 55 fc             	mov    -0x4(%ebp),%edx
4bea8e:	89 02                	mov    %eax,(%edx)
4bea90:	8b 04 b5 e0 b5 68 00 	mov    0x68b5e0(,%esi,4),%eax
4bea97:	50                   	push   %eax
4bea98:	e8 83 90 f4 ff       	call   0x407b20
4bea9d:	48                   	dec    %eax
4bea9e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4beaa1:	89 42 04             	mov    %eax,0x4(%edx)
4beaa4:	e9 d6 00 00 00       	jmp    0x4beb7f
4beaa9:	55                   	push   %ebp
4beaaa:	ba 02 00 00 00       	mov    $0x2,%edx
4beaaf:	b8 02 00 00 00       	mov    $0x2,%eax
4beab4:	e8 73 ff ff ff       	call   0x4bea2c
4beab9:	59                   	pop    %ecx
4beaba:	e9 c0 00 00 00       	jmp    0x4beb7f
4beabf:	8b c2                	mov    %edx,%eax
4beac1:	25 00 20 00 00       	and    $0x2000,%eax
4beac6:	3d 00 20 00 00       	cmp    $0x2000,%eax
4beacb:	75 3b                	jne    0x4beb08
4beacd:	81 e2 01 20 00 00    	and    $0x2001,%edx
4bead3:	81 fa 01 20 00 00    	cmp    $0x2001,%edx
4bead9:	75 18                	jne    0x4beaf3
4beadb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4beade:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4beae4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4beae7:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
4beaee:	e9 8c 00 00 00       	jmp    0x4beb7f
4beaf3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4beaf6:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4beafc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4beaff:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
4beb06:	eb 77                	jmp    0x4beb7f
4beb08:	8b c2                	mov    %edx,%eax
4beb0a:	25 00 40 00 00       	and    $0x4000,%eax
4beb0f:	3d 00 40 00 00       	cmp    $0x4000,%eax
4beb14:	75 5e                	jne    0x4beb74
4beb16:	8b c2                	mov    %edx,%eax
4beb18:	25 00 08 00 00       	and    $0x800,%eax
4beb1d:	3d 00 08 00 00       	cmp    $0x800,%eax
4beb22:	75 3d                	jne    0x4beb61
4beb24:	81 e2 00 04 00 00    	and    $0x400,%edx
4beb2a:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4beb30:	0f 94 c3             	sete   %bl
4beb33:	8b f3                	mov    %ebx,%esi
4beb35:	83 e6 7f             	and    $0x7f,%esi
4beb38:	8b 04 b5 d8 b5 68 00 	mov    0x68b5d8(,%esi,4),%eax
4beb3f:	50                   	push   %eax
4beb40:	e8 db 8f f4 ff       	call   0x407b20
4beb45:	48                   	dec    %eax
4beb46:	8b 55 fc             	mov    -0x4(%ebp),%edx
4beb49:	89 02                	mov    %eax,(%edx)
4beb4b:	8b 04 b5 e0 b5 68 00 	mov    0x68b5e0(,%esi,4),%eax
4beb52:	50                   	push   %eax
4beb53:	e8 c8 8f f4 ff       	call   0x407b20
4beb58:	48                   	dec    %eax
4beb59:	8b 55 fc             	mov    -0x4(%ebp),%edx
4beb5c:	89 42 04             	mov    %eax,0x4(%edx)
4beb5f:	eb 1e                	jmp    0x4beb7f
4beb61:	55                   	push   %ebp
4beb62:	ba 02 00 00 00       	mov    $0x2,%edx
4beb67:	b8 02 00 00 00       	mov    $0x2,%eax
4beb6c:	e8 bb fe ff ff       	call   0x4bea2c
4beb71:	59                   	pop    %ecx
4beb72:	eb 0b                	jmp    0x4beb7f
4beb74:	55                   	push   %ebp
4beb75:	33 d2                	xor    %edx,%edx
4beb77:	33 c0                	xor    %eax,%eax
4beb79:	e8 ae fe ff ff       	call   0x4bea2c
4beb7e:	59                   	pop    %ecx
4beb7f:	5e                   	pop    %esi
4beb80:	5b                   	pop    %ebx
4beb81:	59                   	pop    %ecx
4beb82:	5d                   	pop    %ebp
4beb83:	c3                   	ret
4beb84:	4a                   	dec    %edx
4beb85:	74 08                	je     0x4beb8f
4beb87:	4a                   	dec    %edx
4beb88:	74 3d                	je     0x4bebc7
4beb8a:	4a                   	dec    %edx
4beb8b:	74 1e                	je     0x4bebab
4beb8d:	eb 54                	jmp    0x4bebe3
4beb8f:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
4beb95:	c7 41 04 02 00 00 00 	movl   $0x2,0x4(%ecx)
4beb9c:	c7 41 08 02 00 00 00 	movl   $0x2,0x8(%ecx)
4beba3:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
4bebaa:	c3                   	ret
4bebab:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
4bebb1:	c7 41 04 03 00 00 00 	movl   $0x3,0x4(%ecx)
4bebb8:	c7 41 08 01 00 00 00 	movl   $0x1,0x8(%ecx)
4bebbf:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
4bebc6:	c3                   	ret
4bebc7:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
4bebcd:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
4bebd4:	c7 41 08 03 00 00 00 	movl   $0x3,0x8(%ecx)
4bebdb:	c7 41 0c 03 00 00 00 	movl   $0x3,0xc(%ecx)
4bebe2:	c3                   	ret
4bebe3:	33 c0                	xor    %eax,%eax
4bebe5:	89 01                	mov    %eax,(%ecx)
4bebe7:	33 c0                	xor    %eax,%eax
4bebe9:	89 41 04             	mov    %eax,0x4(%ecx)
4bebec:	33 c0                	xor    %eax,%eax
4bebee:	89 41 08             	mov    %eax,0x8(%ecx)
4bebf1:	33 c0                	xor    %eax,%eax
4bebf3:	89 41 0c             	mov    %eax,0xc(%ecx)
4bebf6:	c3                   	ret
4bebf7:	90                   	nop
4bebf8:	55                   	push   %ebp
4bebf9:	8b ec                	mov    %esp,%ebp
4bebfb:	83 c4 f0             	add    $0xfffffff0,%esp
4bebfe:	53                   	push   %ebx
4bebff:	56                   	push   %esi
4bec00:	57                   	push   %edi
4bec01:	8b f1                	mov    %ecx,%esi
4bec03:	8b fa                	mov    %edx,%edi
4bec05:	8b 5d 08             	mov    0x8(%ebp),%ebx
4bec08:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4bec0c:	0f 85 bb 01 00 00    	jne    0x4bedcd
4bec12:	8b c3                	mov    %ebx,%eax
4bec14:	25 01 10 00 00       	and    $0x1001,%eax
4bec19:	3d 01 10 00 00       	cmp    $0x1001,%eax
4bec1e:	74 17                	je     0x4bec37
4bec20:	8b c3                	mov    %ebx,%eax
4bec22:	25 02 10 00 00       	and    $0x1002,%eax
4bec27:	3d 02 10 00 00       	cmp    $0x1002,%eax
4bec2c:	75 17                	jne    0x4bec45
4bec2e:	80 3d 74 b2 6a 00 01 	cmpb   $0x1,0x6ab274
4bec35:	75 0e                	jne    0x4bec45
4bec37:	8b c3                	mov    %ebx,%eax