40467e:	83 f8 08             	cmp    $0x8,%eax
404681:	72 2b                	jb     0x4046ae
404683:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40468a:	8b c7                	mov    %edi,%eax
40468c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
404692:	72 10                	jb     0x4046a4
404694:	8b 78 fc             	mov    -0x4(%eax),%edi
404697:	83 c1 23             	add    $0x23,%ecx
40469a:	2b c7                	sub    %edi,%eax
40469c:	83 c0 fc             	add    $0xfffffffc,%eax
40469f:	83 f8 1f             	cmp    $0x1f,%eax
4046a2:	77 33                	ja     0x4046d7
4046a4:	51                   	push   %ecx
4046a5:	57                   	push   %edi
4046a6:	e8 0d 55 01 00       	call   0x419bb8
4046ab:	83 c4 08             	add    $0x8,%esp
4046ae:	8d 45 cc             	lea    -0x34(%ebp),%eax
4046b1:	50                   	push   %eax
4046b2:	8b c8                	mov    %eax,%ecx
4046b4:	e8 77 b6 00 00       	call   0x40fd30
4046b9:	33 c0                	xor    %eax,%eax
4046bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4046be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4046c5:	59                   	pop    %ecx
4046c6:	5f                   	pop    %edi
4046c7:	5e                   	pop    %esi
4046c8:	5b                   	pop    %ebx
4046c9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4046cc:	33 cd                	xor    %ebp,%ecx
4046ce:	e8 d7 54 01 00       	call   0x419baa
4046d3:	8b e5                	mov    %ebp,%esp
4046d5:	5d                   	pop    %ebp
4046d6:	c3                   	ret
4046d7:	e8 b7 b2 01 00       	call   0x41f993
4046dc:	cc                   	int3
4046dd:	cc                   	int3
4046de:	cc                   	int3
4046df:	cc                   	int3
4046e0:	b8 78 7b 45 00       	mov    $0x457b78,%eax
4046e5:	c3                   	ret
4046e6:	cc                   	int3
4046e7:	cc                   	int3
4046e8:	cc                   	int3
4046e9:	cc                   	int3
4046ea:	cc                   	int3
4046eb:	cc                   	int3
4046ec:	cc                   	int3
4046ed:	cc                   	int3
4046ee:	cc                   	int3
4046ef:	cc                   	int3
4046f0:	55                   	push   %ebp
4046f1:	8b ec                	mov    %esp,%ebp
4046f3:	83 e4 f8             	and    $0xfffffff8,%esp
4046f6:	ff 75 10             	push   0x10(%ebp)
4046f9:	6a 00                	push   $0x0
4046fb:	ff 75 08             	push   0x8(%ebp)
4046fe:	52                   	push   %edx
4046ff:	51                   	push   %ecx
404700:	e8 db ff ff ff       	call   0x4046e0
404705:	ff 70 04             	push   0x4(%eax)
404708:	ff 30                	push   (%eax)
40470a:	e8 c4 ee 01 00       	call   0x4235d3
40470f:	83 c9 ff             	or     $0xffffffff,%ecx
404712:	83 c4 1c             	add    $0x1c,%esp
404715:	85 c0                	test   %eax,%eax
404717:	0f 48 c1             	cmovs  %ecx,%eax
40471a:	8b e5                	mov    %ebp,%esp
40471c:	5d                   	pop    %ebp
40471d:	c3                   	ret
40471e:	cc                   	int3
40471f:	cc                   	int3
404720:	55                   	push   %ebp
404721:	8b ec                	mov    %esp,%ebp
404723:	51                   	push   %ecx
404724:	8b 4d 08             	mov    0x8(%ebp),%ecx
404727:	8d 45 14             	lea    0x14(%ebp),%eax
40472a:	8b 55 0c             	mov    0xc(%ebp),%edx
40472d:	50                   	push   %eax
40472e:	51                   	push   %ecx
40472f:	ff 75 10             	push   0x10(%ebp)
404732:	e8 b9 ff ff ff       	call   0x4046f0
404737:	83 c4 0c             	add    $0xc,%esp
40473a:	59                   	pop    %ecx
40473b:	5d                   	pop    %ebp
40473c:	c3                   	ret
40473d:	cc                   	int3
40473e:	cc                   	int3
40473f:	cc                   	int3
404740:	55                   	push   %ebp
404741:	8b ec                	mov    %esp,%ebp
404743:	6a ff                	push   $0xffffffff
404745:	68 a5 bb 43 00       	push   $0x43bba5
40474a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404750:	50                   	push   %eax
404751:	83 ec 10             	sub    $0x10,%esp
404754:	a1 14 50 45 00       	mov    0x455014,%eax
404759:	33 c5                	xor    %ebp,%eax
40475b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40475e:	53                   	push   %ebx
40475f:	56                   	push   %esi
404760:	50                   	push   %eax
404761:	8d 45 f4             	lea    -0xc(%ebp),%eax
404764:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40476a:	8b f1                	mov    %ecx,%esi
40476c:	8d 55 e8             	lea    -0x18(%ebp),%edx
40476f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404772:	e8 a9 f2 00 00       	call   0x413a20
404777:	83 7d ec 20          	cmpl   $0x20,-0x14(%ebp)
40477b:	75 50                	jne    0x4047cd
40477d:	8b 35 24 72 45 00    	mov    0x457224,%esi
404783:	85 f6                	test   %esi,%esi
404785:	74 2f                	je     0x4047b6
404787:	68 c8 ea 44 00       	push   $0x44eac8
40478c:	68 54 9f 44 00       	push   $0x449f54
404791:	68 54 9f 44 00       	push   $0x449f54
404796:	68 10 ea 44 00       	push   $0x44ea10
40479b:	68 24 ea 44 00       	push   $0x44ea24
4047a0:	6a 32                	push   $0x32
4047a2:	8b ce                	mov    %esi,%ecx
4047a4:	ff 15 5c e2 43 00    	call   *0x43e25c
4047aa:	ff d6                	call   *%esi
4047ac:	83 c4 18             	add    $0x18,%esp
4047af:	32 c0                	xor    %al,%al
4047b1:	e9 27 01 00 00       	jmp    0x4048dd
4047b6:	a1 28 72 45 00       	mov    0x457228,%eax
4047bb:	85 c0                	test   %eax,%eax
4047bd:	0f 84 06 01 00 00    	je     0x4048c9
4047c3:	68 c8 ea 44 00       	push   $0x44eac8
4047c8:	e9 dd 00 00 00       	jmp    0x4048aa
4047cd:	83 ec 18             	sub    $0x18,%esp
4047d0:	32 db                	xor    %bl,%bl
4047d2:	8b cc                	mov    %esp,%ecx
4047d4:	89 65 e8             	mov    %esp,-0x18(%ebp)
4047d7:	6a 06                	push   $0x6
4047d9:	68 38 ea 44 00       	push   $0x44ea38
4047de:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4047e4:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
4047eb:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
4047f2:	e8 09 e8 ff ff       	call   0x403000
4047f7:	83 ec 18             	sub    $0x18,%esp
4047fa:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
404801:	8b cc                	mov    %esp,%ecx
404803:	89 65 ec             	mov    %esp,-0x14(%ebp)
404806:	6a 0f                	push   $0xf
404808:	68 30 eb 44 00       	push   $0x44eb30
40480d:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
404813:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
40481a:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
404821:	e8 da e7 ff ff       	call   0x403000
404826:	83 ec 18             	sub    $0x18,%esp
404829:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40482d:	8b cc                	mov    %esp,%ecx
40482f:	6a 3c                	push   $0x3c
404831:	68 48 ea 44 00       	push   $0x44ea48
404836:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40483c:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
404843:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
40484a:	e8 b1 e7 ff ff       	call   0x403000
40484f:	8a d3                	mov    %bl,%dl
404851:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
404858:	8b ce                	mov    %esi,%ecx
40485a:	e8 e1 f8 00 00       	call   0x414140
40485f:	83 c4 48             	add    $0x48,%esp
404862:	84 c0                	test   %al,%al
404864:	75 67                	jne    0x4048cd
404866:	8b 35 24 72 45 00    	mov    0x457224,%esi
40486c:	85 f6                	test   %esi,%esi
40486e:	74 2c                	je     0x40489c
404870:	68 50 eb 44 00       	push   $0x44eb50
404875:	68 54 9f 44 00       	push   $0x449f54
40487a:	68 54 9f 44 00       	push   $0x449f54
40487f:	68 10 ea 44 00       	push   $0x44ea10
404884:	68 24 ea 44 00       	push   $0x44ea24
404889:	6a 32                	push   $0x32
40488b:	8b ce                	mov    %esi,%ecx
40488d:	ff 15 5c e2 43 00    	call   *0x43e25c
404893:	ff d6                	call   *%esi
404895:	83 c4 18             	add    $0x18,%esp
404898:	32 c0                	xor    %al,%al
40489a:	eb 41                	jmp    0x4048dd
40489c:	a1 28 72 45 00       	mov    0x457228,%eax
4048a1:	85 c0                	test   %eax,%eax
4048a3:	74 24                	je     0x4048c9
4048a5:	68 50 eb 44 00       	push   $0x44eb50
4048aa:	8b 30                	mov    (%eax),%esi
4048ac:	68 10 ea 44 00       	push   $0x44ea10
4048b1:	68 54 9f 44 00       	push   $0x449f54
4048b6:	6a 32                	push   $0x32
4048b8:	8b 76 34             	mov    0x34(%esi),%esi
4048bb:	8b ce                	mov    %esi,%ecx
4048bd:	50                   	push   %eax
4048be:	ff 15 5c e2 43 00    	call   *0x43e25c
4048c4:	ff d6                	call   *%esi
4048c6:	83 c4 14             	add    $0x14,%esp
4048c9:	32 c0                	xor    %al,%al
4048cb:	eb 10                	jmp    0x4048dd
4048cd:	6a 1b                	push   $0x1b
4048cf:	68 b0 eb 44 00       	push   $0x44ebb0
4048d4:	8b ce                	mov    %esi,%ecx
4048d6:	e8 95 e4 ff ff       	call   0x402d70
4048db:	b0 01                	mov    $0x1,%al
4048dd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4048e0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4048e7:	59                   	pop    %ecx
4048e8:	5e                   	pop    %esi
4048e9:	5b                   	pop    %ebx
4048ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4048ed:	33 cd                	xor    %ebp,%ecx
4048ef:	e8 b6 52 01 00       	call   0x419baa
4048f4:	8b e5                	mov    %ebp,%esp
4048f6:	5d                   	pop    %ebp
4048f7:	c3                   	ret
4048f8:	cc                   	int3
4048f9:	cc                   	int3
4048fa:	cc                   	int3
4048fb:	cc                   	int3
4048fc:	cc                   	int3
4048fd:	cc                   	int3
4048fe:	cc                   	int3
4048ff:	cc                   	int3
404900:	53                   	push   %ebx
404901:	8b d9                	mov    %ecx,%ebx
404903:	56                   	push   %esi
404904:	57                   	push   %edi
404905:	8b 7b 10             	mov    0x10(%ebx),%edi
404908:	85 ff                	test   %edi,%edi
40490a:	0f 84 7f 00 00 00    	je     0x40498f
404910:	33 c9                	xor    %ecx,%ecx
404912:	8d 47 01             	lea    0x1(%edi),%eax
404915:	ba 02 00 00 00       	mov    $0x2,%edx
40491a:	f7 e2                	mul    %edx
40491c:	0f 90 c1             	seto   %cl
40491f:	f7 d9                	neg    %ecx
404921:	0b c8                	or     %eax,%ecx
404923:	51                   	push   %ecx
404924:	e8 35 f1 01 00       	call   0x423a5e
404929:	8b f0                	mov    %eax,%esi
40492b:	83 c4 04             	add    $0x4,%esp
40492e:	85 f6                	test   %esi,%esi
404930:	74 5d                	je     0x40498f
404932:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
404936:	8b c3                	mov    %ebx,%eax
404938:	72 02                	jb     0x40493c
40493a:	8b 03                	mov    (%ebx),%eax
40493c:	50                   	push   %eax
40493d:	8d 47 01             	lea    0x1(%edi),%eax
404940:	50                   	push   %eax
404941:	56                   	push   %esi
404942:	e8 1f ef 01 00       	call   0x423866
404947:	8d 47 ff             	lea    -0x1(%edi),%eax
40494a:	83 c4 0c             	add    $0xc,%esp
40494d:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
404952:	8d 04 46             	lea    (%esi,%eax,2),%eax
404955:	75 24                	jne    0x40497b
404957:	33 c9                	xor    %ecx,%ecx
404959:	66 89 08             	mov    %cx,(%eax)
40495c:	8b c6                	mov    %esi,%eax
40495e:	8d 50 02             	lea    0x2(%eax),%edx
404961:	66 8b 08             	mov    (%eax),%cx
404964:	83 c0 02             	add    $0x2,%eax
404967:	66 85 c9             	test   %cx,%cx
40496a:	75 f5                	jne    0x404961
40496c:	2b c2                	sub    %edx,%eax
40496e:	d1 f8                	sar    $1,%eax
404970:	48                   	dec    %eax
404971:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
404976:	8d 04 46             	lea    (%esi,%eax,2),%eax
404979:	74 dc                	je     0x404957
40497b:	56                   	push   %esi
40497c:	ff 15 2c e2 43 00    	call   *0x43e22c
404982:	85 c0                	test   %eax,%eax
404984:	75 0f                	jne    0x404995
404986:	56                   	push   %esi
404987:	e8 97 52 01 00       	call   0x419c23
40498c:	83 c4 04             	add    $0x4,%esp
40498f:	5f                   	pop    %edi
404990:	5e                   	pop    %esi
404991:	32 c0                	xor    %al,%al
404993:	5b                   	pop    %ebx
404994:	c3                   	ret
404995:	8b ce                	mov    %esi,%ecx
404997:	8d 51 02             	lea    0x2(%ecx),%edx
40499a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4049a0:	66 8b 01             	mov    (%ecx),%ax
4049a3:	83 c1 02             	add    $0x2,%ecx
4049a6:	66 85 c0             	test   %ax,%ax
4049a9:	75 f5                	jne    0x4049a0
4049ab:	2b ca                	sub    %edx,%ecx
4049ad:	d1 f9                	sar    $1,%ecx
4049af:	51                   	push   %ecx
4049b0:	56                   	push   %esi
4049b1:	8b cb                	mov    %ebx,%ecx
4049b3:	e8 38 e5 ff ff       	call   0x402ef0
4049b8:	56                   	push   %esi
4049b9:	e8 85 f0 01 00       	call   0x423a43
4049be:	83 c4 04             	add    $0x4,%esp
4049c1:	b0 01                	mov    $0x1,%al
4049c3:	5f                   	pop    %edi
4049c4:	5e                   	pop    %esi
4049c5:	5b                   	pop    %ebx
4049c6:	c3                   	ret
4049c7:	cc                   	int3
4049c8:	cc                   	int3
4049c9:	cc                   	int3
4049ca:	cc                   	int3
4049cb:	cc                   	int3
4049cc:	cc                   	int3
4049cd:	cc                   	int3
4049ce:	cc                   	int3
4049cf:	cc                   	int3
4049d0:	57                   	push   %edi
4049d1:	8b f9                	mov    %ecx,%edi
4049d3:	8b c7                	mov    %edi,%eax
4049d5:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4049d9:	72 02                	jb     0x4049dd
4049db:	8b 07                	mov    (%edi),%eax
4049dd:	50                   	push   %eax
4049de:	ff 15 14 e2 43 00    	call   *0x43e214
4049e4:	85 c0                	test   %eax,%eax
4049e6:	0f 84 9f 01 00 00    	je     0x404b8b
4049ec:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4049f0:	8b c7                	mov    %edi,%eax
4049f2:	72 02                	jb     0x4049f6
4049f4:	8b 07                	mov    (%edi),%eax
4049f6:	50                   	push   %eax
4049f7:	ff 15 10 e2 43 00    	call   *0x43e210
4049fd:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a01:	8b c7                	mov    %edi,%eax
404a03:	72 02                	jb     0x404a07
404a05:	8b 07                	mov    (%edi),%eax
404a07:	53                   	push   %ebx
404a08:	56                   	push   %esi
404a09:	50                   	push   %eax
404a0a:	ff 15 c4 e0 43 00    	call   *0x43e0c4
404a10:	83 f8 01             	cmp    $0x1,%eax
404a13:	0f 94 c3             	sete   %bl
404a16:	0f 84 d1 00 00 00    	je     0x404aed
404a1c:	ff 15 6c e0 43 00    	call   *0x43e06c
404a22:	83 f8 05             	cmp    $0x5,%eax
404a25:	0f 85 c2 00 00 00    	jne    0x404aed
404a2b:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a2f:	8b c7                	mov    %edi,%eax
404a31:	72 02                	jb     0x404a35
404a33:	8b 07                	mov    (%edi),%eax
404a35:	50                   	push   %eax
404a36:	ff 15 bc e0 43 00    	call   *0x43e0bc
404a3c:	8b d0                	mov    %eax,%edx
404a3e:	f6 c2 01             	test   $0x1,%dl
404a41:	0f 84 a6 00 00 00    	je     0x404aed
404a47:	8b 35 24 72 45 00    	mov    0x457224,%esi