44e77b:	8b 43 04             	mov    0x4(%ebx),%eax
44e77e:	8b 70 04             	mov    0x4(%eax),%esi
44e781:	8b ce                	mov    %esi,%ecx
44e783:	e8 e4 ab fb ff       	call   0x40936c
44e788:	8b 46 08             	mov    0x8(%esi),%eax
44e78b:	ff 30                	push   (%eax)
44e78d:	ff 15 dc d3 48 00    	call   *0x48d3dc
44e793:	8b 43 04             	mov    0x4(%ebx),%eax
44e796:	8b 30                	mov    (%eax),%esi
44e798:	8b ce                	mov    %esi,%ecx
44e79a:	e8 cd ab fb ff       	call   0x40936c
44e79f:	8b 46 08             	mov    0x8(%esi),%eax
44e7a2:	8b 38                	mov    (%eax),%edi
44e7a4:	8b 43 04             	mov    0x4(%ebx),%eax
44e7a7:	8b 70 04             	mov    0x4(%eax),%esi
44e7aa:	8b ce                	mov    %esi,%ecx
44e7ac:	e8 bb ab fb ff       	call   0x40936c
44e7b1:	8b 46 08             	mov    0x8(%esi),%eax
44e7b4:	6a 00                	push   $0x0
44e7b6:	57                   	push   %edi
44e7b7:	ff 30                	push   (%eax)
44e7b9:	ff 15 b0 d2 48 00    	call   *0x48d2b0
44e7bf:	8b 7d 0c             	mov    0xc(%ebp),%edi
44e7c2:	8b cf                	mov    %edi,%ecx
44e7c4:	8b f0                	mov    %eax,%esi
44e7c6:	e8 55 44 fc ff       	call   0x412c20
44e7cb:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
44e7d2:	89 37                	mov    %esi,(%edi)
44e7d4:	5f                   	pop    %edi
44e7d5:	5e                   	pop    %esi
44e7d6:	33 c0                	xor    %eax,%eax
44e7d8:	5b                   	pop    %ebx
44e7d9:	c9                   	leave
44e7da:	c2 08 00             	ret    $0x8
44e7dd:	55                   	push   %ebp
44e7de:	8b ec                	mov    %esp,%ebp
44e7e0:	83 e4 f8             	and    $0xfffffff8,%esp
44e7e3:	83 ec 34             	sub    $0x34,%esp
44e7e6:	8b 45 08             	mov    0x8(%ebp),%eax
44e7e9:	53                   	push   %ebx
44e7ea:	8b 58 08             	mov    0x8(%eax),%ebx
44e7ed:	8b 40 04             	mov    0x4(%eax),%eax
44e7f0:	56                   	push   %esi
44e7f1:	8b 70 04             	mov    0x4(%eax),%esi
44e7f4:	57                   	push   %edi
44e7f5:	8b ce                	mov    %esi,%ecx
44e7f7:	89 5c 24 14          	mov    %ebx,0x14(%esp)
44e7fb:	33 ff                	xor    %edi,%edi
44e7fd:	e8 6a ab fb ff       	call   0x40936c
44e802:	8b 4e 08             	mov    0x8(%esi),%ecx
44e805:	8d 54 24 20          	lea    0x20(%esp),%edx
44e809:	8b 01                	mov    (%ecx),%eax
44e80b:	89 44 24 20          	mov    %eax,0x20(%esp)
44e80f:	8b 41 04             	mov    0x4(%ecx),%eax
44e812:	89 44 24 24          	mov    %eax,0x24(%esp)
44e816:	8b 41 08             	mov    0x8(%ecx),%eax
44e819:	89 44 24 28          	mov    %eax,0x28(%esp)
44e81d:	8b 41 0c             	mov    0xc(%ecx),%eax
44e820:	89 44 24 2c          	mov    %eax,0x2c(%esp)
44e824:	ff 00                	incl   (%eax)
44e826:	8b ca                	mov    %edx,%ecx
44e828:	e8 e2 7d fb ff       	call   0x40660f
44e82d:	8b 74 24 24          	mov    0x24(%esp),%esi
44e831:	6a ff                	push   $0xffffffff
44e833:	6a ff                	push   $0xffffffff
44e835:	6a ff                	push   $0xffffffff
44e837:	6a 01                	push   $0x1
44e839:	6a 02                	push   $0x2
44e83b:	68 cc 3c 4b 00       	push   $0x4b3ccc
44e840:	8d 4c 24 38          	lea    0x38(%esp),%ecx
44e844:	e8 c8 36 ff ff       	call   0x441f11
44e849:	3b c6                	cmp    %esi,%eax
44e84b:	75 0e                	jne    0x44e85b
44e84d:	68 cc 3c 4b 00       	push   $0x4b3ccc
44e852:	8d 4c 24 24          	lea    0x24(%esp),%ecx
44e856:	e8 31 69 fb ff       	call   0x40518c
44e85b:	6a 00                	push   $0x0
44e85d:	ff 15 3c d8 48 00    	call   *0x48d83c
44e863:	8d 44 24 10          	lea    0x10(%esp),%eax
44e867:	50                   	push   %eax
44e868:	68 ec d8 48 00       	push   $0x48d8ec
44e86d:	6a 01                	push   $0x1
44e86f:	6a 00                	push   $0x0
44e871:	68 7c da 48 00       	push   $0x48da7c
44e876:	ff 15 2c d8 48 00    	call   *0x48d82c
44e87c:	85 c0                	test   %eax,%eax
44e87e:	79 1e                	jns    0x44e89e
44e880:	8b 75 0c             	mov    0xc(%ebp),%esi
44e883:	8b ce                	mov    %esi,%ecx
44e885:	e8 96 43 fc ff       	call   0x412c20
44e88a:	21 3e                	and    %edi,(%esi)
44e88c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44e893:	ff 15 40 d8 48 00    	call   *0x48d840
44e899:	e9 1d 02 00 00       	jmp    0x44eabb
44e89e:	8b 45 08             	mov    0x8(%ebp),%eax
44e8a1:	8b 40 04             	mov    0x4(%eax),%eax
44e8a4:	8b 30                	mov    (%eax),%esi
44e8a6:	8b ce                	mov    %esi,%ecx
44e8a8:	e8 bf aa fb ff       	call   0x40936c
44e8ad:	8b 46 08             	mov    0x8(%esi),%eax
44e8b0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44e8b4:	ff 30                	push   (%eax)
44e8b6:	8b 11                	mov    (%ecx),%edx
44e8b8:	51                   	push   %ecx
44e8b9:	ff 52 50             	call   *0x50(%edx)
44e8bc:	83 fb 02             	cmp    $0x2,%ebx
44e8bf:	76 1f                	jbe    0x44e8e0
44e8c1:	8b 45 08             	mov    0x8(%ebp),%eax
44e8c4:	8b 40 04             	mov    0x4(%eax),%eax
44e8c7:	8b 70 08             	mov    0x8(%eax),%esi
44e8ca:	8b ce                	mov    %esi,%ecx
44e8cc:	e8 9b aa fb ff       	call   0x40936c
44e8d1:	8b 46 08             	mov    0x8(%esi),%eax
44e8d4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44e8d8:	ff 30                	push   (%eax)
44e8da:	8b 11                	mov    (%ecx),%edx
44e8dc:	51                   	push   %ecx
44e8dd:	ff 52 24             	call   *0x24(%edx)
44e8e0:	83 fb 03             	cmp    $0x3,%ebx
44e8e3:	76 1f                	jbe    0x44e904
44e8e5:	8b 45 08             	mov    0x8(%ebp),%eax
44e8e8:	8b 40 04             	mov    0x4(%eax),%eax
44e8eb:	8b 70 0c             	mov    0xc(%eax),%esi
44e8ee:	8b ce                	mov    %esi,%ecx
44e8f0:	e8 77 aa fb ff       	call   0x40936c
44e8f5:	8b 46 08             	mov    0x8(%esi),%eax
44e8f8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44e8fc:	ff 30                	push   (%eax)
44e8fe:	8b 11                	mov    (%ecx),%edx
44e900:	51                   	push   %ecx
44e901:	ff 52 2c             	call   *0x2c(%edx)
44e904:	83 fb 04             	cmp    $0x4,%ebx
44e907:	76 1f                	jbe    0x44e928
44e909:	8b 45 08             	mov    0x8(%ebp),%eax
44e90c:	8b 40 04             	mov    0x4(%eax),%eax
44e90f:	8b 70 10             	mov    0x10(%eax),%esi
44e912:	8b ce                	mov    %esi,%ecx
44e914:	e8 53 aa fb ff       	call   0x40936c
44e919:	8b 46 08             	mov    0x8(%esi),%eax
44e91c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44e920:	ff 30                	push   (%eax)
44e922:	8b 11                	mov    (%ecx),%edx
44e924:	51                   	push   %ecx
44e925:	ff 52 1c             	call   *0x1c(%edx)
44e928:	83 fb 05             	cmp    $0x5,%ebx
44e92b:	76 21                	jbe    0x44e94e
44e92d:	8b 45 08             	mov    0x8(%ebp),%eax
44e930:	8b 40 04             	mov    0x4(%eax),%eax
44e933:	8b 70 14             	mov    0x14(%eax),%esi
44e936:	8b ce                	mov    %esi,%ecx
44e938:	e8 2f aa fb ff       	call   0x40936c
44e93d:	8b 46 08             	mov    0x8(%esi),%eax
44e940:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44e944:	6a 00                	push   $0x0
44e946:	ff 30                	push   (%eax)
44e948:	8b 11                	mov    (%ecx),%edx
44e94a:	51                   	push   %ecx
44e94b:	ff 52 44             	call   *0x44(%edx)
44e94e:	8b 55 08             	mov    0x8(%ebp),%edx
44e951:	83 fb 06             	cmp    $0x6,%ebx
44e954:	0f 86 a5 00 00 00    	jbe    0x44e9ff
44e95a:	8b 42 04             	mov    0x4(%edx),%eax
44e95d:	8b 70 18             	mov    0x18(%eax),%esi
44e960:	8b ce                	mov    %esi,%ecx
44e962:	e8 99 6d fb ff       	call   0x405700
44e967:	84 c0                	test   %al,%al
44e969:	0f 84 90 00 00 00    	je     0x44e9ff
44e96f:	8b ce                	mov    %esi,%ecx
44e971:	e8 f6 a9 fb ff       	call   0x40936c
44e976:	8b 46 08             	mov    0x8(%esi),%eax
44e979:	8d 4c 24 30          	lea    0x30(%esp),%ecx
44e97d:	ff 30                	push   (%eax)
44e97f:	e8 95 e4 fb ff       	call   0x40ce19
44e984:	8d 44 24 0f          	lea    0xf(%esp),%eax
44e988:	50                   	push   %eax
44e989:	8d 44 24 10          	lea    0x10(%esp),%eax
44e98d:	50                   	push   %eax
44e98e:	8d 44 24 15          	lea    0x15(%esp),%eax
44e992:	50                   	push   %eax
44e993:	8d 44 24 1a          	lea    0x1a(%esp),%eax
44e997:	50                   	push   %eax
44e998:	8d 44 24 2c          	lea    0x2c(%esp),%eax
44e99c:	50                   	push   %eax
44e99d:	8d 44 24 44          	lea    0x44(%esp),%eax
44e9a1:	50                   	push   %eax
44e9a2:	e8 7a 35 fb ff       	call   0x401f21
44e9a7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
44e9ab:	8d 58 ff             	lea    -0x1(%eax),%ebx
44e9ae:	f6 db                	neg    %bl
44e9b0:	1a db                	sbb    %bl,%bl
44e9b2:	e8 80 e1 fb ff       	call   0x40cb37
44e9b7:	fe c3                	inc    %bl
44e9b9:	74 3d                	je     0x44e9f8
44e9bb:	8a 4c 24 0c          	mov    0xc(%esp),%cl
44e9bf:	84 c9                	test   %cl,%cl
44e9c1:	74 03                	je     0x44e9c6
44e9c3:	6a 04                	push   $0x4
44e9c5:	5f                   	pop    %edi
44e9c6:	8a 44 24 0d          	mov    0xd(%esp),%al
44e9ca:	84 c0                	test   %al,%al
44e9cc:	74 03                	je     0x44e9d1
44e9ce:	83 cf 02             	or     $0x2,%edi
44e9d1:	80 7c 24 0e 00       	cmpb   $0x0,0xe(%esp)
44e9d6:	74 03                	je     0x44e9db
44e9d8:	83 cf 01             	or     $0x1,%edi
44e9db:	84 c0                	test   %al,%al
44e9dd:	75 07                	jne    0x44e9e6
44e9df:	84 c9                	test   %cl,%cl
44e9e1:	75 03                	jne    0x44e9e6
44e9e3:	83 cf 06             	or     $0x6,%edi
44e9e6:	8b 44 24 10          	mov    0x10(%esp),%eax
44e9ea:	c1 e7 08             	shl    $0x8,%edi
44e9ed:	0b 7c 24 1c          	or     0x1c(%esp),%edi
44e9f1:	8b 08                	mov    (%eax),%ecx
44e9f3:	57                   	push   %edi
44e9f4:	50                   	push   %eax
44e9f5:	ff 51 34             	call   *0x34(%ecx)
44e9f8:	8b 55 08             	mov    0x8(%ebp),%edx
44e9fb:	8b 5c 24 14          	mov    0x14(%esp),%ebx
44e9ff:	83 fb 07             	cmp    $0x7,%ebx
44ea02:	76 2f                	jbe    0x44ea33
44ea04:	8b 42 04             	mov    0x4(%edx),%eax
44ea07:	8b 70 14             	mov    0x14(%eax),%esi
44ea0a:	8b 58 1c             	mov    0x1c(%eax),%ebx
44ea0d:	8b ce                	mov    %esi,%ecx
44ea0f:	e8 58 a9 fb ff       	call   0x40936c
44ea14:	8b 46 08             	mov    0x8(%esi),%eax
44ea17:	8b cb                	mov    %ebx,%ecx
44ea19:	8b 30                	mov    (%eax),%esi
44ea1b:	8b 44 24 10          	mov    0x10(%esp),%eax
44ea1f:	8b 38                	mov    (%eax),%edi
44ea21:	e8 60 e8 fb ff       	call   0x40d286
44ea26:	50                   	push   %eax
44ea27:	56                   	push   %esi
44ea28:	ff 74 24 18          	push   0x18(%esp)
44ea2c:	ff 57 44             	call   *0x44(%edi)
44ea2f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
44ea33:	83 fb 08             	cmp    $0x8,%ebx
44ea36:	76 1c                	jbe    0x44ea54
44ea38:	8b 45 08             	mov    0x8(%ebp),%eax
44ea3b:	8b 40 04             	mov    0x4(%eax),%eax
44ea3e:	8b 48 20             	mov    0x20(%eax),%ecx
44ea41:	8b 44 24 10          	mov    0x10(%esp),%eax
44ea45:	8b 30                	mov    (%eax),%esi
44ea47:	e8 3a e8 fb ff       	call   0x40d286
44ea4c:	50                   	push   %eax
44ea4d:	ff 74 24 14          	push   0x14(%esp)
44ea51:	ff 56 3c             	call   *0x3c(%esi)
44ea54:	8b 44 24 10          	mov    0x10(%esp),%eax
44ea58:	8d 54 24 18          	lea    0x18(%esp),%edx
44ea5c:	8b 08                	mov    (%eax),%ecx
44ea5e:	52                   	push   %edx
44ea5f:	68 4c d9 48 00       	push   $0x48d94c
44ea64:	50                   	push   %eax
44ea65:	ff 11                	call   *(%ecx)
44ea67:	85 c0                	test   %eax,%eax
44ea69:	78 32                	js     0x44ea9d
44ea6b:	8b 44 24 18          	mov    0x18(%esp),%eax
44ea6f:	33 db                	xor    %ebx,%ebx
44ea71:	8b 08                	mov    (%eax),%ecx
44ea73:	43                   	inc    %ebx
44ea74:	53                   	push   %ebx
44ea75:	ff 74 24 24          	push   0x24(%esp)
44ea79:	50                   	push   %eax
44ea7a:	ff 51 18             	call   *0x18(%ecx)
44ea7d:	85 c0                	test   %eax,%eax
44ea7f:	79 10                	jns    0x44ea91
44ea81:	8b 75 0c             	mov    0xc(%ebp),%esi
44ea84:	8b ce                	mov    %esi,%ecx
44ea86:	e8 95 41 fc ff       	call   0x412c20
44ea8b:	83 26 00             	andl   $0x0,(%esi)
44ea8e:	89 5e 0c             	mov    %ebx,0xc(%esi)
44ea91:	8b 44 24 18          	mov    0x18(%esp),%eax
44ea95:	50                   	push   %eax
44ea96:	8b 08                	mov    (%eax),%ecx
44ea98:	ff 51 08             	call   *0x8(%ecx)
44ea9b:	eb 14                	jmp    0x44eab1
44ea9d:	8b 75 0c             	mov    0xc(%ebp),%esi
44eaa0:	8b ce                	mov    %esi,%ecx
44eaa2:	e8 79 41 fc ff       	call   0x412c20
44eaa7:	83 26 00             	andl   $0x0,(%esi)
44eaaa:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44eab1:	8b 44 24 10          	mov    0x10(%esp),%eax
44eab5:	50                   	push   %eax
44eab6:	8b 08                	mov    (%eax),%ecx
44eab8:	ff 51 08             	call   *0x8(%ecx)
44eabb:	8d 4c 24 20          	lea    0x20(%esp),%ecx
44eabf:	e8 73 e0 fb ff       	call   0x40cb37
44eac4:	5f                   	pop    %edi
44eac5:	5e                   	pop    %esi
44eac6:	33 c0                	xor    %eax,%eax
44eac8:	5b                   	pop    %ebx
44eac9:	8b e5                	mov    %ebp,%esp
44eacb:	5d                   	pop    %ebp
44eacc:	c2 08 00             	ret    $0x8
44eacf:	55                   	push   %ebp
44ead0:	8b ec                	mov    %esp,%ebp
44ead2:	8b 45 08             	mov    0x8(%ebp),%eax
44ead5:	56                   	push   %esi
44ead6:	8b 40 04             	mov    0x4(%eax),%eax
44ead9:	57                   	push   %edi
44eada:	8b 30                	mov    (%eax),%esi
44eadc:	8b f9                	mov    %ecx,%edi
44eade:	8b ce                	mov    %esi,%ecx
44eae0:	e8 87 a8 fb ff       	call   0x40936c
44eae5:	8b 46 08             	mov    0x8(%esi),%eax
44eae8:	8b 08                	mov    (%eax),%ecx
44eaea:	e8 0a 79 ff ff       	call   0x4463f9
44eaef:	84 c0                	test   %al,%al
44eaf1:	75 29                	jne    0x44eb1c
44eaf3:	ff 15 10 d3 48 00    	call   *0x48d310
44eaf9:	6a 00                	push   $0x0
44eafb:	50                   	push   %eax
44eafc:	8b 07                	mov    (%edi),%eax
44eafe:	8b 48 04             	mov    0x4(%eax),%ecx
44eb01:	03 cf                	add    %edi,%ecx
44eb03:	e8 19 48 fb ff       	call   0x403321
44eb08:	8b 75 0c             	mov    0xc(%ebp),%esi
44eb0b:	8b ce                	mov    %esi,%ecx
44eb0d:	e8 0e 41 fc ff       	call   0x412c20
44eb12:	83 26 00             	andl   $0x0,(%esi)
44eb15:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44eb1c:	5f                   	pop    %edi
44eb1d:	33 c0                	xor    %eax,%eax
44eb1f:	5e                   	pop    %esi
44eb20:	5d                   	pop    %ebp
44eb21:	c2 08 00             	ret    $0x8
44eb24:	55                   	push   %ebp
44eb25:	8b ec                	mov    %esp,%ebp
44eb27:	8b 45 08             	mov    0x8(%ebp),%eax
44eb2a:	56                   	push   %esi
44eb2b:	8b 40 04             	mov    0x4(%eax),%eax
44eb2e:	8b 30                	mov    (%eax),%esi
44eb30:	8b ce                	mov    %esi,%ecx
44eb32:	e8 35 a8 fb ff       	call   0x40936c
44eb37:	8b 46 08             	mov    0x8(%esi),%eax
44eb3a:	8b 08                	mov    (%eax),%ecx
44eb3c:	e8 e3 79 ff ff       	call   0x446524
44eb41:	84 c0                	test   %al,%al
44eb43:	75 14                	jne    0x44eb59
44eb45:	8b 75 0c             	mov    0xc(%ebp),%esi
44eb48:	8b ce                	mov    %esi,%ecx
44eb4a:	e8 d1 40 fc ff       	call   0x412c20
44eb4f:	83 26 00             	andl   $0x0,(%esi)
44eb52:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44eb59:	33 c0                	xor    %eax,%eax
44eb5b:	5e                   	pop    %esi
44eb5c:	5d                   	pop    %ebp
44eb5d:	c2 08 00             	ret    $0x8
44eb60:	55                   	push   %ebp