413687:	50                   	push   %eax
413688:	e8 88 00 00 00       	call   0x413715
41368d:	5e                   	pop    %esi
41368e:	5d                   	pop    %ebp
41368f:	c2 08 00             	ret    $0x8
413692:	8b ff                	mov    %edi,%edi
413694:	55                   	push   %ebp
413695:	8b ec                	mov    %esp,%ebp
413697:	56                   	push   %esi
413698:	68 5c 7c 42 00       	push   $0x427c5c
41369d:	68 54 7c 42 00       	push   $0x427c54
4136a2:	68 9c 5c 42 00       	push   $0x425c9c
4136a7:	6a 12                	push   $0x12
4136a9:	e8 34 fd ff ff       	call   0x4133e2
4136ae:	8b f0                	mov    %eax,%esi
4136b0:	83 c4 10             	add    $0x10,%esp
4136b3:	85 f6                	test   %esi,%esi
4136b5:	74 15                	je     0x4136cc
4136b7:	ff 75 10             	push   0x10(%ebp)
4136ba:	8b ce                	mov    %esi,%ecx
4136bc:	ff 75 0c             	push   0xc(%ebp)
4136bf:	ff 75 08             	push   0x8(%ebp)
4136c2:	ff 15 54 41 42 00    	call   *0x424154
4136c8:	ff d6                	call   *%esi
4136ca:	eb 0c                	jmp    0x4136d8
4136cc:	ff 75 0c             	push   0xc(%ebp)
4136cf:	ff 75 08             	push   0x8(%ebp)
4136d2:	ff 15 a0 40 42 00    	call   *0x4240a0
4136d8:	5e                   	pop    %esi
4136d9:	5d                   	pop    %ebp
4136da:	c2 0c 00             	ret    $0xc
4136dd:	8b ff                	mov    %edi,%edi
4136df:	55                   	push   %ebp
4136e0:	8b ec                	mov    %esp,%ebp
4136e2:	56                   	push   %esi
4136e3:	e8 cb fb ff ff       	call   0x4132b3
4136e8:	8b f0                	mov    %eax,%esi
4136ea:	85 f6                	test   %esi,%esi
4136ec:	74 0f                	je     0x4136fd
4136ee:	ff 75 08             	push   0x8(%ebp)
4136f1:	8b ce                	mov    %esi,%ecx
4136f3:	ff 15 54 41 42 00    	call   *0x424154
4136f9:	ff d6                	call   *%esi
4136fb:	eb 13                	jmp    0x413710
4136fd:	6a 01                	push   $0x1
4136ff:	6a 00                	push   $0x0
413701:	ff 75 08             	push   0x8(%ebp)
413704:	e8 a8 00 00 00       	call   0x4137b1
413709:	50                   	push   %eax
41370a:	ff 15 e0 40 42 00    	call   *0x4240e0
413710:	5e                   	pop    %esi
413711:	5d                   	pop    %ebp
413712:	c2 04 00             	ret    $0x4
413715:	8b ff                	mov    %edi,%edi
413717:	55                   	push   %ebp
413718:	8b ec                	mov    %esp,%ebp
41371a:	56                   	push   %esi
41371b:	e8 ad fb ff ff       	call   0x4132cd
413720:	8b f0                	mov    %eax,%esi
413722:	85 f6                	test   %esi,%esi
413724:	74 18                	je     0x41373e
413726:	ff 75 14             	push   0x14(%ebp)
413729:	8b ce                	mov    %esi,%ecx
41372b:	ff 75 10             	push   0x10(%ebp)
41372e:	ff 75 0c             	push   0xc(%ebp)
413731:	ff 75 08             	push   0x8(%ebp)
413734:	ff 15 54 41 42 00    	call   *0x424154
41373a:	ff d6                	call   *%esi
41373c:	eb 11                	jmp    0x41374f
41373e:	ff 75 10             	push   0x10(%ebp)
413741:	ff 75 0c             	push   0xc(%ebp)
413744:	ff 75 08             	push   0x8(%ebp)
413747:	e8 3d b5 00 00       	call   0x41ec89
41374c:	83 c4 0c             	add    $0xc,%esp
41374f:	5e                   	pop    %esi
413750:	5d                   	pop    %ebp
413751:	c2 10 00             	ret    $0x10
413754:	8b ff                	mov    %edi,%edi
413756:	55                   	push   %ebp
413757:	8b ec                	mov    %esp,%ebp
413759:	56                   	push   %esi
41375a:	e8 88 fb ff ff       	call   0x4132e7
41375f:	8b f0                	mov    %eax,%esi
413761:	85 f6                	test   %esi,%esi
413763:	74 27                	je     0x41378c
413765:	ff 75 28             	push   0x28(%ebp)
413768:	8b ce                	mov    %esi,%ecx
41376a:	ff 75 24             	push   0x24(%ebp)
41376d:	ff 75 20             	push   0x20(%ebp)
413770:	ff 75 1c             	push   0x1c(%ebp)
413773:	ff 75 18             	push   0x18(%ebp)
413776:	ff 75 14             	push   0x14(%ebp)
413779:	ff 75 10             	push   0x10(%ebp)
41377c:	ff 75 0c             	push   0xc(%ebp)
41377f:	ff 75 08             	push   0x8(%ebp)
413782:	ff 15 54 41 42 00    	call   *0x424154
413788:	ff d6                	call   *%esi
41378a:	eb 20                	jmp    0x4137ac
41378c:	ff 75 1c             	push   0x1c(%ebp)
41378f:	ff 75 18             	push   0x18(%ebp)
413792:	ff 75 14             	push   0x14(%ebp)
413795:	ff 75 10             	push   0x10(%ebp)
413798:	ff 75 0c             	push   0xc(%ebp)
41379b:	6a 00                	push   $0x0
41379d:	ff 75 08             	push   0x8(%ebp)
4137a0:	e8 0c 00 00 00       	call   0x4137b1
4137a5:	50                   	push   %eax
4137a6:	ff 15 d8 40 42 00    	call   *0x4240d8
4137ac:	5e                   	pop    %esi
4137ad:	5d                   	pop    %ebp
4137ae:	c2 24 00             	ret    $0x24
4137b1:	8b ff                	mov    %edi,%edi
4137b3:	55                   	push   %ebp
4137b4:	8b ec                	mov    %esp,%ebp
4137b6:	56                   	push   %esi
4137b7:	e8 45 fb ff ff       	call   0x413301
4137bc:	8b f0                	mov    %eax,%esi
4137be:	85 f6                	test   %esi,%esi
4137c0:	74 12                	je     0x4137d4
4137c2:	ff 75 0c             	push   0xc(%ebp)
4137c5:	8b ce                	mov    %esi,%ecx
4137c7:	ff 75 08             	push   0x8(%ebp)
4137ca:	ff 15 54 41 42 00    	call   *0x424154
4137d0:	ff d6                	call   *%esi
4137d2:	eb 09                	jmp    0x4137dd
4137d4:	ff 75 08             	push   0x8(%ebp)
4137d7:	e8 57 b5 00 00       	call   0x41ed33
4137dc:	59                   	pop    %ecx
4137dd:	5e                   	pop    %esi
4137de:	5d                   	pop    %ebp
4137df:	c2 08 00             	ret    $0x8
4137e2:	e8 30 fa ff ff       	call   0x413217
4137e7:	85 c0                	test   %eax,%eax
4137e9:	0f 95 c0             	setne  %al
4137ec:	c3                   	ret
4137ed:	e8 0b fa ff ff       	call   0x4131fd
4137f2:	e8 20 fa ff ff       	call   0x413217
4137f7:	e8 35 fa ff ff       	call   0x413231
4137fc:	e8 4a fa ff ff       	call   0x41324b
413801:	e8 5f fa ff ff       	call   0x413265
413806:	e8 74 fa ff ff       	call   0x41327f
41380b:	e8 89 fa ff ff       	call   0x413299
413810:	e8 9e fa ff ff       	call   0x4132b3
413815:	e8 cd fa ff ff       	call   0x4132e7
41381a:	e8 ae fa ff ff       	call   0x4132cd
41381f:	e9 dd fa ff ff       	jmp    0x413301
413824:	b9 b8 4a 43 00       	mov    $0x434ab8,%ecx
413829:	b8 30 4a 43 00       	mov    $0x434a30,%eax
41382e:	33 d2                	xor    %edx,%edx
413830:	3b c8                	cmp    %eax,%ecx
413832:	56                   	push   %esi
413833:	8b 35 14 30 43 00    	mov    0x433014,%esi
413839:	1b c9                	sbb    %ecx,%ecx
41383b:	83 e1 de             	and    $0xffffffde,%ecx
41383e:	83 c1 22             	add    $0x22,%ecx
413841:	42                   	inc    %edx
413842:	89 30                	mov    %esi,(%eax)
413844:	8d 40 04             	lea    0x4(%eax),%eax
413847:	3b d1                	cmp    %ecx,%edx
413849:	75 f6                	jne    0x413841
41384b:	b0 01                	mov    $0x1,%al
41384d:	5e                   	pop    %esi
41384e:	c3                   	ret
41384f:	8b ff                	mov    %edi,%edi
413851:	55                   	push   %ebp
413852:	8b ec                	mov    %esp,%ebp
413854:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
413858:	75 27                	jne    0x413881
41385a:	56                   	push   %esi
41385b:	be e0 49 43 00       	mov    $0x4349e0,%esi
413860:	83 3e 00             	cmpl   $0x0,(%esi)
413863:	74 10                	je     0x413875
413865:	83 3e ff             	cmpl   $0xffffffff,(%esi)
413868:	74 08                	je     0x413872
41386a:	ff 36                	push   (%esi)
41386c:	ff 15 b4 40 42 00    	call   *0x4240b4
413872:	83 26 00             	andl   $0x0,(%esi)
413875:	83 c6 04             	add    $0x4,%esi
413878:	81 fe 30 4a 43 00    	cmp    $0x434a30,%esi
41387e:	75 e0                	jne    0x413860
413880:	5e                   	pop    %esi
413881:	b0 01                	mov    $0x1,%al
413883:	5d                   	pop    %ebp
413884:	c3                   	ret
413885:	6a 10                	push   $0x10
413887:	68 78 17 43 00       	push   $0x431778
41388c:	e8 2f 47 ff ff       	call   0x407fc0
413891:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
413895:	6a 08                	push   $0x8
413897:	e8 87 98 ff ff       	call   0x40d123
41389c:	59                   	pop    %ecx
41389d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4138a1:	6a 03                	push   $0x3
4138a3:	5e                   	pop    %esi
4138a4:	89 75 e0             	mov    %esi,-0x20(%ebp)
4138a7:	3b 35 14 46 43 00    	cmp    0x434614,%esi
4138ad:	74 59                	je     0x413908
4138af:	a1 18 46 43 00       	mov    0x434618,%eax
4138b4:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4138b7:	85 c0                	test   %eax,%eax
4138b9:	74 4a                	je     0x413905
4138bb:	8b 40 0c             	mov    0xc(%eax),%eax
4138be:	90                   	nop
4138bf:	c1 e8 0d             	shr    $0xd,%eax
4138c2:	a8 01                	test   $0x1,%al
4138c4:	74 16                	je     0x4138dc
4138c6:	a1 18 46 43 00       	mov    0x434618,%eax
4138cb:	ff 34 b0             	push   (%eax,%esi,4)
4138ce:	e8 3d 99 ff ff       	call   0x40d210
4138d3:	59                   	pop    %ecx
4138d4:	83 f8 ff             	cmp    $0xffffffff,%eax
4138d7:	74 03                	je     0x4138dc
4138d9:	ff 45 e4             	incl   -0x1c(%ebp)
4138dc:	a1 18 46 43 00       	mov    0x434618,%eax
4138e1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4138e4:	83 c0 20             	add    $0x20,%eax
4138e7:	50                   	push   %eax
4138e8:	ff 15 44 40 42 00    	call   *0x424044
4138ee:	a1 18 46 43 00       	mov    0x434618,%eax
4138f3:	ff 34 b0             	push   (%eax,%esi,4)
4138f6:	e8 10 f8 ff ff       	call   0x41310b
4138fb:	59                   	pop    %ecx
4138fc:	a1 18 46 43 00       	mov    0x434618,%eax
413901:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
413905:	46                   	inc    %esi
413906:	eb 9c                	jmp    0x4138a4
413908:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41390f:	e8 13 00 00 00       	call   0x413927
413914:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413917:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41391a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413921:	59                   	pop    %ecx
413922:	5f                   	pop    %edi
413923:	5e                   	pop    %esi
413924:	5b                   	pop    %ebx
413925:	c9                   	leave
413926:	c3                   	ret
413927:	6a 08                	push   $0x8
413929:	e8 3d 98 ff ff       	call   0x40d16b
41392e:	59                   	pop    %ecx
41392f:	c3                   	ret
413930:	8b ff                	mov    %edi,%edi
413932:	55                   	push   %ebp
413933:	8b ec                	mov    %esp,%ebp
413935:	56                   	push   %esi
413936:	8b 75 08             	mov    0x8(%ebp),%esi
413939:	57                   	push   %edi
41393a:	8d 7e 0c             	lea    0xc(%esi),%edi
41393d:	8b 07                	mov    (%edi),%eax
41393f:	90                   	nop
413940:	c1 e8 0d             	shr    $0xd,%eax
413943:	a8 01                	test   $0x1,%al
413945:	74 25                	je     0x41396c
413947:	8b 07                	mov    (%edi),%eax
413949:	90                   	nop
41394a:	c1 e8 06             	shr    $0x6,%eax
41394d:	a8 01                	test   $0x1,%al
41394f:	74 1b                	je     0x41396c
413951:	ff 76 04             	push   0x4(%esi)
413954:	e8 b2 f7 ff ff       	call   0x41310b
413959:	59                   	pop    %ecx
41395a:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
41395f:	f0 21 07             	lock and %eax,(%edi)
413962:	33 c0                	xor    %eax,%eax
413964:	89 46 04             	mov    %eax,0x4(%esi)
413967:	89 06                	mov    %eax,(%esi)
413969:	89 46 08             	mov    %eax,0x8(%esi)
41396c:	5f                   	pop    %edi
41396d:	5e                   	pop    %esi
41396e:	5d                   	pop    %ebp
41396f:	c3                   	ret
413970:	8b ff                	mov    %edi,%edi
413972:	55                   	push   %ebp
413973:	8b ec                	mov    %esp,%ebp
413975:	83 ec 48             	sub    $0x48,%esp
413978:	8d 45 b8             	lea    -0x48(%ebp),%eax
41397b:	50                   	push   %eax
41397c:	ff 15 8c 40 42 00    	call   *0x42408c
413982:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
413987:	0f 84 97 00 00 00    	je     0x413a24
41398d:	53                   	push   %ebx
41398e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
413991:	85 db                	test   %ebx,%ebx
413993:	0f 84 8a 00 00 00    	je     0x413a23
413999:	56                   	push   %esi
41399a:	8b 33                	mov    (%ebx),%esi
41399c:	8d 43 04             	lea    0x4(%ebx),%eax
41399f:	03 c6                	add    %esi,%eax
4139a1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4139a4:	b8 00 20 00 00       	mov    $0x2000,%eax
4139a9:	3b f0                	cmp    %eax,%esi
4139ab:	7c 02                	jl     0x4139af
4139ad:	8b f0                	mov    %eax,%esi
4139af:	56                   	push   %esi
4139b0:	e8 27 7b 00 00       	call   0x41b4dc
4139b5:	a1 c0 4c 43 00       	mov    0x434cc0,%eax
4139ba:	59                   	pop    %ecx
4139bb:	3b f0                	cmp    %eax,%esi
4139bd:	7e 02                	jle    0x4139c1
4139bf:	8b f0                	mov    %eax,%esi
4139c1:	57                   	push   %edi
4139c2:	33 ff                	xor    %edi,%edi
4139c4:	85 f6                	test   %esi,%esi
4139c6:	74 59                	je     0x413a21
4139c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4139cb:	8b 08                	mov    (%eax),%ecx
4139cd:	83 f9 ff             	cmp    $0xffffffff,%ecx
4139d0:	74 44                	je     0x413a16
4139d2:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4139d5:	74 3f                	je     0x413a16
4139d7:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
4139db:	f6 c2 01             	test   $0x1,%dl
4139de:	74 36                	je     0x413a16
4139e0:	f6 c2 08             	test   $0x8,%dl
4139e3:	75 0b                	jne    0x4139f0
4139e5:	51                   	push   %ecx
4139e6:	ff 15 ec 40 42 00    	call   *0x4240ec
4139ec:	85 c0                	test   %eax,%eax
4139ee:	74 23                	je     0x413a13
4139f0:	8b c7                	mov    %edi,%eax
4139f2:	8b cf                	mov    %edi,%ecx
4139f4:	83 e0 3f             	and    $0x3f,%eax
4139f7:	c1 f9 06             	sar    $0x6,%ecx
4139fa:	6b d0 38             	imul   $0x38,%eax,%edx
4139fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
413a00:	03 14 8d c0 4a 43 00 	add    0x434ac0(,%ecx,4),%edx
413a07:	8b 00                	mov    (%eax),%eax
413a09:	89 42 18             	mov    %eax,0x18(%edx)
413a0c:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
413a10:	88 42 28             	mov    %al,0x28(%edx)
413a13:	8b 45 fc             	mov    -0x4(%ebp),%eax
413a16:	47                   	inc    %edi
413a17:	83 c0 04             	add    $0x4,%eax
413a1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
413a1d:	3b fe                	cmp    %esi,%edi
413a1f:	75 aa                	jne    0x4139cb
413a21:	5f                   	pop    %edi
413a22:	5e                   	pop    %esi
413a23:	5b                   	pop    %ebx
413a24:	c9                   	leave
413a25:	c3                   	ret
413a26:	8b ff                	mov    %edi,%edi
413a28:	53                   	push   %ebx
413a29:	56                   	push   %esi
413a2a:	57                   	push   %edi
413a2b:	33 ff                	xor    %edi,%edi
413a2d:	8b c7                	mov    %edi,%eax
413a2f:	8b cf                	mov    %edi,%ecx
413a31:	83 e0 3f             	and    $0x3f,%eax
413a34:	c1 f9 06             	sar    $0x6,%ecx