4546c0:	5e                   	pop    %esi
4546c1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4546c8:	5b                   	pop    %ebx
4546c9:	8b e5                	mov    %ebp,%esp
4546cb:	5d                   	pop    %ebp
4546cc:	c2 10 00             	ret    $0x10
4546cf:	e9 08 cf fa ff       	jmp    0x4015dc
4546d4:	ff 15 7c 11 40 00    	call   *0x40117c
4546da:	90                   	nop
4546db:	90                   	nop
4546dc:	90                   	nop
4546dd:	90                   	nop
4546de:	90                   	nop
4546df:	90                   	nop
4546e0:	55                   	push   %ebp
4546e1:	8b ec                	mov    %esp,%ebp
4546e3:	83 ec 0c             	sub    $0xc,%esp
4546e6:	68 d6 15 40 00       	push   $0x4015d6
4546eb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4546f1:	50                   	push   %eax
4546f2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4546f9:	83 ec 08             	sub    $0x8,%esp
4546fc:	53                   	push   %ebx
4546fd:	56                   	push   %esi
4546fe:	57                   	push   %edi
4546ff:	89 65 f4             	mov    %esp,-0xc(%ebp)
454702:	c7 45 f8 68 15 40 00 	movl   $0x401568,-0x8(%ebp)
454709:	8b 45 08             	mov    0x8(%ebp),%eax
45470c:	8b c8                	mov    %eax,%ecx
45470e:	83 e1 01             	and    $0x1,%ecx
454711:	89 4d fc             	mov    %ecx,-0x4(%ebp)
454714:	24 fe                	and    $0xfe,%al
454716:	50                   	push   %eax
454717:	89 45 08             	mov    %eax,0x8(%ebp)
45471a:	8b 10                	mov    (%eax),%edx
45471c:	ff 52 04             	call   *0x4(%edx)
45471f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
454726:	8b 45 08             	mov    0x8(%ebp),%eax
454729:	50                   	push   %eax
45472a:	8b 08                	mov    (%eax),%ecx
45472c:	ff 51 08             	call   *0x8(%ecx)
45472f:	8b 45 fc             	mov    -0x4(%ebp),%eax
454732:	8b 4d ec             	mov    -0x14(%ebp),%ecx
454735:	5f                   	pop    %edi
454736:	5e                   	pop    %esi
454737:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45473e:	5b                   	pop    %ebx
45473f:	8b e5                	mov    %ebp,%esp
454741:	5d                   	pop    %ebp
454742:	c2 0c 00             	ret    $0xc
454745:	90                   	nop
454746:	90                   	nop
454747:	90                   	nop
454748:	90                   	nop
454749:	90                   	nop
45474a:	90                   	nop
45474b:	90                   	nop
45474c:	90                   	nop
45474d:	90                   	nop
45474e:	90                   	nop
45474f:	90                   	nop
454750:	55                   	push   %ebp
454751:	8b ec                	mov    %esp,%ebp
454753:	83 ec 0c             	sub    $0xc,%esp
454756:	68 d6 15 40 00       	push   $0x4015d6
45475b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
454761:	50                   	push   %eax
454762:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
454769:	83 ec 18             	sub    $0x18,%esp
45476c:	53                   	push   %ebx
45476d:	56                   	push   %esi
45476e:	57                   	push   %edi
45476f:	89 65 f4             	mov    %esp,-0xc(%ebp)
454772:	c7 45 f8 70 15 40 00 	movl   $0x401570,-0x8(%ebp)
454779:	8b 7d 08             	mov    0x8(%ebp),%edi
45477c:	8b c7                	mov    %edi,%eax
45477e:	83 e0 01             	and    $0x1,%eax
454781:	89 45 fc             	mov    %eax,-0x4(%ebp)
454784:	83 e7 fe             	and    $0xfffffffe,%edi
454787:	57                   	push   %edi
454788:	89 7d 08             	mov    %edi,0x8(%ebp)
45478b:	8b 0f                	mov    (%edi),%ecx
45478d:	ff 51 04             	call   *0x4(%ecx)
454790:	a1 90 78 45 00       	mov    0x457890,%eax
454795:	33 db                	xor    %ebx,%ebx
454797:	3b c3                	cmp    %ebx,%eax
454799:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45479c:	75 10                	jne    0x4547ae
45479e:	68 90 78 45 00       	push   $0x457890
4547a3:	68 a4 72 40 00       	push   $0x4072a4
4547a8:	ff 15 88 11 40 00    	call   *0x401188
4547ae:	8b 35 90 78 45 00    	mov    0x457890,%esi
4547b4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4547b7:	57                   	push   %edi
4547b8:	50                   	push   %eax
4547b9:	8b 16                	mov    (%esi),%edx
4547bb:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4547be:	ff 15 e0 10 40 00    	call   *0x4010e0
4547c4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4547c7:	50                   	push   %eax
4547c8:	56                   	push   %esi
4547c9:	ff 51 10             	call   *0x10(%ecx)
4547cc:	3b c3                	cmp    %ebx,%eax
4547ce:	db e2                	fnclex
4547d0:	7d 0f                	jge    0x4547e1
4547d2:	6a 10                	push   $0x10
4547d4:	68 94 72 40 00       	push   $0x407294
4547d9:	56                   	push   %esi
4547da:	50                   	push   %eax
4547db:	ff 15 bc 10 40 00    	call   *0x4010bc
4547e1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4547e4:	ff 15 fc 11 40 00    	call   *0x4011fc
4547ea:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4547ed:	68 ff 47 45 00       	push   $0x4547ff
4547f2:	eb 0a                	jmp    0x4547fe
4547f4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4547f7:	ff 15 fc 11 40 00    	call   *0x4011fc
4547fd:	c3                   	ret
4547fe:	c3                   	ret
4547ff:	8b 45 08             	mov    0x8(%ebp),%eax
454802:	50                   	push   %eax
454803:	8b 10                	mov    (%eax),%edx
454805:	ff 52 08             	call   *0x8(%edx)
454808:	8b 45 fc             	mov    -0x4(%ebp),%eax
45480b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45480e:	5f                   	pop    %edi
45480f:	5e                   	pop    %esi
454810:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
454817:	5b                   	pop    %ebx
454818:	8b e5                	mov    %ebp,%esp
45481a:	5d                   	pop    %ebp
45481b:	c2 04 00             	ret    $0x4
45481e:	90                   	nop
45481f:	90                   	nop
454820:	55                   	push   %ebp
454821:	8b ec                	mov    %esp,%ebp
454823:	83 ec 0c             	sub    $0xc,%esp
454826:	68 d6 15 40 00       	push   $0x4015d6
45482b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
454831:	50                   	push   %eax
454832:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
454839:	83 ec 20             	sub    $0x20,%esp
45483c:	53                   	push   %ebx
45483d:	56                   	push   %esi
45483e:	57                   	push   %edi
45483f:	89 65 f4             	mov    %esp,-0xc(%ebp)
454842:	c7 45 f8 80 15 40 00 	movl   $0x401580,-0x8(%ebp)
454849:	8b 7d 08             	mov    0x8(%ebp),%edi
45484c:	33 c0                	xor    %eax,%eax
45484e:	89 45 e8             	mov    %eax,-0x18(%ebp)
454851:	89 45 e4             	mov    %eax,-0x1c(%ebp)
454854:	89 45 e0             	mov    %eax,-0x20(%ebp)
454857:	89 45 dc             	mov    %eax,-0x24(%ebp)
45485a:	8b 07                	mov    (%edi),%eax
45485c:	50                   	push   %eax
45485d:	6a 01                	push   $0x1
45485f:	ff 15 64 11 40 00    	call   *0x401164
454865:	8b 75 0c             	mov    0xc(%ebp),%esi
454868:	8b 0f                	mov    (%edi),%ecx
45486a:	33 db                	xor    %ebx,%ebx
45486c:	3b f0                	cmp    %eax,%esi
45486e:	51                   	push   %ecx
45486f:	6a 01                	push   $0x1
454871:	0f 9e c3             	setle  %bl
454874:	ff 15 2c 11 40 00    	call   *0x40112c
45487a:	33 d2                	xor    %edx,%edx
45487c:	3b f0                	cmp    %eax,%esi
45487e:	0f 9d c2             	setge  %dl
454881:	85 da                	test   %ebx,%edx
454883:	0f 84 18 01 00 00    	je     0x4549a1
454889:	8b 07                	mov    (%edi),%eax
45488b:	50                   	push   %eax
45488c:	6a 01                	push   $0x1
45488e:	ff 15 64 11 40 00    	call   *0x401164
454894:	8b ce                	mov    %esi,%ecx
454896:	8b 75 10             	mov    0x10(%ebp),%esi
454899:	03 ce                	add    %esi,%ecx
45489b:	0f 80 4f 01 00 00    	jo     0x4549f0
4548a1:	83 e9 01             	sub    $0x1,%ecx
4548a4:	0f 80 46 01 00 00    	jo     0x4549f0
4548aa:	3b c8                	cmp    %eax,%ecx
4548ac:	7e 23                	jle    0x4548d1
4548ae:	8b 17                	mov    (%edi),%edx
4548b0:	52                   	push   %edx
4548b1:	6a 01                	push   $0x1
4548b3:	ff 15 64 11 40 00    	call   *0x401164
4548b9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4548bc:	8b f0                	mov    %eax,%esi
4548be:	2b f3                	sub    %ebx,%esi
4548c0:	0f 80 2a 01 00 00    	jo     0x4549f0
4548c6:	83 c6 01             	add    $0x1,%esi
4548c9:	0f 80 21 01 00 00    	jo     0x4549f0
4548cf:	eb 03                	jmp    0x4548d4
4548d1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4548d4:	8b c6                	mov    %esi,%eax
4548d6:	6a 00                	push   $0x0
4548d8:	83 e8 01             	sub    $0x1,%eax
4548db:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4548de:	0f 80 0c 01 00 00    	jo     0x4549f0
4548e4:	50                   	push   %eax
4548e5:	6a 01                	push   $0x1
4548e7:	6a 11                	push   $0x11
4548e9:	51                   	push   %ecx
4548ea:	6a 01                	push   $0x1
4548ec:	68 80 00 00 00       	push   $0x80
4548f1:	ff 15 38 11 40 00    	call   *0x401138
4548f7:	8b 17                	mov    (%edi),%edx
4548f9:	8b 3d b4 11 40 00    	mov    0x4011b4,%edi
4548ff:	83 c4 1c             	add    $0x1c,%esp
454902:	8d 45 dc             	lea    -0x24(%ebp),%eax
454905:	52                   	push   %edx
454906:	50                   	push   %eax
454907:	ff d7                	call   *%edi
454909:	8b 45 dc             	mov    -0x24(%ebp),%eax
45490c:	85 c0                	test   %eax,%eax
45490e:	74 1a                	je     0x45492a
454910:	66 83 38 01          	cmpw   $0x1,(%eax)
454914:	75 14                	jne    0x45492a
454916:	8b 50 14             	mov    0x14(%eax),%edx
454919:	8b 48 10             	mov    0x10(%eax),%ecx
45491c:	2b da                	sub    %edx,%ebx
45491e:	3b d9                	cmp    %ecx,%ebx
454920:	72 10                	jb     0x454932
454922:	ff 15 10 11 40 00    	call   *0x401110
454928:	eb 08                	jmp    0x454932
45492a:	ff 15 10 11 40 00    	call   *0x401110
454930:	8b d8                	mov    %eax,%ebx
454932:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
454935:	8d 55 e0             	lea    -0x20(%ebp),%edx
454938:	51                   	push   %ecx
454939:	52                   	push   %edx
45493a:	ff d7                	call   *%edi
45493c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45493f:	85 c9                	test   %ecx,%ecx
454941:	74 1f                	je     0x454962
454943:	66 83 39 01          	cmpw   $0x1,(%ecx)
454947:	75 19                	jne    0x454962
454949:	8b 79 14             	mov    0x14(%ecx),%edi
45494c:	8b 41 10             	mov    0x10(%ecx),%eax
45494f:	f7 df                	neg    %edi
454951:	3b f8                	cmp    %eax,%edi
454953:	72 09                	jb     0x45495e
454955:	ff 15 10 11 40 00    	call   *0x401110
45495b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45495e:	8b c7                	mov    %edi,%eax
454960:	eb 09                	jmp    0x45496b
454962:	ff 15 10 11 40 00    	call   *0x401110
454968:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45496b:	8b 55 dc             	mov    -0x24(%ebp),%edx
45496e:	8b 49 0c             	mov    0xc(%ecx),%ecx
454971:	56                   	push   %esi
454972:	03 c8                	add    %eax,%ecx
454974:	8b 52 0c             	mov    0xc(%edx),%edx
454977:	03 d3                	add    %ebx,%edx
454979:	52                   	push   %edx
45497a:	51                   	push   %ecx
45497b:	ff 15 44 10 40 00    	call   *0x401044
454981:	8b 35 ec 11 40 00    	mov    0x4011ec,%esi
454987:	8d 55 e0             	lea    -0x20(%ebp),%edx
45498a:	52                   	push   %edx
45498b:	ff d6                	call   *%esi
45498d:	8d 45 dc             	lea    -0x24(%ebp),%eax
454990:	50                   	push   %eax
454991:	ff d6                	call   *%esi
454993:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
454996:	8d 55 e8             	lea    -0x18(%ebp),%edx
454999:	51                   	push   %ecx
45499a:	52                   	push   %edx
45499b:	ff 15 94 10 40 00    	call   *0x401094
4549a1:	68 da 49 45 00       	push   $0x4549da
4549a6:	eb 25                	jmp    0x4549cd
4549a8:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
4549ac:	74 0c                	je     0x4549ba
4549ae:	8d 45 e8             	lea    -0x18(%ebp),%eax
4549b1:	50                   	push   %eax
4549b2:	6a 00                	push   $0x0
4549b4:	ff 15 c4 10 40 00    	call   *0x4010c4
4549ba:	8b 35 ec 11 40 00    	mov    0x4011ec,%esi
4549c0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4549c3:	51                   	push   %ecx
4549c4:	ff d6                	call   *%esi
4549c6:	8d 55 dc             	lea    -0x24(%ebp),%edx
4549c9:	52                   	push   %edx
4549ca:	ff d6                	call   *%esi
4549cc:	c3                   	ret
4549cd:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4549d0:	50                   	push   %eax
4549d1:	6a 00                	push   $0x0
4549d3:	ff 15 c4 10 40 00    	call   *0x4010c4
4549d9:	c3                   	ret
4549da:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4549dd:	8b 45 e8             	mov    -0x18(%ebp),%eax
4549e0:	5f                   	pop    %edi
4549e1:	5e                   	pop    %esi
4549e2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4549e9:	5b                   	pop    %ebx
4549ea:	8b e5                	mov    %ebp,%esp
4549ec:	5d                   	pop    %ebp
4549ed:	c2 0c 00             	ret    $0xc
4549f0:	ff 15 7c 11 40 00    	call   *0x40117c
4549f6:	90                   	nop
4549f7:	90                   	nop
4549f8:	90                   	nop
4549f9:	90                   	nop
4549fa:	90                   	nop
4549fb:	90                   	nop
4549fc:	90                   	nop
4549fd:	90                   	nop
4549fe:	90                   	nop
4549ff:	90                   	nop
454a00:	55                   	push   %ebp
454a01:	8b ec                	mov    %esp,%ebp
454a03:	83 ec 08             	sub    $0x8,%esp
454a06:	68 d6 15 40 00       	push   $0x4015d6
454a0b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
454a11:	50                   	push   %eax
454a12:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
454a19:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
454a1f:	53                   	push   %ebx
454a20:	56                   	push   %esi
454a21:	57                   	push   %edi
454a22:	89 65 f8             	mov    %esp,-0x8(%ebp)
454a25:	c7 45 fc 90 15 40 00 	movl   $0x401590,-0x4(%ebp)
454a2c:	8d 45 dc             	lea    -0x24(%ebp),%eax
454a2f:	33 f6                	xor    %esi,%esi
454a31:	6a 35                	push   $0x35
454a33:	50                   	push   %eax
454a34:	89 75 dc             	mov    %esi,-0x24(%ebp)
454a37:	89 75 cc             	mov    %esi,-0x34(%ebp)
454a3a:	89 75 bc             	mov    %esi,-0x44(%ebp)
454a3d:	89 75 b8             	mov    %esi,-0x48(%ebp)
454a40:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
454a46:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
454a4c:	89 b5 58 ff ff ff    	mov    %esi,-0xa8(%ebp)
454a52:	ff 15 5c 11 40 00    	call   *0x40115c
454a58:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
454a5e:	8d 55 dc             	lea    -0x24(%ebp),%edx
454a61:	51                   	push   %ecx
454a62:	6a 40                	push   $0x40
454a64:	52                   	push   %edx
454a65:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
454a6b:	ff 15 b0 11 40 00    	call   *0x4011b0
454a71:	8b 7d 08             	mov    0x8(%ebp),%edi
454a74:	50                   	push   %eax
454a75:	57                   	push   %edi
454a76:	ff 15 40 10 40 00    	call   *0x401040
454a7c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
454a7f:	ff 15 98 10 40 00    	call   *0x401098
454a85:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
454a8b:	6a 01                	push   $0x1