4065a0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4065a6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4065ad:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4065b4:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
4065b8:	72 05                	jb     0x4065bf
4065ba:	8b 03                	mov    (%ebx),%eax
4065bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4065bf:	8b 5b 10             	mov    0x10(%ebx),%ebx
4065c2:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
4065c8:	0f 87 ab 00 00 00    	ja     0x406679
4065ce:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4065d5:	83 fb 10             	cmp    $0x10,%ebx
4065d8:	73 19                	jae    0x4065f3
4065da:	6a 10                	push   $0x10
4065dc:	50                   	push   %eax
4065dd:	56                   	push   %esi
4065de:	89 5e 10             	mov    %ebx,0x10(%esi)
4065e1:	e8 9a 50 01 00       	call   0x41b680
4065e6:	83 c4 0c             	add    $0xc,%esp
4065e9:	8b c6                	mov    %esi,%eax
4065eb:	5e                   	pop    %esi
4065ec:	5b                   	pop    %ebx
4065ed:	8b e5                	mov    %ebp,%esp
4065ef:	5d                   	pop    %ebp
4065f0:	c2 04 00             	ret    $0x4
4065f3:	57                   	push   %edi
4065f4:	8b fb                	mov    %ebx,%edi
4065f6:	83 cf 0f             	or     $0xf,%edi
4065f9:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
4065ff:	76 27                	jbe    0x406628
406601:	b9 00 00 00 80       	mov    $0x80000000,%ecx
406606:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
40660b:	83 c1 23             	add    $0x23,%ecx
40660e:	51                   	push   %ecx
40660f:	e8 b2 35 01 00       	call   0x419bc6
406614:	8b c8                	mov    %eax,%ecx
406616:	83 c4 04             	add    $0x4,%esp
406619:	85 c9                	test   %ecx,%ecx
40661b:	74 66                	je     0x406683
40661d:	8d 41 23             	lea    0x23(%ecx),%eax
406620:	83 e0 e0             	and    $0xffffffe0,%eax
406623:	89 48 fc             	mov    %ecx,-0x4(%eax)
406626:	eb 2e                	jmp    0x406656
406628:	b8 16 00 00 00       	mov    $0x16,%eax
40662d:	3b f8                	cmp    %eax,%edi
40662f:	0f 42 f8             	cmovb  %eax,%edi
406632:	8d 47 01             	lea    0x1(%edi),%eax
406635:	3d 00 10 00 00       	cmp    $0x1000,%eax
40663a:	72 09                	jb     0x406645
40663c:	8d 48 23             	lea    0x23(%eax),%ecx
40663f:	3b c8                	cmp    %eax,%ecx
406641:	76 3b                	jbe    0x40667e
406643:	eb c9                	jmp    0x40660e
406645:	85 c0                	test   %eax,%eax
406647:	74 0b                	je     0x406654
406649:	50                   	push   %eax
40664a:	e8 77 35 01 00       	call   0x419bc6
40664f:	83 c4 04             	add    $0x4,%esp
406652:	eb 02                	jmp    0x406656
406654:	33 c0                	xor    %eax,%eax
406656:	8d 4b 01             	lea    0x1(%ebx),%ecx
406659:	89 06                	mov    %eax,(%esi)
40665b:	51                   	push   %ecx
40665c:	ff 75 fc             	push   -0x4(%ebp)
40665f:	89 5e 10             	mov    %ebx,0x10(%esi)
406662:	50                   	push   %eax
406663:	89 7e 14             	mov    %edi,0x14(%esi)
406666:	e8 15 50 01 00       	call   0x41b680
40666b:	83 c4 0c             	add    $0xc,%esp
40666e:	8b c6                	mov    %esi,%eax
406670:	5f                   	pop    %edi
406671:	5e                   	pop    %esi
406672:	5b                   	pop    %ebx
406673:	8b e5                	mov    %ebp,%esp
406675:	5d                   	pop    %ebp
406676:	c2 04 00             	ret    $0x4
406679:	e8 e2 ac ff ff       	call   0x401360
40667e:	e8 3d ac ff ff       	call   0x4012c0
406683:	e8 0b 93 01 00       	call   0x41f993
406688:	cc                   	int3
406689:	cc                   	int3
40668a:	cc                   	int3
40668b:	cc                   	int3
40668c:	cc                   	int3
40668d:	cc                   	int3
40668e:	cc                   	int3
40668f:	cc                   	int3
406690:	55                   	push   %ebp
406691:	8b ec                	mov    %esp,%ebp
406693:	83 ec 08             	sub    $0x8,%esp
406696:	8b 45 08             	mov    0x8(%ebp),%eax
406699:	53                   	push   %ebx
40669a:	56                   	push   %esi
40669b:	8b 75 0c             	mov    0xc(%ebp),%esi
40669e:	8b d9                	mov    %ecx,%ebx
4066a0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4066a3:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
4066a9:	0f 87 b1 00 00 00    	ja     0x406760
4066af:	c7 43 14 0f 00 00 00 	movl   $0xf,0x14(%ebx)
4066b6:	83 fe 10             	cmp    $0x10,%esi
4066b9:	73 1a                	jae    0x4066d5
4066bb:	56                   	push   %esi
4066bc:	50                   	push   %eax
4066bd:	53                   	push   %ebx
4066be:	89 73 10             	mov    %esi,0x10(%ebx)
4066c1:	e8 ba 4f 01 00       	call   0x41b680
4066c6:	83 c4 0c             	add    $0xc,%esp
4066c9:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
4066cd:	5e                   	pop    %esi
4066ce:	5b                   	pop    %ebx
4066cf:	8b e5                	mov    %ebp,%esp
4066d1:	5d                   	pop    %ebp
4066d2:	c2 08 00             	ret    $0x8
4066d5:	57                   	push   %edi
4066d6:	8b fe                	mov    %esi,%edi
4066d8:	83 cf 0f             	or     $0xf,%edi
4066db:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
4066e1:	76 27                	jbe    0x40670a
4066e3:	b9 00 00 00 80       	mov    $0x80000000,%ecx
4066e8:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
4066ed:	83 c1 23             	add    $0x23,%ecx
4066f0:	51                   	push   %ecx
4066f1:	e8 d0 34 01 00       	call   0x419bc6
4066f6:	8b c8                	mov    %eax,%ecx
4066f8:	83 c4 04             	add    $0x4,%esp
4066fb:	85 c9                	test   %ecx,%ecx
4066fd:	74 6b                	je     0x40676a
4066ff:	8d 41 23             	lea    0x23(%ecx),%eax
406702:	83 e0 e0             	and    $0xffffffe0,%eax
406705:	89 48 fc             	mov    %ecx,-0x4(%eax)
406708:	eb 2e                	jmp    0x406738
40670a:	b8 16 00 00 00       	mov    $0x16,%eax
40670f:	3b f8                	cmp    %eax,%edi
406711:	0f 42 f8             	cmovb  %eax,%edi
406714:	8d 47 01             	lea    0x1(%edi),%eax
406717:	3d 00 10 00 00       	cmp    $0x1000,%eax
40671c:	72 09                	jb     0x406727
40671e:	8d 48 23             	lea    0x23(%eax),%ecx
406721:	3b c8                	cmp    %eax,%ecx
406723:	76 40                	jbe    0x406765
406725:	eb c9                	jmp    0x4066f0
406727:	85 c0                	test   %eax,%eax
406729:	74 0b                	je     0x406736
40672b:	50                   	push   %eax
40672c:	e8 95 34 01 00       	call   0x419bc6
406731:	83 c4 04             	add    $0x4,%esp
406734:	eb 02                	jmp    0x406738
406736:	33 c0                	xor    %eax,%eax
406738:	56                   	push   %esi
406739:	ff 75 f8             	push   -0x8(%ebp)
40673c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40673f:	50                   	push   %eax
406740:	89 03                	mov    %eax,(%ebx)
406742:	89 73 10             	mov    %esi,0x10(%ebx)
406745:	89 7b 14             	mov    %edi,0x14(%ebx)
406748:	e8 33 4f 01 00       	call   0x41b680
40674d:	8b 45 fc             	mov    -0x4(%ebp),%eax
406750:	83 c4 0c             	add    $0xc,%esp
406753:	5f                   	pop    %edi
406754:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
406758:	5e                   	pop    %esi
406759:	5b                   	pop    %ebx
40675a:	8b e5                	mov    %ebp,%esp
40675c:	5d                   	pop    %ebp
40675d:	c2 08 00             	ret    $0x8
406760:	e8 fb ab ff ff       	call   0x401360
406765:	e8 56 ab ff ff       	call   0x4012c0
40676a:	e8 24 92 01 00       	call   0x41f993
40676f:	cc                   	int3
406770:	55                   	push   %ebp
406771:	8b ec                	mov    %esp,%ebp
406773:	83 ec 10             	sub    $0x10,%esp
406776:	8b 45 10             	mov    0x10(%ebp),%eax
406779:	53                   	push   %ebx
40677a:	8b d9                	mov    %ecx,%ebx
40677c:	89 45 f0             	mov    %eax,-0x10(%ebp)
40677f:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
406784:	8b c1                	mov    %ecx,%eax
406786:	56                   	push   %esi
406787:	8b 53 10             	mov    0x10(%ebx),%edx
40678a:	2b c2                	sub    %edx,%eax
40678c:	8b 75 08             	mov    0x8(%ebp),%esi
40678f:	89 55 fc             	mov    %edx,-0x4(%ebp)
406792:	57                   	push   %edi
406793:	3b c6                	cmp    %esi,%eax
406795:	0f 82 20 01 00 00    	jb     0x4068bb
40679b:	8d 04 32             	lea    (%edx,%esi,1),%eax
40679e:	8b 73 14             	mov    0x14(%ebx),%esi
4067a1:	8b f8                	mov    %eax,%edi
4067a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4067a6:	83 cf 0f             	or     $0xf,%edi
4067a9:	89 75 f4             	mov    %esi,-0xc(%ebp)
4067ac:	3b f9                	cmp    %ecx,%edi
4067ae:	76 29                	jbe    0x4067d9
4067b0:	8b f9                	mov    %ecx,%edi
4067b2:	b8 00 00 00 80       	mov    $0x80000000,%eax
4067b7:	83 c0 23             	add    $0x23,%eax
4067ba:	50                   	push   %eax
4067bb:	e8 06 34 01 00       	call   0x419bc6
4067c0:	83 c4 04             	add    $0x4,%esp
4067c3:	85 c0                	test   %eax,%eax
4067c5:	0f 84 fa 00 00 00    	je     0x4068c5
4067cb:	8b 55 fc             	mov    -0x4(%ebp),%edx
4067ce:	8d 70 23             	lea    0x23(%eax),%esi
4067d1:	83 e6 e0             	and    $0xffffffe0,%esi
4067d4:	89 46 fc             	mov    %eax,-0x4(%esi)
4067d7:	eb 46                	jmp    0x40681f
4067d9:	8b c6                	mov    %esi,%eax
4067db:	d1 e8                	shr    $1,%eax
4067dd:	2b c8                	sub    %eax,%ecx
4067df:	3b f1                	cmp    %ecx,%esi
4067e1:	76 07                	jbe    0x4067ea
4067e3:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
4067e8:	eb c8                	jmp    0x4067b2
4067ea:	03 c6                	add    %esi,%eax
4067ec:	3b f8                	cmp    %eax,%edi
4067ee:	0f 42 f8             	cmovb  %eax,%edi
4067f1:	8d 4f 01             	lea    0x1(%edi),%ecx
4067f4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4067fa:	72 0d                	jb     0x406809
4067fc:	8d 41 23             	lea    0x23(%ecx),%eax
4067ff:	3b c1                	cmp    %ecx,%eax
406801:	0f 86 b9 00 00 00    	jbe    0x4068c0
406807:	eb b1                	jmp    0x4067ba
406809:	85 c9                	test   %ecx,%ecx
40680b:	74 10                	je     0x40681d
40680d:	51                   	push   %ecx
40680e:	e8 b3 33 01 00       	call   0x419bc6
406813:	8b 55 fc             	mov    -0x4(%ebp),%edx
406816:	83 c4 04             	add    $0x4,%esp
406819:	8b f0                	mov    %eax,%esi
40681b:	eb 02                	jmp    0x40681f
40681d:	33 f6                	xor    %esi,%esi
40681f:	8b 45 f8             	mov    -0x8(%ebp),%eax
406822:	89 43 10             	mov    %eax,0x10(%ebx)
406825:	8b 45 14             	mov    0x14(%ebp),%eax
406828:	89 7b 14             	mov    %edi,0x14(%ebx)
40682b:	8d 3c 16             	lea    (%esi,%edx,1),%edi
40682e:	03 c7                	add    %edi,%eax
406830:	89 7d f8             	mov    %edi,-0x8(%ebp)
406833:	83 7d f4 10          	cmpl   $0x10,-0xc(%ebp)
406837:	89 45 fc             	mov    %eax,-0x4(%ebp)
40683a:	52                   	push   %edx
40683b:	72 55                	jb     0x406892
40683d:	8b 3b                	mov    (%ebx),%edi
40683f:	57                   	push   %edi
406840:	56                   	push   %esi
406841:	e8 3a 4e 01 00       	call   0x41b680
406846:	ff 75 14             	push   0x14(%ebp)
406849:	ff 75 f0             	push   -0x10(%ebp)
40684c:	ff 75 f8             	push   -0x8(%ebp)
40684f:	e8 2c 4e 01 00       	call   0x41b680
406854:	8b 45 fc             	mov    -0x4(%ebp),%eax
406857:	83 c4 18             	add    $0x18,%esp
40685a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40685d:	41                   	inc    %ecx
40685e:	c6 00 00             	movb   $0x0,(%eax)
406861:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406867:	72 12                	jb     0x40687b
406869:	8b 57 fc             	mov    -0x4(%edi),%edx
40686c:	83 c1 23             	add    $0x23,%ecx
40686f:	2b fa                	sub    %edx,%edi
406871:	8d 47 fc             	lea    -0x4(%edi),%eax
406874:	83 f8 1f             	cmp    $0x1f,%eax
406877:	77 4c                	ja     0x4068c5
406879:	8b fa                	mov    %edx,%edi
40687b:	51                   	push   %ecx
40687c:	57                   	push   %edi
40687d:	e8 36 33 01 00       	call   0x419bb8
406882:	83 c4 08             	add    $0x8,%esp
406885:	89 33                	mov    %esi,(%ebx)
406887:	8b c3                	mov    %ebx,%eax
406889:	5f                   	pop    %edi
40688a:	5e                   	pop    %esi
40688b:	5b                   	pop    %ebx
40688c:	8b e5                	mov    %ebp,%esp
40688e:	5d                   	pop    %ebp
40688f:	c2 10 00             	ret    $0x10
406892:	53                   	push   %ebx
406893:	56                   	push   %esi
406894:	e8 e7 4d 01 00       	call   0x41b680
406899:	ff 75 14             	push   0x14(%ebp)
40689c:	ff 75 f0             	push   -0x10(%ebp)
40689f:	57                   	push   %edi
4068a0:	e8 db 4d 01 00       	call   0x41b680
4068a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4068a8:	83 c4 18             	add    $0x18,%esp
4068ab:	c6 00 00             	movb   $0x0,(%eax)
4068ae:	8b c3                	mov    %ebx,%eax
4068b0:	5f                   	pop    %edi
4068b1:	89 33                	mov    %esi,(%ebx)
4068b3:	5e                   	pop    %esi
4068b4:	5b                   	pop    %ebx
4068b5:	8b e5                	mov    %ebp,%esp
4068b7:	5d                   	pop    %ebp
4068b8:	c2 10 00             	ret    $0x10
4068bb:	e8 a0 aa ff ff       	call   0x401360
4068c0:	e8 fb a9 ff ff       	call   0x4012c0
4068c5:	e8 c9 90 01 00       	call   0x41f993
4068ca:	cc                   	int3
4068cb:	cc                   	int3
4068cc:	cc                   	int3
4068cd:	cc                   	int3
4068ce:	cc                   	int3
4068cf:	cc                   	int3
4068d0:	57                   	push   %edi
4068d1:	8b 39                	mov    (%ecx),%edi
4068d3:	85 ff                	test   %edi,%edi
4068d5:	74 14                	je     0x4068eb
4068d7:	8b 07                	mov    (%edi),%eax
4068d9:	56                   	push   %esi
4068da:	6a 01                	push   $0x1
4068dc:	8b 30                	mov    (%eax),%esi
4068de:	8b ce                	mov    %esi,%ecx
4068e0:	ff 15 5c e2 43 00    	call   *0x43e25c
4068e6:	8b cf                	mov    %edi,%ecx
4068e8:	ff d6                	call   *%esi
4068ea:	5e                   	pop    %esi
4068eb:	5f                   	pop    %edi
4068ec:	c3                   	ret
4068ed:	cc                   	int3
4068ee:	cc                   	int3
4068ef:	cc                   	int3
4068f0:	55                   	push   %ebp
4068f1:	8b ec                	mov    %esp,%ebp
4068f3:	83 e4 f8             	and    $0xfffffff8,%esp
4068f6:	ff 75 18             	push   0x18(%ebp)
4068f9:	ff 75 14             	push   0x14(%ebp)
4068fc:	ff 75 10             	push   0x10(%ebp)
4068ff:	ff 75 0c             	push   0xc(%ebp)
406902:	ff 75 08             	push   0x8(%ebp)
406905:	e8 d6 dd ff ff       	call   0x4046e0
40690a:	ff 70 04             	push   0x4(%eax)
40690d:	ff 30                	push   (%eax)
40690f:	e8 7e cc 01 00       	call   0x423592
406914:	83 c9 ff             	or     $0xffffffff,%ecx
406917:	83 c4 1c             	add    $0x1c,%esp
40691a:	85 c0                	test   %eax,%eax
40691c:	0f 48 c1             	cmovs  %ecx,%eax
40691f:	8b e5                	mov    %ebp,%esp
406921:	5d                   	pop    %ebp
406922:	c3                   	ret
406923:	cc                   	int3
406924:	cc                   	int3
406925:	cc                   	int3
406926:	cc                   	int3
406927:	cc                   	int3
406928:	cc                   	int3
406929:	cc                   	int3
40692a:	cc                   	int3