404699:	cc                   	int3
40469a:	cc                   	int3
40469b:	cc                   	int3
40469c:	cc                   	int3
40469d:	cc                   	int3
40469e:	cc                   	int3
40469f:	cc                   	int3
4046a0:	55                   	push   %ebp
4046a1:	8b ec                	mov    %esp,%ebp
4046a3:	8d 41 08             	lea    0x8(%ecx),%eax
4046a6:	50                   	push   %eax
4046a7:	ff 75 0c             	push   0xc(%ebp)
4046aa:	e8 b3 6e 01 00       	call   0x41b562
4046af:	83 c4 08             	add    $0x8,%esp
4046b2:	66 85 45 08          	test   %ax,0x8(%ebp)
4046b6:	0f 95 c0             	setne  %al
4046b9:	5d                   	pop    %ebp
4046ba:	c2 08 00             	ret    $0x8
4046bd:	cc                   	int3
4046be:	cc                   	int3
4046bf:	cc                   	int3
4046c0:	55                   	push   %ebp
4046c1:	8b ec                	mov    %esp,%ebp
4046c3:	8b 55 10             	mov    0x10(%ebp),%edx
4046c6:	8d 41 08             	lea    0x8(%ecx),%eax
4046c9:	56                   	push   %esi
4046ca:	8b 75 0c             	mov    0xc(%ebp),%esi
4046cd:	57                   	push   %edi
4046ce:	8b 7d 08             	mov    0x8(%ebp),%edi
4046d1:	50                   	push   %eax
4046d2:	52                   	push   %edx
4046d3:	56                   	push   %esi
4046d4:	57                   	push   %edi
4046d5:	e8 a8 6e 01 00       	call   0x41b582
4046da:	83 c4 10             	add    $0x10,%esp
4046dd:	5f                   	pop    %edi
4046de:	5e                   	pop    %esi
4046df:	5d                   	pop    %ebp
4046e0:	c2 0c 00             	ret    $0xc
4046e3:	cc                   	int3
4046e4:	cc                   	int3
4046e5:	cc                   	int3
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:	51                   	push   %ecx
4046f4:	53                   	push   %ebx
4046f5:	8b 5d 10             	mov    0x10(%ebp),%ebx
4046f8:	56                   	push   %esi
4046f9:	8b 75 0c             	mov    0xc(%ebp),%esi
4046fc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4046ff:	3b f3                	cmp    %ebx,%esi
404701:	74 33                	je     0x404736
404703:	57                   	push   %edi
404704:	8b 09                	mov    (%ecx),%ecx
404706:	0f b7 06             	movzwl (%esi),%eax
404709:	50                   	push   %eax
40470a:	ff 75 08             	push   0x8(%ebp)
40470d:	8b 79 10             	mov    0x10(%ecx),%edi
404710:	8b cf                	mov    %edi,%ecx
404712:	ff 15 3c f2 43 00    	call   *0x43f23c
404718:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40471b:	ff d7                	call   *%edi
40471d:	84 c0                	test   %al,%al
40471f:	75 0a                	jne    0x40472b
404721:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404724:	83 c6 02             	add    $0x2,%esi
404727:	3b f3                	cmp    %ebx,%esi
404729:	75 d9                	jne    0x404704
40472b:	5f                   	pop    %edi
40472c:	8b c6                	mov    %esi,%eax
40472e:	5e                   	pop    %esi
40472f:	5b                   	pop    %ebx
404730:	8b e5                	mov    %ebp,%esp
404732:	5d                   	pop    %ebp
404733:	c2 0c 00             	ret    $0xc
404736:	8b c6                	mov    %esi,%eax
404738:	5e                   	pop    %esi
404739:	5b                   	pop    %ebx
40473a:	8b e5                	mov    %ebp,%esp
40473c:	5d                   	pop    %ebp
40473d:	c2 0c 00             	ret    $0xc
404740:	55                   	push   %ebp
404741:	8b ec                	mov    %esp,%ebp
404743:	51                   	push   %ecx
404744:	53                   	push   %ebx
404745:	8b 5d 10             	mov    0x10(%ebp),%ebx
404748:	56                   	push   %esi
404749:	8b 75 0c             	mov    0xc(%ebp),%esi
40474c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40474f:	3b f3                	cmp    %ebx,%esi
404751:	74 33                	je     0x404786
404753:	57                   	push   %edi
404754:	8b 09                	mov    (%ecx),%ecx
404756:	0f b7 06             	movzwl (%esi),%eax
404759:	50                   	push   %eax
40475a:	ff 75 08             	push   0x8(%ebp)
40475d:	8b 79 10             	mov    0x10(%ecx),%edi
404760:	8b cf                	mov    %edi,%ecx
404762:	ff 15 3c f2 43 00    	call   *0x43f23c
404768:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40476b:	ff d7                	call   *%edi
40476d:	84 c0                	test   %al,%al
40476f:	74 0a                	je     0x40477b
404771:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404774:	83 c6 02             	add    $0x2,%esi
404777:	3b f3                	cmp    %ebx,%esi
404779:	75 d9                	jne    0x404754
40477b:	5f                   	pop    %edi
40477c:	8b c6                	mov    %esi,%eax
40477e:	5e                   	pop    %esi
40477f:	5b                   	pop    %ebx
404780:	8b e5                	mov    %ebp,%esp
404782:	5d                   	pop    %ebp
404783:	c2 0c 00             	ret    $0xc
404786:	8b c6                	mov    %esi,%eax
404788:	5e                   	pop    %esi
404789:	5b                   	pop    %ebx
40478a:	8b e5                	mov    %ebp,%esp
40478c:	5d                   	pop    %ebp
40478d:	c2 0c 00             	ret    $0xc
404790:	55                   	push   %ebp
404791:	8b ec                	mov    %esp,%ebp
404793:	8d 41 08             	lea    0x8(%ecx),%eax
404796:	50                   	push   %eax
404797:	ff 75 08             	push   0x8(%ebp)
40479a:	e8 02 6e 01 00       	call   0x41b5a1
40479f:	83 c4 08             	add    $0x8,%esp
4047a2:	5d                   	pop    %ebp
4047a3:	c2 04 00             	ret    $0x4
4047a6:	cc                   	int3
4047a7:	cc                   	int3
4047a8:	cc                   	int3
4047a9:	cc                   	int3
4047aa:	cc                   	int3
4047ab:	cc                   	int3
4047ac:	cc                   	int3
4047ad:	cc                   	int3
4047ae:	cc                   	int3
4047af:	cc                   	int3
4047b0:	55                   	push   %ebp
4047b1:	8b ec                	mov    %esp,%ebp
4047b3:	56                   	push   %esi
4047b4:	8b 75 08             	mov    0x8(%ebp),%esi
4047b7:	57                   	push   %edi
4047b8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4047bb:	3b f7                	cmp    %edi,%esi
4047bd:	74 1c                	je     0x4047db
4047bf:	53                   	push   %ebx
4047c0:	8d 59 08             	lea    0x8(%ecx),%ebx
4047c3:	0f b7 06             	movzwl (%esi),%eax
4047c6:	53                   	push   %ebx
4047c7:	50                   	push   %eax
4047c8:	e8 d4 6d 01 00       	call   0x41b5a1
4047cd:	66 89 06             	mov    %ax,(%esi)
4047d0:	83 c4 08             	add    $0x8,%esp
4047d3:	83 c6 02             	add    $0x2,%esi
4047d6:	3b f7                	cmp    %edi,%esi
4047d8:	75 e9                	jne    0x4047c3
4047da:	5b                   	pop    %ebx
4047db:	5f                   	pop    %edi
4047dc:	8b c6                	mov    %esi,%eax
4047de:	5e                   	pop    %esi
4047df:	5d                   	pop    %ebp
4047e0:	c2 08 00             	ret    $0x8
4047e3:	cc                   	int3
4047e4:	cc                   	int3
4047e5:	cc                   	int3
4047e6:	cc                   	int3
4047e7:	cc                   	int3
4047e8:	cc                   	int3
4047e9:	cc                   	int3
4047ea:	cc                   	int3
4047eb:	cc                   	int3
4047ec:	cc                   	int3
4047ed:	cc                   	int3
4047ee:	cc                   	int3
4047ef:	cc                   	int3
4047f0:	55                   	push   %ebp
4047f1:	8b ec                	mov    %esp,%ebp
4047f3:	8d 41 08             	lea    0x8(%ecx),%eax
4047f6:	50                   	push   %eax
4047f7:	ff 75 08             	push   0x8(%ebp)
4047fa:	e8 3c 6f 01 00       	call   0x41b73b
4047ff:	83 c4 08             	add    $0x8,%esp
404802:	5d                   	pop    %ebp
404803:	c2 04 00             	ret    $0x4
404806:	cc                   	int3
404807:	cc                   	int3
404808:	cc                   	int3
404809:	cc                   	int3
40480a:	cc                   	int3
40480b:	cc                   	int3
40480c:	cc                   	int3
40480d:	cc                   	int3
40480e:	cc                   	int3
40480f:	cc                   	int3
404810:	55                   	push   %ebp
404811:	8b ec                	mov    %esp,%ebp
404813:	56                   	push   %esi
404814:	8b 75 08             	mov    0x8(%ebp),%esi
404817:	57                   	push   %edi
404818:	8b 7d 0c             	mov    0xc(%ebp),%edi
40481b:	3b f7                	cmp    %edi,%esi
40481d:	74 1c                	je     0x40483b
40481f:	53                   	push   %ebx
404820:	8d 59 08             	lea    0x8(%ecx),%ebx
404823:	0f b7 06             	movzwl (%esi),%eax
404826:	53                   	push   %ebx
404827:	50                   	push   %eax
404828:	e8 0e 6f 01 00       	call   0x41b73b
40482d:	66 89 06             	mov    %ax,(%esi)
404830:	83 c4 08             	add    $0x8,%esp
404833:	83 c6 02             	add    $0x2,%esi
404836:	3b f7                	cmp    %edi,%esi
404838:	75 e9                	jne    0x404823
40483a:	5b                   	pop    %ebx
40483b:	5f                   	pop    %edi
40483c:	8b c6                	mov    %esi,%eax
40483e:	5e                   	pop    %esi
40483f:	5d                   	pop    %ebp
404840:	c2 08 00             	ret    $0x8
404843:	cc                   	int3
404844:	cc                   	int3
404845:	cc                   	int3
404846:	cc                   	int3
404847:	cc                   	int3
404848:	cc                   	int3
404849:	cc                   	int3
40484a:	cc                   	int3
40484b:	cc                   	int3
40484c:	cc                   	int3
40484d:	cc                   	int3
40484e:	cc                   	int3
40484f:	cc                   	int3
404850:	55                   	push   %ebp
404851:	8b ec                	mov    %esp,%ebp
404853:	83 ec 14             	sub    $0x14,%esp
404856:	a1 14 40 45 00       	mov    0x454014,%eax
40485b:	33 c5                	xor    %ebp,%eax
40485d:	89 45 fc             	mov    %eax,-0x4(%ebp)
404860:	8a 45 08             	mov    0x8(%ebp),%al
404863:	0f 57 c0             	xorps  %xmm0,%xmm0
404866:	88 45 f8             	mov    %al,-0x8(%ebp)
404869:	8d 41 18             	lea    0x18(%ecx),%eax
40486c:	50                   	push   %eax
40486d:	8d 45 ec             	lea    -0x14(%ebp),%eax
404870:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
404875:	50                   	push   %eax
404876:	6a 01                	push   $0x1
404878:	8d 45 f8             	lea    -0x8(%ebp),%eax
40487b:	50                   	push   %eax
40487c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40487f:	50                   	push   %eax
404880:	e8 15 66 01 00       	call   0x41ae9a
404885:	0f b7 4d f4          	movzwl -0xc(%ebp),%ecx
404889:	83 c4 14             	add    $0x14,%esp
40488c:	85 c0                	test   %eax,%eax
40488e:	ba ff ff 00 00       	mov    $0xffff,%edx
404893:	0f 48 ca             	cmovs  %edx,%ecx
404896:	66 8b c1             	mov    %cx,%ax
404899:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40489c:	33 cd                	xor    %ebp,%ecx
40489e:	e8 2d 70 01 00       	call   0x41b8d0
4048a3:	8b e5                	mov    %ebp,%esp
4048a5:	5d                   	pop    %ebp
4048a6:	c2 04 00             	ret    $0x4
4048a9:	cc                   	int3
4048aa:	cc                   	int3
4048ab:	cc                   	int3
4048ac:	cc                   	int3
4048ad:	cc                   	int3
4048ae:	cc                   	int3
4048af:	cc                   	int3
4048b0:	55                   	push   %ebp
4048b1:	8b ec                	mov    %esp,%ebp
4048b3:	83 ec 18             	sub    $0x18,%esp
4048b6:	a1 14 40 45 00       	mov    0x454014,%eax
4048bb:	33 c5                	xor    %ebp,%eax
4048bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4048c0:	53                   	push   %ebx
4048c1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4048c4:	56                   	push   %esi
4048c5:	8b 75 08             	mov    0x8(%ebp),%esi
4048c8:	57                   	push   %edi
4048c9:	8b 7d 10             	mov    0x10(%ebp),%edi
4048cc:	3b f3                	cmp    %ebx,%esi
4048ce:	74 47                	je     0x404917
4048d0:	83 c1 18             	add    $0x18,%ecx
4048d3:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4048d6:	8a 06                	mov    (%esi),%al
4048d8:	0f 57 c0             	xorps  %xmm0,%xmm0
4048db:	88 45 f8             	mov    %al,-0x8(%ebp)
4048de:	8d 45 ec             	lea    -0x14(%ebp),%eax
4048e1:	51                   	push   %ecx
4048e2:	50                   	push   %eax
4048e3:	6a 01                	push   $0x1
4048e5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4048e8:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
4048ed:	50                   	push   %eax
4048ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4048f1:	50                   	push   %eax
4048f2:	e8 a3 65 01 00       	call   0x41ae9a
4048f7:	0f b7 4d f4          	movzwl -0xc(%ebp),%ecx
4048fb:	8d 7f 02             	lea    0x2(%edi),%edi
4048fe:	83 c4 14             	add    $0x14,%esp
404901:	85 c0                	test   %eax,%eax
404903:	b8 ff ff 00 00       	mov    $0xffff,%eax
404908:	0f 48 c8             	cmovs  %eax,%ecx
40490b:	46                   	inc    %esi
40490c:	66 89 4f fe          	mov    %cx,-0x2(%edi)
404910:	8b 4d e8             	mov    -0x18(%ebp),%ecx
404913:	3b f3                	cmp    %ebx,%esi
404915:	75 bf                	jne    0x4048d6
404917:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40491a:	8b c6                	mov    %esi,%eax
40491c:	5f                   	pop    %edi
40491d:	5e                   	pop    %esi
40491e:	33 cd                	xor    %ebp,%ecx
404920:	5b                   	pop    %ebx
404921:	e8 aa 6f 01 00       	call   0x41b8d0
404926:	8b e5                	mov    %ebp,%esp
404928:	5d                   	pop    %ebp
404929:	c2 0c 00             	ret    $0xc
40492c:	cc                   	int3
40492d:	cc                   	int3
40492e:	cc                   	int3
40492f:	cc                   	int3
404930:	55                   	push   %ebp
404931:	8b ec                	mov    %esp,%ebp
404933:	83 ec 14             	sub    $0x14,%esp
404936:	a1 14 40 45 00       	mov    0x454014,%eax
40493b:	33 c5                	xor    %ebp,%eax
40493d:	89 45 fc             	mov    %eax,-0x4(%ebp)
404940:	8d 41 18             	lea    0x18(%ecx),%eax
404943:	0f 57 c0             	xorps  %xmm0,%xmm0
404946:	50                   	push   %eax
404947:	8d 45 ec             	lea    -0x14(%ebp),%eax
40494a:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
40494f:	50                   	push   %eax
404950:	ff 75 08             	push   0x8(%ebp)