419656:	8b b5 14 ff ff ff    	mov    -0xec(%ebp),%esi
41965c:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
419662:	57                   	push   %edi
419663:	ff 15 3c 35 42 00    	call   *0x42353c
419669:	59                   	pop    %ecx
41966a:	e9 bf 00 00 00       	jmp    0x41972e
41966f:	33 f6                	xor    %esi,%esi
419671:	66 39 33             	cmp    %si,(%ebx)
419674:	74 77                	je     0x4196ed
419676:	8d 04 7d fe ff ff ff 	lea    -0x2(,%edi,2),%eax
41967d:	50                   	push   %eax
41967e:	8d 45 9c             	lea    -0x64(%ebp),%eax
419681:	53                   	push   %ebx
419682:	50                   	push   %eax
419683:	e8 8d 2f 00 00       	call   0x41c615
419688:	83 c4 0c             	add    $0xc,%esp
41968b:	85 c0                	test   %eax,%eax
41968d:	74 cd                	je     0x41965c
41968f:	6a 14                	push   $0x14
419691:	5e                   	pop    %esi
419692:	8b c3                	mov    %ebx,%eax
419694:	33 c9                	xor    %ecx,%ecx
419696:	66 39 08             	cmp    %cx,(%eax)
419699:	74 08                	je     0x4196a3
41969b:	83 c0 02             	add    $0x2,%eax
41969e:	83 ee 01             	sub    $0x1,%esi
4196a1:	75 f3                	jne    0x419696
4196a3:	8b d6                	mov    %esi,%edx
4196a5:	f7 de                	neg    %esi
4196a7:	6a 14                	push   $0x14
4196a9:	1b f6                	sbb    %esi,%esi
4196ab:	8b ca                	mov    %edx,%ecx
4196ad:	81 e6 a9 ff f8 7f    	and    $0x7ff8ffa9,%esi
4196b3:	81 c6 57 00 07 80    	add    $0x80070057,%esi
4196b9:	58                   	pop    %eax
4196ba:	2b c2                	sub    %edx,%eax
4196bc:	f7 d9                	neg    %ecx
4196be:	1b c9                	sbb    %ecx,%ecx
4196c0:	23 c8                	and    %eax,%ecx
4196c2:	8b c2                	mov    %edx,%eax
4196c4:	f7 d8                	neg    %eax
4196c6:	1b c0                	sbb    %eax,%eax
4196c8:	23 c1                	and    %ecx,%eax
4196ca:	85 d2                	test   %edx,%edx
4196cc:	74 8e                	je     0x41965c
4196ce:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
4196d4:	40                   	inc    %eax
4196d5:	03 c8                	add    %eax,%ecx
4196d7:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
4196dd:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4196e0:	3b 8d 10 ff ff ff    	cmp    -0xf0(%ebp),%ecx
4196e6:	72 87                	jb     0x41966f
4196e8:	e9 6f ff ff ff       	jmp    0x41965c
4196ed:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4196f0:	50                   	push   %eax
4196f1:	8d 45 9c             	lea    -0x64(%ebp),%eax
4196f4:	50                   	push   %eax
4196f5:	53                   	push   %ebx
4196f6:	e8 20 2f 00 00       	call   0x41c61b
4196fb:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
419701:	83 c4 0c             	add    $0xc,%esp
419704:	03 c7                	add    %edi,%eax
419706:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
41970c:	03 c0                	add    %eax,%eax
41970e:	50                   	push   %eax
41970f:	57                   	push   %edi
419710:	6a 07                	push   $0x7
419712:	56                   	push   %esi
419713:	68 b4 5d 40 00       	push   $0x405db4
419718:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
41971e:	ff 15 10 30 42 00    	call   *0x423010
419724:	8b f0                	mov    %eax,%esi
419726:	e9 37 ff ff ff       	jmp    0x419662
41972b:	6a 0e                	push   $0xe
41972d:	5e                   	pop    %esi
41972e:	ff b5 0c ff ff ff    	push   -0xf4(%ebp)
419734:	ff 15 3c 35 42 00    	call   *0x42353c
41973a:	59                   	pop    %ecx
41973b:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
419741:	ff 15 0c 30 42 00    	call   *0x42300c
419747:	8b c6                	mov    %esi,%eax
419749:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41974c:	5f                   	pop    %edi
41974d:	5e                   	pop    %esi
41974e:	33 cd                	xor    %ebp,%ecx
419750:	5b                   	pop    %ebx
419751:	e8 ca 1e 00 00       	call   0x41b620
419756:	c9                   	leave
419757:	c2 08 00             	ret    $0x8
41975a:	e8 ff 20 00 00       	call   0x41b85e
41975f:	cc                   	int3
419760:	8b ff                	mov    %edi,%edi
419762:	55                   	push   %ebp
419763:	8b ec                	mov    %esp,%ebp
419765:	83 ec 7c             	sub    $0x7c,%esp
419768:	a1 e4 05 42 00       	mov    0x4205e4,%eax
41976d:	33 c5                	xor    %ebp,%eax
41976f:	89 45 fc             	mov    %eax,-0x4(%ebp)
419772:	56                   	push   %esi
419773:	57                   	push   %edi
419774:	6a 1c                	push   $0x1c
419776:	59                   	pop    %ecx
419777:	be e8 5c 40 00       	mov    $0x405ce8,%esi
41977c:	8d 7d 88             	lea    -0x78(%ebp),%edi
41977f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
419781:	8d 45 88             	lea    -0x78(%ebp),%eax
419784:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
419786:	33 f6                	xor    %esi,%esi
419788:	bf 48 1f 42 00       	mov    $0x421f48,%edi
41978d:	56                   	push   %esi
41978e:	68 08 02 00 00       	push   $0x208
419793:	57                   	push   %edi
419794:	56                   	push   %esi
419795:	50                   	push   %eax
419796:	56                   	push   %esi
419797:	68 5c 5d 40 00       	push   $0x405d5c
41979c:	ff 15 c4 35 42 00    	call   *0x4235c4
4197a2:	85 c0                	test   %eax,%eax
4197a4:	78 2d                	js     0x4197d3
4197a6:	8b cf                	mov    %edi,%ecx
4197a8:	8d 51 02             	lea    0x2(%ecx),%edx
4197ab:	66 8b 01             	mov    (%ecx),%ax
4197ae:	83 c1 02             	add    $0x2,%ecx
4197b1:	66 3b c6             	cmp    %si,%ax
4197b4:	75 f5                	jne    0x4197ab
4197b6:	2b ca                	sub    %edx,%ecx
4197b8:	ba 04 01 00 00       	mov    $0x104,%edx
4197bd:	d1 f9                	sar    $1,%ecx
4197bf:	8b c2                	mov    %edx,%eax
4197c1:	2b c1                	sub    %ecx,%eax
4197c3:	50                   	push   %eax
4197c4:	68 84 5d 40 00       	push   $0x405d84
4197c9:	52                   	push   %edx
4197ca:	57                   	push   %edi
4197cb:	ff 15 88 35 42 00    	call   *0x423588
4197d1:	eb 14                	jmp    0x4197e7
4197d3:	8d 45 88             	lea    -0x78(%ebp),%eax
4197d6:	50                   	push   %eax
4197d7:	68 98 5d 40 00       	push   $0x405d98
4197dc:	68 04 01 00 00       	push   $0x104
4197e1:	57                   	push   %edi
4197e2:	e8 5c d5 fe ff       	call   0x406d43
4197e7:	83 c4 10             	add    $0x10,%esp
4197ea:	8d 45 84             	lea    -0x7c(%ebp),%eax
4197ed:	56                   	push   %esi
4197ee:	50                   	push   %eax
4197ef:	56                   	push   %esi
4197f0:	68 3f 00 0f 00       	push   $0xf003f
4197f5:	56                   	push   %esi
4197f6:	56                   	push   %esi
4197f7:	56                   	push   %esi
4197f8:	57                   	push   %edi
4197f9:	68 02 00 00 80       	push   $0x80000002
4197fe:	ff 15 1c 30 42 00    	call   *0x42301c
419804:	5f                   	pop    %edi
419805:	5e                   	pop    %esi
419806:	85 c0                	test   %eax,%eax
419808:	75 27                	jne    0x419831
41980a:	68 cc 5c 40 00       	push   $0x405ccc
41980f:	ff 75 84             	push   -0x7c(%ebp)
419812:	ff 15 18 30 42 00    	call   *0x423018
419818:	68 b4 5d 40 00       	push   $0x405db4
41981d:	ff 75 84             	push   -0x7c(%ebp)
419820:	ff 15 18 30 42 00    	call   *0x423018
419826:	ff 75 84             	push   -0x7c(%ebp)
419829:	ff 15 0c 30 42 00    	call   *0x42300c
41982f:	33 c0                	xor    %eax,%eax
419831:	8b 4d fc             	mov    -0x4(%ebp),%ecx
419834:	33 cd                	xor    %ebp,%ecx
419836:	e8 e5 1d 00 00       	call   0x41b620
41983b:	c9                   	leave
41983c:	c3                   	ret
41983d:	8b ff                	mov    %edi,%edi
41983f:	55                   	push   %ebp
419840:	8b ec                	mov    %esp,%ebp
419842:	51                   	push   %ecx
419843:	53                   	push   %ebx
419844:	56                   	push   %esi
419845:	57                   	push   %edi
419846:	33 f6                	xor    %esi,%esi
419848:	8b d9                	mov    %ecx,%ebx
41984a:	56                   	push   %esi
41984b:	68 80 00 00 00       	push   $0x80
419850:	6a 02                	push   $0x2
419852:	56                   	push   %esi
419853:	56                   	push   %esi
419854:	68 00 00 00 c0       	push   $0xc0000000
419859:	68 e4 5d 40 00       	push   $0x405de4
41985e:	ff 15 50 30 42 00    	call   *0x423050
419864:	8b f8                	mov    %eax,%edi
419866:	83 ff ff             	cmp    $0xffffffff,%edi
419869:	75 05                	jne    0x419870
41986b:	6a 6e                	push   $0x6e
41986d:	58                   	pop    %eax
41986e:	eb 2a                	jmp    0x41989a
419870:	56                   	push   %esi
419871:	8d 45 fc             	lea    -0x4(%ebp),%eax
419874:	50                   	push   %eax
419875:	56                   	push   %esi
419876:	56                   	push   %esi
419877:	6a 08                	push   $0x8
419879:	8d 45 08             	lea    0x8(%ebp),%eax
41987c:	50                   	push   %eax
41987d:	53                   	push   %ebx
41987e:	57                   	push   %edi
41987f:	ff 15 d4 30 42 00    	call   *0x4230d4
419885:	85 c0                	test   %eax,%eax
419887:	75 08                	jne    0x419891
419889:	ff 15 6c 30 42 00    	call   *0x42306c
41988f:	8b f0                	mov    %eax,%esi
419891:	57                   	push   %edi
419892:	ff 15 70 30 42 00    	call   *0x423070
419898:	8b c6                	mov    %esi,%eax
41989a:	5f                   	pop    %edi
41989b:	5e                   	pop    %esi
41989c:	5b                   	pop    %ebx
41989d:	c9                   	leave
41989e:	c2 08 00             	ret    $0x8
4198a1:	8b ff                	mov    %edi,%edi
4198a3:	55                   	push   %ebp
4198a4:	8b ec                	mov    %esp,%ebp
4198a6:	83 ec 0c             	sub    $0xc,%esp
4198a9:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4198ad:	b8 00 04 00 00       	mov    $0x400,%eax
4198b2:	53                   	push   %ebx
4198b3:	56                   	push   %esi
4198b4:	57                   	push   %edi
4198b5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4198b8:	8b d8                	mov    %eax,%ebx
4198ba:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4198c1:	50                   	push   %eax
4198c2:	eb 3e                	jmp    0x419902
4198c4:	53                   	push   %ebx
4198c5:	6a 00                	push   $0x0
4198c7:	56                   	push   %esi
4198c8:	e8 54 2d 00 00       	call   0x41c621
4198cd:	83 c4 0c             	add    $0xc,%esp
4198d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4198d3:	50                   	push   %eax
4198d4:	53                   	push   %ebx
4198d5:	56                   	push   %esi
4198d6:	6a 33                	push   $0x33
4198d8:	ff 15 e0 35 42 00    	call   *0x4235e0
4198de:	8b f8                	mov    %eax,%edi
4198e0:	81 ff 04 00 00 c0    	cmp    $0xc0000004,%edi
4198e6:	75 37                	jne    0x41991f
4198e8:	56                   	push   %esi
4198e9:	e8 30 20 00 00       	call   0x41b91e
4198ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4198f1:	59                   	pop    %ecx
4198f2:	b9 00 04 00 00       	mov    $0x400,%ecx
4198f7:	03 d9                	add    %ecx,%ebx
4198f9:	40                   	inc    %eax
4198fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4198fd:	3b c1                	cmp    %ecx,%eax
4198ff:	73 19                	jae    0x41991a
419901:	53                   	push   %ebx
419902:	e8 11 20 00 00       	call   0x41b918
419907:	8b f0                	mov    %eax,%esi
419909:	59                   	pop    %ecx
41990a:	85 f6                	test   %esi,%esi
41990c:	75 b6                	jne    0x4198c4
41990e:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
419913:	8b c7                	mov    %edi,%eax
419915:	5f                   	pop    %edi
419916:	5e                   	pop    %esi
419917:	5b                   	pop    %ebx
419918:	c9                   	leave
419919:	c3                   	ret
41991a:	bf cd 00 00 c0       	mov    $0xc00000cd,%edi
41991f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
419923:	75 13                	jne    0x419938
419925:	85 f6                	test   %esi,%esi
419927:	74 ea                	je     0x419913
419929:	56                   	push   %esi
41992a:	e8 ef 1f 00 00       	call   0x41b91e
41992f:	8b 45 f4             	mov    -0xc(%ebp),%eax
419932:	59                   	pop    %ecx
419933:	83 20 00             	andl   $0x0,(%eax)
419936:	eb db                	jmp    0x419913
419938:	8b 45 f4             	mov    -0xc(%ebp),%eax
41993b:	89 30                	mov    %esi,(%eax)
41993d:	eb d4                	jmp    0x419913
41993f:	8b ff                	mov    %edi,%edi
419941:	55                   	push   %ebp
419942:	8b ec                	mov    %esp,%ebp
419944:	51                   	push   %ecx
419945:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419949:	56                   	push   %esi
41994a:	8b f1                	mov    %ecx,%esi
41994c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41994f:	57                   	push   %edi
419950:	e8 4c ff ff ff       	call   0x4198a1
419955:	8b 55 fc             	mov    -0x4(%ebp),%edx
419958:	8b f8                	mov    %eax,%edi
41995a:	85 ff                	test   %edi,%edi
41995c:	78 16                	js     0x419974
41995e:	85 d2                	test   %edx,%edx
419960:	75 07                	jne    0x419969
419962:	21 16                	and    %edx,(%esi)
419964:	21 56 04             	and    %edx,0x4(%esi)
419967:	eb 16                	jmp    0x41997f
419969:	8b 42 08             	mov    0x8(%edx),%eax
41996c:	89 06                	mov    %eax,(%esi)
41996e:	8b 42 0c             	mov    0xc(%edx),%eax
419971:	89 46 04             	mov    %eax,0x4(%esi)
419974:	85 d2                	test   %edx,%edx
419976:	74 07                	je     0x41997f
419978:	52                   	push   %edx
419979:	e8 a0 1f 00 00       	call   0x41b91e
41997e:	59                   	pop    %ecx
41997f:	8b c7                	mov    %edi,%eax
419981:	5f                   	pop    %edi
419982:	5e                   	pop    %esi
419983:	c9                   	leave
419984:	c3                   	ret
419985:	8b ff                	mov    %edi,%edi
419987:	55                   	push   %ebp
419988:	8b ec                	mov    %esp,%ebp
41998a:	83 ec 0c             	sub    $0xc,%esp
41998d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419991:	53                   	push   %ebx
419992:	8b d9                	mov    %ecx,%ebx
419994:	8d 4d fc             	lea    -0x4(%ebp),%ecx
419997:	56                   	push   %esi
419998:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41999b:	e8 01 ff ff ff       	call   0x4198a1
4199a0:	8b f0                	mov    %eax,%esi
4199a2:	85 f6                	test   %esi,%esi
4199a4:	0f 88 90 00 00 00    	js     0x419a3a
4199aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4199ad:	57                   	push   %edi
4199ae:	8b f8                	mov    %eax,%edi
4199b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4199b3:	85 ff                	test   %edi,%edi
4199b5:	75 04                	jne    0x4199bb
4199b7:	21 03                	and    %eax,(%ebx)
4199b9:	eb 73                	jmp    0x419a2e
4199bb:	be 00 00 01 00       	mov    $0x10000,%esi
4199c0:	56                   	push   %esi
4199c1:	e8 52 1f 00 00       	call   0x41b918
4199c6:	8b d8                	mov    %eax,%ebx
4199c8:	59                   	pop    %ecx
4199c9:	85 db                	test   %ebx,%ebx
4199cb:	75 07                	jne    0x4199d4
4199cd:	be 17 00 00 c0       	mov    $0xc0000017,%esi
4199d2:	eb 5a                	jmp    0x419a2e
4199d4:	56                   	push   %esi
4199d5:	6a 00                	push   $0x0
4199d7:	53                   	push   %ebx