41664f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
416652:	0b c0                	or     %eax,%eax
416654:	74 3f                	je     0x416695
416656:	78 48                	js     0x4166a0
416658:	8b 7b 08             	mov    0x8(%ebx),%edi
41665b:	53                   	push   %ebx
41665c:	e8 93 fe ff ff       	call   0x4164f4
416661:	83 c4 04             	add    $0x4,%esp
416664:	8d 6b 10             	lea    0x10(%ebx),%ebp
416667:	56                   	push   %esi
416668:	53                   	push   %ebx
416669:	e8 c8 fe ff ff       	call   0x416536
41666e:	83 c4 08             	add    $0x8,%esp
416671:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
416674:	6a 01                	push   $0x1
416676:	8b 44 8f 08          	mov    0x8(%edi,%ecx,4),%eax
41667a:	e8 4b ff ff ff       	call   0x4165ca
41667f:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
416682:	89 43 0c             	mov    %eax,0xc(%ebx)
416685:	8b 44 8f 08          	mov    0x8(%edi,%ecx,4),%eax
416689:	33 db                	xor    %ebx,%ebx
41668b:	33 c9                	xor    %ecx,%ecx
41668d:	33 d2                	xor    %edx,%edx
41668f:	33 f6                	xor    %esi,%esi
416691:	33 ff                	xor    %edi,%edi
416693:	ff d0                	call   *%eax
416695:	8b 7b 08             	mov    0x8(%ebx),%edi
416698:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
41669b:	8b 34 8f             	mov    (%edi,%ecx,4),%esi
41669e:	eb 8c                	jmp    0x41662c
4166a0:	b8 00 00 00 00       	mov    $0x0,%eax
4166a5:	eb 23                	jmp    0x4166ca
4166a7:	8b 45 08             	mov    0x8(%ebp),%eax
4166aa:	83 48 04 08          	orl    $0x8,0x4(%eax)
4166ae:	b8 01 00 00 00       	mov    $0x1,%eax
4166b3:	eb 15                	jmp    0x4166ca
4166b5:	55                   	push   %ebp
4166b6:	8d 6b 10             	lea    0x10(%ebx),%ebp
4166b9:	6a ff                	push   $0xffffffff
4166bb:	53                   	push   %ebx
4166bc:	e8 75 fe ff ff       	call   0x416536
4166c1:	83 c4 08             	add    $0x8,%esp
4166c4:	5d                   	pop    %ebp
4166c5:	b8 01 00 00 00       	mov    $0x1,%eax
4166ca:	5d                   	pop    %ebp
4166cb:	5f                   	pop    %edi
4166cc:	5e                   	pop    %esi
4166cd:	5b                   	pop    %ebx
4166ce:	8b e5                	mov    %ebp,%esp
4166d0:	5d                   	pop    %ebp
4166d1:	c3                   	ret
4166d2:	55                   	push   %ebp
4166d3:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4166d7:	8b 29                	mov    (%ecx),%ebp
4166d9:	8b 41 1c             	mov    0x1c(%ecx),%eax
4166dc:	50                   	push   %eax
4166dd:	8b 41 18             	mov    0x18(%ecx),%eax
4166e0:	50                   	push   %eax
4166e1:	e8 50 fe ff ff       	call   0x416536
4166e6:	83 c4 08             	add    $0x8,%esp
4166e9:	5d                   	pop    %ebp
4166ea:	c2 04 00             	ret    $0x4
4166ed:	cc                   	int3
4166ee:	cc                   	int3
4166ef:	cc                   	int3
4166f0:	3d 00 10 00 00       	cmp    $0x1000,%eax
4166f5:	73 0e                	jae    0x416705
4166f7:	f7 d8                	neg    %eax
4166f9:	03 c4                	add    %esp,%eax
4166fb:	83 c0 04             	add    $0x4,%eax
4166fe:	85 00                	test   %eax,(%eax)
416700:	94                   	xchg   %eax,%esp
416701:	8b 00                	mov    (%eax),%eax
416703:	50                   	push   %eax
416704:	c3                   	ret
416705:	51                   	push   %ecx
416706:	8d 4c 24 08          	lea    0x8(%esp),%ecx
41670a:	81 e9 00 10 00 00    	sub    $0x1000,%ecx
416710:	2d 00 10 00 00       	sub    $0x1000,%eax
416715:	85 01                	test   %eax,(%ecx)
416717:	3d 00 10 00 00       	cmp    $0x1000,%eax
41671c:	73 ec                	jae    0x41670a
41671e:	2b c8                	sub    %eax,%ecx
416720:	8b c4                	mov    %esp,%eax
416722:	85 01                	test   %eax,(%ecx)
416724:	8b e1                	mov    %ecx,%esp
416726:	8b 08                	mov    (%eax),%ecx
416728:	8b 40 04             	mov    0x4(%eax),%eax
41672b:	50                   	push   %eax
41672c:	c3                   	ret
41672d:	8b 44 24 04          	mov    0x4(%esp),%eax
416731:	66 83 38 00          	cmpw   $0x0,(%eax)
416735:	8b d0                	mov    %eax,%edx
416737:	74 08                	je     0x416741
416739:	42                   	inc    %edx
41673a:	42                   	inc    %edx
41673b:	66 83 3a 00          	cmpw   $0x0,(%edx)
41673f:	75 f8                	jne    0x416739
416741:	56                   	push   %esi
416742:	8b 74 24 0c          	mov    0xc(%esp),%esi
416746:	66 8b 0e             	mov    (%esi),%cx
416749:	66 89 0a             	mov    %cx,(%edx)
41674c:	42                   	inc    %edx
41674d:	42                   	inc    %edx
41674e:	46                   	inc    %esi
41674f:	46                   	inc    %esi
416750:	66 85 c9             	test   %cx,%cx
416753:	75 f1                	jne    0x416746
416755:	5e                   	pop    %esi
416756:	c3                   	ret
416757:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41675b:	8b 54 24 08          	mov    0x8(%esp),%edx
41675f:	66 8b 02             	mov    (%edx),%ax
416762:	66 89 01             	mov    %ax,(%ecx)
416765:	41                   	inc    %ecx
416766:	41                   	inc    %ecx
416767:	42                   	inc    %edx
416768:	42                   	inc    %edx
416769:	66 85 c0             	test   %ax,%ax
41676c:	75 f1                	jne    0x41675f
41676e:	8b 44 24 04          	mov    0x4(%esp),%eax
416772:	c3                   	ret
416773:	55                   	push   %ebp
416774:	8b ec                	mov    %esp,%ebp
416776:	51                   	push   %ecx
416777:	53                   	push   %ebx
416778:	8b 45 0c             	mov    0xc(%ebp),%eax
41677b:	83 c0 0c             	add    $0xc,%eax
41677e:	89 45 fc             	mov    %eax,-0x4(%ebp)
416781:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
416788:	8b 03                	mov    (%ebx),%eax
41678a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
416790:	8b 45 08             	mov    0x8(%ebp),%eax
416793:	8b 5d 0c             	mov    0xc(%ebp),%ebx
416796:	8b 63 fc             	mov    -0x4(%ebx),%esp
416799:	8b 6d fc             	mov    -0x4(%ebp),%ebp
41679c:	ff e0                	jmp    *%eax
41679e:	5b                   	pop    %ebx
41679f:	c9                   	leave
4167a0:	c2 08 00             	ret    $0x8
4167a3:	58                   	pop    %eax
4167a4:	59                   	pop    %ecx
4167a5:	87 04 24             	xchg   %eax,(%esp)
4167a8:	ff e0                	jmp    *%eax
4167aa:	58                   	pop    %eax
4167ab:	59                   	pop    %ecx
4167ac:	87 04 24             	xchg   %eax,(%esp)
4167af:	ff e0                	jmp    *%eax
4167b1:	58                   	pop    %eax
4167b2:	59                   	pop    %ecx
4167b3:	87 04 24             	xchg   %eax,(%esp)
4167b6:	ff e0                	jmp    *%eax
4167b8:	55                   	push   %ebp
4167b9:	8b ec                	mov    %esp,%ebp
4167bb:	51                   	push   %ecx
4167bc:	51                   	push   %ecx
4167bd:	53                   	push   %ebx
4167be:	56                   	push   %esi
4167bf:	57                   	push   %edi
4167c0:	64 8b 35 00 00 00 00 	mov    %fs:0x0,%esi
4167c7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4167ca:	c7 45 f8 e1 67 41 00 	movl   $0x4167e1,-0x8(%ebp)
4167d1:	6a 00                	push   $0x0
4167d3:	ff 75 0c             	push   0xc(%ebp)
4167d6:	ff 75 f8             	push   -0x8(%ebp)
4167d9:	ff 75 08             	push   0x8(%ebp)
4167dc:	e8 87 31 01 00       	call   0x429968
4167e1:	8b 45 0c             	mov    0xc(%ebp),%eax
4167e4:	8b 40 04             	mov    0x4(%eax),%eax
4167e7:	83 e0 fd             	and    $0xfffffffd,%eax
4167ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4167ed:	89 41 04             	mov    %eax,0x4(%ecx)
4167f0:	64 8b 3d 00 00 00 00 	mov    %fs:0x0,%edi
4167f7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4167fa:	89 3b                	mov    %edi,(%ebx)
4167fc:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
416803:	5f                   	pop    %edi
416804:	5e                   	pop    %esi
416805:	5b                   	pop    %ebx
416806:	c9                   	leave
416807:	c2 08 00             	ret    $0x8
41680a:	55                   	push   %ebp
41680b:	8b ec                	mov    %esp,%ebp
41680d:	83 ec 04             	sub    $0x4,%esp
416810:	53                   	push   %ebx
416811:	56                   	push   %esi
416812:	57                   	push   %edi
416813:	fc                   	cld
416814:	89 45 fc             	mov    %eax,-0x4(%ebp)
416817:	33 c0                	xor    %eax,%eax
416819:	50                   	push   %eax
41681a:	50                   	push   %eax
41681b:	50                   	push   %eax
41681c:	ff 75 fc             	push   -0x4(%ebp)
41681f:	ff 75 14             	push   0x14(%ebp)
416822:	ff 75 10             	push   0x10(%ebp)
416825:	ff 75 0c             	push   0xc(%ebp)
416828:	ff 75 08             	push   0x8(%ebp)
41682b:	e8 9c 63 00 00       	call   0x41cbcc
416830:	83 c4 20             	add    $0x20,%esp
416833:	89 45 fc             	mov    %eax,-0x4(%ebp)
416836:	5f                   	pop    %edi
416837:	5e                   	pop    %esi
416838:	5b                   	pop    %ebx
416839:	8b 45 fc             	mov    -0x4(%ebp),%eax
41683c:	8b e5                	mov    %ebp,%esp
41683e:	5d                   	pop    %ebp
41683f:	c3                   	ret
416840:	8b 44 24 04          	mov    0x4(%esp),%eax
416844:	ff 70 1c             	push   0x1c(%eax)
416847:	ff 70 28             	push   0x28(%eax)
41684a:	6a 00                	push   $0x0
41684c:	ff 70 18             	push   0x18(%eax)
41684f:	e8 93 58 00 00       	call   0x41c0e7
416854:	83 c4 10             	add    $0x10,%esp
416857:	c2 04 00             	ret    $0x4
41685a:	fc                   	cld
41685b:	8b 44 24 08          	mov    0x8(%esp),%eax
41685f:	8b 48 08             	mov    0x8(%eax),%ecx
416862:	3b 0d 40 8b 4a 00    	cmp    0x4a8b40,%ecx
416868:	74 0c                	je     0x416876
41686a:	8b 44 24 04          	mov    0x4(%esp),%eax
41686e:	83 48 04 08          	orl    $0x8,0x4(%eax)
416872:	33 c0                	xor    %eax,%eax
416874:	40                   	inc    %eax
416875:	c3                   	ret
416876:	6a 00                	push   $0x0
416878:	50                   	push   %eax
416879:	ff 70 14             	push   0x14(%eax)
41687c:	ff 70 0c             	push   0xc(%eax)
41687f:	6a 00                	push   $0x0
416881:	ff 74 24 20          	push   0x20(%esp)
416885:	ff 70 10             	push   0x10(%eax)
416888:	ff 74 24 20          	push   0x20(%esp)
41688c:	e8 3b 63 00 00       	call   0x41cbcc
416891:	83 c4 20             	add    $0x20,%esp
416894:	c3                   	ret
416895:	55                   	push   %ebp
416896:	8b ec                	mov    %esp,%ebp
416898:	83 ec 34             	sub    $0x34,%esp
41689b:	53                   	push   %ebx
41689c:	81 7d 08 23 01 00 00 	cmpl   $0x123,0x8(%ebp)
4168a3:	75 12                	jne    0x4168b7
4168a5:	b8 30 69 41 00       	mov    $0x416930,%eax
4168aa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4168ad:	89 01                	mov    %eax,(%ecx)
4168af:	33 c0                	xor    %eax,%eax
4168b1:	40                   	inc    %eax
4168b2:	e9 a2 00 00 00       	jmp    0x416959
4168b7:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4168bb:	c7 45 dc 5c 69 41 00 	movl   $0x41695c,-0x24(%ebp)
4168c2:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4168c7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4168ca:	8b 45 18             	mov    0x18(%ebp),%eax
4168cd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4168d0:	8b 45 0c             	mov    0xc(%ebp),%eax
4168d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4168d6:	8b 45 1c             	mov    0x1c(%ebp),%eax
4168d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4168dc:	8b 45 20             	mov    0x20(%ebp),%eax
4168df:	89 45 f0             	mov    %eax,-0x10(%ebp)
4168e2:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4168e6:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4168ea:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4168ee:	89 65 f4             	mov    %esp,-0xc(%ebp)
4168f1:	89 6d f8             	mov    %ebp,-0x8(%ebp)
4168f4:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4168fa:	89 45 d8             	mov    %eax,-0x28(%ebp)
4168fd:	8d 45 d8             	lea    -0x28(%ebp),%eax
416900:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
416906:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
41690d:	8b 45 08             	mov    0x8(%ebp),%eax
416910:	89 45 d0             	mov    %eax,-0x30(%ebp)
416913:	8b 45 10             	mov    0x10(%ebp),%eax
416916:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416919:	8d 45 d0             	lea    -0x30(%ebp),%eax
41691c:	50                   	push   %eax
41691d:	8b 45 08             	mov    0x8(%ebp),%eax
416920:	ff 30                	push   (%eax)
416922:	e8 80 63 00 00       	call   0x41cca7
416927:	ff 50 74             	call   *0x74(%eax)
41692a:	59                   	pop    %ecx
41692b:	59                   	pop    %ecx
41692c:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
416930:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
416934:	74 17                	je     0x41694d
416936:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
41693d:	8b 03                	mov    (%ebx),%eax
41693f:	8b 5d d8             	mov    -0x28(%ebp),%ebx
416942:	89 03                	mov    %eax,(%ebx)
416944:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
41694b:	eb 09                	jmp    0x416956
41694d:	8b 45 d8             	mov    -0x28(%ebp),%eax
416950:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
416956:	8b 45 cc             	mov    -0x34(%ebp),%eax
416959:	5b                   	pop    %ebx
41695a:	c9                   	leave
41695b:	c3                   	ret
41695c:	55                   	push   %ebp
41695d:	8b ec                	mov    %esp,%ebp
41695f:	51                   	push   %ecx
416960:	53                   	push   %ebx
416961:	fc                   	cld
416962:	8b 45 0c             	mov    0xc(%ebp),%eax
416965:	8b 40 08             	mov    0x8(%eax),%eax
416968:	3b 05 40 8b 4a 00    	cmp    0x4a8b40,%eax
41696e:	74 17                	je     0x416987
416970:	8b 45 08             	mov    0x8(%ebp),%eax
416973:	8b 40 04             	mov    0x4(%eax),%eax
416976:	83 c8 08             	or     $0x8,%eax
416979:	8b 4d 08             	mov    0x8(%ebp),%ecx
41697c:	89 41 04             	mov    %eax,0x4(%ecx)
41697f:	33 c0                	xor    %eax,%eax
416981:	40                   	inc    %eax
416982:	e9 84 00 00 00       	jmp    0x416a0b
416987:	8b 45 08             	mov    0x8(%ebp),%eax
41698a:	8b 40 04             	mov    0x4(%eax),%eax
41698d:	83 e0 66             	and    $0x66,%eax
416990:	74 0f                	je     0x4169a1
416992:	8b 45 0c             	mov    0xc(%ebp),%eax
416995:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
41699c:	33 c0                	xor    %eax,%eax
41699e:	40                   	inc    %eax
41699f:	eb 6a                	jmp    0x416a0b
4169a1:	6a 01                	push   $0x1
4169a3:	8b 45 0c             	mov    0xc(%ebp),%eax
4169a6:	ff 70 18             	push   0x18(%eax)
4169a9:	8b 45 0c             	mov    0xc(%ebp),%eax
4169ac:	ff 70 14             	push   0x14(%eax)
4169af:	8b 45 0c             	mov    0xc(%ebp),%eax
4169b2:	ff 70 0c             	push   0xc(%eax)
4169b5:	6a 00                	push   $0x0
4169b7:	ff 75 10             	push   0x10(%ebp)
4169ba:	8b 45 0c             	mov    0xc(%ebp),%eax
4169bd:	ff 70 10             	push   0x10(%eax)
4169c0:	ff 75 08             	push   0x8(%ebp)
4169c3:	e8 04 62 00 00       	call   0x41cbcc
4169c8:	83 c4 20             	add    $0x20,%esp
4169cb:	8b 45 0c             	mov    0xc(%ebp),%eax
4169ce:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4169d2:	75 0b                	jne    0x4169df
4169d4:	ff 75 08             	push   0x8(%ebp)
4169d7:	ff 75 0c             	push   0xc(%ebp)
4169da:	e8 d9 fd ff ff       	call   0x4167b8
4169df:	6a 00                	push   $0x0
4169e1:	6a 00                	push   $0x0
4169e3:	6a 00                	push   $0x0
4169e5:	6a 00                	push   $0x0
4169e7:	6a 00                	push   $0x0
4169e9:	8d 45 fc             	lea    -0x4(%ebp),%eax