4195e7:	33 c0                	xor    %eax,%eax
4195e9:	3b c8                	cmp    %eax,%ecx
4195eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4195ee:	74 05                	je     0x4195f5
4195f0:	e8 ab fe ff ff       	call   0x4194a0
4195f5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4195f8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4195ff:	c9                   	leave
419600:	c3                   	ret
419601:	e8 0f 0c 00 00       	call   0x41a215
419606:	c2 0c 00             	ret    $0xc
419609:	56                   	push   %esi
41960a:	8b f1                	mov    %ecx,%esi
41960c:	68 80 00 00 00       	push   $0x80
419611:	8d 46 14             	lea    0x14(%esi),%eax
419614:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
41961b:	50                   	push   %eax
41961c:	ff b6 94 00 00 00    	push   0x94(%esi)
419622:	e8 46 56 00 00       	call   0x41ec6d
419627:	f7 d8                	neg    %eax
419629:	1b c0                	sbb    %eax,%eax
41962b:	f7 d8                	neg    %eax
41962d:	89 46 10             	mov    %eax,0x10(%esi)
419630:	5e                   	pop    %esi
419631:	c3                   	ret
419632:	8b 44 24 0c          	mov    0xc(%esp),%eax
419636:	56                   	push   %esi
419637:	85 c0                	test   %eax,%eax
419639:	8b f1                	mov    %ecx,%esi
41963b:	74 03                	je     0x419640
41963d:	83 20 00             	andl   $0x0,(%eax)
419640:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
419644:	75 07                	jne    0x41964d
419646:	8b ce                	mov    %esi,%ecx
419648:	e8 bc ff ff ff       	call   0x419609
41964d:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
419651:	74 14                	je     0x419667
419653:	ff 74 24 0c          	push   0xc(%esp)
419657:	8d 46 14             	lea    0x14(%esi),%eax
41965a:	50                   	push   %eax
41965b:	ff 74 24 10          	push   0x10(%esp)
41965f:	ff 15 2c 97 43 00    	call   *0x43972c
419665:	eb 07                	jmp    0x41966e
419667:	8b 44 24 08          	mov    0x8(%esp),%eax
41966b:	80 20 00             	andb   $0x0,(%eax)
41966e:	8b 46 10             	mov    0x10(%esi),%eax
419671:	5e                   	pop    %esi
419672:	c2 0c 00             	ret    $0xc
419675:	55                   	push   %ebp
419676:	8b ec                	mov    %esp,%ebp
419678:	51                   	push   %ecx
419679:	8d 45 fc             	lea    -0x4(%ebp),%eax
41967c:	68 80 04 43 00       	push   $0x430480
419681:	50                   	push   %eax
419682:	c7 45 fc 08 6c 43 00 	movl   $0x436c08,-0x4(%ebp)
419689:	e8 e2 2d ff ff       	call   0x40c470
41968e:	c9                   	leave
41968f:	c3                   	ret
419690:	e9 00 00 00 00       	jmp    0x419695
419695:	68 58 b7 42 00       	push   $0x42b758
41969a:	ff 15 30 99 43 00    	call   *0x439930
4196a0:	a3 0c 70 43 00       	mov    %eax,0x43700c
4196a5:	c3                   	ret
4196a6:	e9 00 00 00 00       	jmp    0x4196ab
4196ab:	68 74 b7 42 00       	push   $0x42b774
4196b0:	ff 15 30 99 43 00    	call   *0x439930
4196b6:	a3 04 70 43 00       	mov    %eax,0x437004
4196bb:	c3                   	ret
4196bc:	e9 00 00 00 00       	jmp    0x4196c1
4196c1:	68 8c b7 42 00       	push   $0x42b78c
4196c6:	ff 15 30 99 43 00    	call   *0x439930
4196cc:	a3 10 70 43 00       	mov    %eax,0x437010
4196d1:	c3                   	ret
4196d2:	e9 00 00 00 00       	jmp    0x4196d7
4196d7:	68 a0 b7 42 00       	push   $0x42b7a0
4196dc:	ff 15 30 99 43 00    	call   *0x439930
4196e2:	a3 08 70 43 00       	mov    %eax,0x437008
4196e7:	c3                   	ret
4196e8:	e9 00 00 00 00       	jmp    0x4196ed
4196ed:	68 b0 b7 42 00       	push   $0x42b7b0
4196f2:	ff 15 30 99 43 00    	call   *0x439930
4196f8:	a3 14 70 43 00       	mov    %eax,0x437014
4196fd:	c3                   	ret
4196fe:	e9 00 00 00 00       	jmp    0x419703
419703:	68 c0 b7 42 00       	push   $0x42b7c0
419708:	ff 15 30 99 43 00    	call   *0x439930
41970e:	a3 18 70 43 00       	mov    %eax,0x437018
419713:	c3                   	ret
419714:	55                   	push   %ebp
419715:	8b ec                	mov    %esp,%ebp
419717:	53                   	push   %ebx
419718:	8b 5d 08             	mov    0x8(%ebp),%ebx
41971b:	56                   	push   %esi
41971c:	57                   	push   %edi
41971d:	85 db                	test   %ebx,%ebx
41971f:	0f 84 f3 00 00 00    	je     0x419818
419725:	68 ce b1 40 00       	push   $0x40b1ce
41972a:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41972f:	e8 5a b9 00 00       	call   0x42508e
419734:	8b f0                	mov    %eax,%esi
419736:	8b 4e 18             	mov    0x18(%esi),%ecx
419739:	85 c9                	test   %ecx,%ecx
41973b:	74 0a                	je     0x419747
41973d:	53                   	push   %ebx
41973e:	e8 36 34 00 00       	call   0x41cb79
419743:	83 66 18 00          	andl   $0x0,0x18(%esi)
419747:	8b 7d 0c             	mov    0xc(%ebp),%edi
41974a:	b8 10 01 00 00       	mov    $0x110,%eax
41974f:	3b f8                	cmp    %eax,%edi
419751:	75 12                	jne    0x419765
419753:	ff 75 14             	push   0x14(%ebp)
419756:	ff 75 10             	push   0x10(%ebp)
419759:	50                   	push   %eax
41975a:	53                   	push   %ebx
41975b:	e8 7f 36 00 00       	call   0x41cddf
419760:	e9 dd 00 00 00       	jmp    0x419842
419765:	3b 3d 14 70 43 00    	cmp    0x437014,%edi
41976b:	b8 11 01 00 00       	mov    $0x111,%eax
419770:	0f 84 ba 00 00 00    	je     0x419830
419776:	3b f8                	cmp    %eax,%edi
419778:	75 0c                	jne    0x419786
41977a:	66 81 7d 10 0e 04    	cmpw   $0x40e,0x10(%ebp)
419780:	0f 84 aa 00 00 00    	je     0x419830
419786:	81 ff 00 c0 00 00    	cmp    $0xc000,%edi
41978c:	0f 82 86 00 00 00    	jb     0x419818
419792:	53                   	push   %ebx
419793:	e8 50 0b 00 00       	call   0x41a2e8
419798:	8b f0                	mov    %eax,%esi
41979a:	68 e0 bc 42 00       	push   $0x42bce0
41979f:	8b ce                	mov    %esi,%ecx
4197a1:	e8 a8 35 00 00       	call   0x41cd4e
4197a6:	85 c0                	test   %eax,%eax
4197a8:	74 09                	je     0x4197b3
4197aa:	f6 86 92 00 00 00 08 	testb  $0x8,0x92(%esi)
4197b1:	75 65                	jne    0x419818
4197b3:	3b 3d 04 70 43 00    	cmp    0x437004,%edi
4197b9:	75 0f                	jne    0x4197ca
4197bb:	8b 06                	mov    (%esi),%eax
4197bd:	ff 75 14             	push   0x14(%ebp)
4197c0:	8b ce                	mov    %esi,%ecx
4197c2:	ff 90 d8 00 00 00    	call   *0xd8(%eax)
4197c8:	eb 78                	jmp    0x419842
4197ca:	3b 3d 10 70 43 00    	cmp    0x437010,%edi
4197d0:	75 25                	jne    0x4197f7
4197d2:	83 3d dc 6d 43 00 00 	cmpl   $0x0,0x436ddc
4197d9:	74 09                	je     0x4197e4
4197db:	8b 45 14             	mov    0x14(%ebp),%eax
4197de:	89 86 f4 01 00 00    	mov    %eax,0x1f4(%esi)
4197e4:	8b 06                	mov    (%esi),%eax
4197e6:	8b ce                	mov    %esi,%ecx
4197e8:	ff 90 dc 00 00 00    	call   *0xdc(%eax)
4197ee:	83 a6 f4 01 00 00 00 	andl   $0x0,0x1f4(%esi)
4197f5:	eb 4b                	jmp    0x419842
4197f7:	3b 3d 0c 70 43 00    	cmp    0x43700c,%edi
4197fd:	75 1d                	jne    0x41981c
4197ff:	8b 4d 14             	mov    0x14(%ebp),%ecx
419802:	8b 06                	mov    (%esi),%eax
419804:	c1 e9 10             	shr    $0x10,%ecx
419807:	51                   	push   %ecx
419808:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
41980c:	51                   	push   %ecx
41980d:	8b ce                	mov    %esi,%ecx
41980f:	ff 75 10             	push   0x10(%ebp)
419812:	ff 90 e0 00 00 00    	call   *0xe0(%eax)
419818:	33 c0                	xor    %eax,%eax
41981a:	eb 26                	jmp    0x419842
41981c:	3b 3d 08 70 43 00    	cmp    0x437008,%edi
419822:	75 f4                	jne    0x419818
419824:	8b 06                	mov    (%esi),%eax
419826:	8b ce                	mov    %esi,%ecx
419828:	ff 90 d8 00 00 00    	call   *0xd8(%eax)
41982e:	eb 12                	jmp    0x419842
419830:	6a 00                	push   $0x0
419832:	68 46 e1 00 00       	push   $0xe146
419837:	50                   	push   %eax
419838:	53                   	push   %ebx
419839:	ff 15 88 99 43 00    	call   *0x439988
41983f:	6a 01                	push   $0x1
419841:	58                   	pop    %eax
419842:	5f                   	pop    %edi
419843:	5e                   	pop    %esi
419844:	5b                   	pop    %ebx
419845:	5d                   	pop    %ebp
419846:	c2 10 00             	ret    $0x10
419849:	56                   	push   %esi
41984a:	8b f1                	mov    %ecx,%esi
41984c:	6a 01                	push   $0x1
41984e:	e8 ba 2c 00 00       	call   0x41c50d
419853:	85 c0                	test   %eax,%eax
419855:	74 07                	je     0x41985e
419857:	8b ce                	mov    %esi,%ecx
419859:	e8 b7 09 00 00       	call   0x41a215
41985e:	5e                   	pop    %esi
41985f:	c3                   	ret
419860:	e9 b0 09 00 00       	jmp    0x41a215
419865:	e8 ab 09 00 00       	call   0x41a215
41986a:	c2 04 00             	ret    $0x4
41986d:	8b c1                	mov    %ecx,%eax
41986f:	33 c9                	xor    %ecx,%ecx
419871:	89 48 0c             	mov    %ecx,0xc(%eax)
419874:	89 48 10             	mov    %ecx,0x10(%eax)
419877:	89 48 08             	mov    %ecx,0x8(%eax)
41987a:	89 48 04             	mov    %ecx,0x4(%eax)
41987d:	89 48 14             	mov    %ecx,0x14(%eax)
419880:	8b 4c 24 04          	mov    0x4(%esp),%ecx
419884:	c7 00 9c b6 42 00    	movl   $0x42b69c,(%eax)
41988a:	89 48 18             	mov    %ecx,0x18(%eax)
41988d:	c2 04 00             	ret    $0x4
419890:	56                   	push   %esi
419891:	8b f1                	mov    %ecx,%esi
419893:	e8 34 00 00 00       	call   0x4198cc
419898:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41989d:	74 07                	je     0x4198a6
41989f:	56                   	push   %esi
4198a0:	e8 98 34 00 00       	call   0x41cd3d
4198a5:	59                   	pop    %ecx
4198a6:	8b c6                	mov    %esi,%eax
4198a8:	5e                   	pop    %esi
4198a9:	c2 04 00             	ret    $0x4
4198ac:	56                   	push   %esi
4198ad:	8b f1                	mov    %ecx,%esi
4198af:	57                   	push   %edi
4198b0:	33 ff                	xor    %edi,%edi
4198b2:	8b 4e 14             	mov    0x14(%esi),%ecx
4198b5:	89 7e 0c             	mov    %edi,0xc(%esi)
4198b8:	89 7e 10             	mov    %edi,0x10(%esi)
4198bb:	89 7e 08             	mov    %edi,0x8(%esi)
4198be:	89 7e 04             	mov    %edi,0x4(%esi)
4198c1:	e8 14 01 00 00       	call   0x4199da
4198c6:	89 7e 14             	mov    %edi,0x14(%esi)
4198c9:	5f                   	pop    %edi
4198ca:	5e                   	pop    %esi
4198cb:	c3                   	ret
4198cc:	b8 ec 7c 42 00       	mov    $0x427cec,%eax
4198d1:	e8 5a 23 ff ff       	call   0x40bc30
4198d6:	51                   	push   %ecx
4198d7:	56                   	push   %esi
4198d8:	8b f1                	mov    %ecx,%esi
4198da:	89 75 f0             	mov    %esi,-0x10(%ebp)
4198dd:	c7 06 9c b6 42 00    	movl   $0x42b69c,(%esi)
4198e3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4198e7:	e8 c0 ff ff ff       	call   0x4198ac
4198ec:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4198ef:	c7 06 84 a3 42 00    	movl   $0x42a384,(%esi)
4198f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4198fc:	5e                   	pop    %esi
4198fd:	c9                   	leave
4198fe:	c3                   	ret
4198ff:	56                   	push   %esi
419900:	8b f1                	mov    %ecx,%esi
419902:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
419906:	75 2c                	jne    0x419934
419908:	6a 0c                	push   $0xc
41990a:	8d 46 14             	lea    0x14(%esi),%eax
41990d:	ff 76 18             	push   0x18(%esi)
419910:	50                   	push   %eax
419911:	e8 a4 00 00 00       	call   0x4199ba
419916:	8b 4e 18             	mov    0x18(%esi),%ecx
419919:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
41991c:	49                   	dec    %ecx
41991d:	85 c9                	test   %ecx,%ecx
41991f:	8d 44 90 f8          	lea    -0x8(%eax,%edx,4),%eax
419923:	7c 0f                	jl     0x419934
419925:	41                   	inc    %ecx
419926:	8b 56 10             	mov    0x10(%esi),%edx
419929:	89 10                	mov    %edx,(%eax)
41992b:	89 46 10             	mov    %eax,0x10(%esi)
41992e:	83 e8 0c             	sub    $0xc,%eax
419931:	49                   	dec    %ecx
419932:	75 f2                	jne    0x419926
419934:	8b 46 10             	mov    0x10(%esi),%eax
419937:	8b 08                	mov    (%eax),%ecx
419939:	89 4e 10             	mov    %ecx,0x10(%esi)
41993c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
419940:	89 48 04             	mov    %ecx,0x4(%eax)
419943:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
419947:	89 08                	mov    %ecx,(%eax)
419949:	ff 46 0c             	incl   0xc(%esi)
41994c:	83 60 08 00          	andl   $0x0,0x8(%eax)
419950:	5e                   	pop    %esi
419951:	c2 08 00             	ret    $0x8
419954:	8b 44 24 04          	mov    0x4(%esp),%eax
419958:	8b 51 10             	mov    0x10(%ecx),%edx
41995b:	89 10                	mov    %edx,(%eax)
41995d:	ff 49 0c             	decl   0xc(%ecx)
419960:	89 41 10             	mov    %eax,0x10(%ecx)
419963:	75 05                	jne    0x41996a
419965:	e8 42 ff ff ff       	call   0x4198ac
41996a:	c2 04 00             	ret    $0x4
41996d:	56                   	push   %esi
41996e:	8b f1                	mov    %ecx,%esi
419970:	6a 00                	push   $0x0
419972:	ff 76 08             	push   0x8(%esi)
419975:	e8 85 ff ff ff       	call   0x4198ff
41997a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
41997e:	89 48 08             	mov    %ecx,0x8(%eax)
419981:	8b 4e 08             	mov    0x8(%esi),%ecx
419984:	85 c9                	test   %ecx,%ecx
419986:	74 04                	je     0x41998c
419988:	89 01                	mov    %eax,(%ecx)
41998a:	eb 03                	jmp    0x41998f
41998c:	89 46 04             	mov    %eax,0x4(%esi)
41998f:	89 46 08             	mov    %eax,0x8(%esi)
419992:	5e                   	pop    %esi
419993:	c2 04 00             	ret    $0x4
419996:	8b 41 04             	mov    0x4(%ecx),%eax
419999:	56                   	push   %esi
41999a:	8b 10                	mov    (%eax),%edx
41999c:	8b 70 08             	mov    0x8(%eax),%esi
41999f:	85 d2                	test   %edx,%edx
4199a1:	89 51 04             	mov    %edx,0x4(%ecx)
4199a4:	74 06                	je     0x4199ac
4199a6:	83 62 04 00          	andl   $0x0,0x4(%edx)
4199aa:	eb 04                	jmp    0x4199b0
4199ac:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4199b0:	50                   	push   %eax
4199b1:	e8 9e ff ff ff       	call   0x419954
4199b6:	8b c6                	mov    %esi,%eax
4199b8:	5e                   	pop    %esi
4199b9:	c3                   	ret
4199ba:	8b 44 24 08          	mov    0x8(%esp),%eax
4199be:	0f af 44 24 0c       	imul   0xc(%esp),%eax
4199c3:	83 c0 04             	add    $0x4,%eax
4199c6:	50                   	push   %eax
4199c7:	e8 35 33 00 00       	call   0x41cd01
4199cc:	59                   	pop    %ecx
4199cd:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4199d1:	8b 11                	mov    (%ecx),%edx
4199d3:	89 10                	mov    %edx,(%eax)
4199d5:	89 01                	mov    %eax,(%ecx)
4199d7:	c2 0c 00             	ret    $0xc
4199da:	85 c9                	test   %ecx,%ecx
4199dc:	74 11                	je     0x4199ef
4199de:	56                   	push   %esi
4199df:	8b 31                	mov    (%ecx),%esi
4199e1:	51                   	push   %ecx
4199e2:	e8 56 33 00 00       	call   0x41cd3d
4199e7:	59                   	pop    %ecx
4199e8:	85 f6                	test   %esi,%esi
4199ea:	8b ce                	mov    %esi,%ecx
4199ec:	75 f1                	jne    0x4199df
4199ee:	5e                   	pop    %esi
4199ef:	c3                   	ret
4199f0:	8b c1                	mov    %ecx,%eax
4199f2:	33 c9                	xor    %ecx,%ecx
4199f4:	89 48 04             	mov    %ecx,0x4(%eax)
4199f7:	89 48 0c             	mov    %ecx,0xc(%eax)
4199fa:	89 48 10             	mov    %ecx,0x10(%eax)
4199fd:	89 48 14             	mov    %ecx,0x14(%eax)
419a00:	8b 4c 24 04          	mov    0x4(%esp),%ecx