42060a:	56                   	push   %esi
42060b:	8b f1                	mov    %ecx,%esi
42060d:	89 45 f8             	mov    %eax,-0x8(%ebp)
420610:	57                   	push   %edi
420611:	8b 16                	mov    (%esi),%edx
420613:	2b c2                	sub    %edx,%eax
420615:	c1 f8 02             	sar    $0x2,%eax
420618:	89 45 fc             	mov    %eax,-0x4(%ebp)
42061b:	8b 46 04             	mov    0x4(%esi),%eax
42061e:	2b c2                	sub    %edx,%eax
420620:	c1 f8 02             	sar    $0x2,%eax
420623:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
420628:	0f 84 d6 00 00 00    	je     0x420704
42062e:	8b 4e 08             	mov    0x8(%esi),%ecx
420631:	8d 78 01             	lea    0x1(%eax),%edi
420634:	2b ca                	sub    %edx,%ecx
420636:	89 7d f4             	mov    %edi,-0xc(%ebp)
420639:	c1 f9 02             	sar    $0x2,%ecx
42063c:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
420641:	8b d1                	mov    %ecx,%edx
420643:	d1 ea                	shr    $1,%edx
420645:	2b c2                	sub    %edx,%eax
420647:	3b c8                	cmp    %eax,%ecx
420649:	76 07                	jbe    0x420652
42064b:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
420650:	eb 08                	jmp    0x42065a
420652:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
420655:	3b df                	cmp    %edi,%ebx
420657:	0f 42 df             	cmovb  %edi,%ebx
42065a:	53                   	push   %ebx
42065b:	e8 a0 01 00 00       	call   0x420800
420660:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420663:	8b f8                	mov    %eax,%edi
420665:	8b 45 fc             	mov    -0x4(%ebp),%eax
420668:	8b 55 f8             	mov    -0x8(%ebp),%edx
42066b:	8d 04 87             	lea    (%edi,%eax,4),%eax
42066e:	89 45 fc             	mov    %eax,-0x4(%ebp)
420671:	8b 09                	mov    (%ecx),%ecx
420673:	89 08                	mov    %ecx,(%eax)
420675:	8b 46 04             	mov    0x4(%esi),%eax
420678:	8b 0e                	mov    (%esi),%ecx
42067a:	3b d0                	cmp    %eax,%edx
42067c:	75 0f                	jne    0x42068d
42067e:	2b c1                	sub    %ecx,%eax
420680:	50                   	push   %eax
420681:	51                   	push   %ecx
420682:	57                   	push   %edi
420683:	e8 98 af 04 00       	call   0x46b620
420688:	83 c4 0c             	add    $0xc,%esp
42068b:	eb 23                	jmp    0x4206b0
42068d:	2b d1                	sub    %ecx,%edx
42068f:	52                   	push   %edx
420690:	51                   	push   %ecx
420691:	57                   	push   %edi
420692:	e8 89 af 04 00       	call   0x46b620
420697:	8b 46 04             	mov    0x4(%esi),%eax
42069a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42069d:	2b c1                	sub    %ecx,%eax
42069f:	50                   	push   %eax
4206a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4206a3:	51                   	push   %ecx
4206a4:	83 c0 04             	add    $0x4,%eax
4206a7:	50                   	push   %eax
4206a8:	e8 73 af 04 00       	call   0x46b620
4206ad:	83 c4 18             	add    $0x18,%esp
4206b0:	8b 06                	mov    (%esi),%eax
4206b2:	85 c0                	test   %eax,%eax
4206b4:	74 2c                	je     0x4206e2
4206b6:	8b 4e 08             	mov    0x8(%esi),%ecx
4206b9:	2b c8                	sub    %eax,%ecx
4206bb:	83 e1 fc             	and    $0xfffffffc,%ecx
4206be:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4206c4:	72 12                	jb     0x4206d8
4206c6:	8b 50 fc             	mov    -0x4(%eax),%edx
4206c9:	83 c1 23             	add    $0x23,%ecx
4206cc:	2b c2                	sub    %edx,%eax
4206ce:	83 c0 fc             	add    $0xfffffffc,%eax
4206d1:	83 f8 1f             	cmp    $0x1f,%eax
4206d4:	77 29                	ja     0x4206ff
4206d6:	8b c2                	mov    %edx,%eax
4206d8:	51                   	push   %ecx
4206d9:	50                   	push   %eax
4206da:	e8 29 93 04 00       	call   0x469a08
4206df:	83 c4 08             	add    $0x8,%esp
4206e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4206e5:	89 3e                	mov    %edi,(%esi)
4206e7:	8d 0c 87             	lea    (%edi,%eax,4),%ecx
4206ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
4206ed:	89 4e 04             	mov    %ecx,0x4(%esi)
4206f0:	8d 0c 9f             	lea    (%edi,%ebx,4),%ecx
4206f3:	5f                   	pop    %edi
4206f4:	89 4e 08             	mov    %ecx,0x8(%esi)
4206f7:	5e                   	pop    %esi
4206f8:	5b                   	pop    %ebx
4206f9:	8b e5                	mov    %ebp,%esp
4206fb:	5d                   	pop    %ebp
4206fc:	c2 08 00             	ret    $0x8
4206ff:	e8 2d 8f 05 00       	call   0x479631
420704:	e8 c7 2d fe ff       	call   0x4034d0
420709:	cc                   	int3
42070a:	cc                   	int3
42070b:	cc                   	int3
42070c:	cc                   	int3
42070d:	cc                   	int3
42070e:	cc                   	int3
42070f:	cc                   	int3
420710:	55                   	push   %ebp
420711:	8b ec                	mov    %esp,%ebp
420713:	51                   	push   %ecx
420714:	8b 45 08             	mov    0x8(%ebp),%eax
420717:	53                   	push   %ebx
420718:	56                   	push   %esi
420719:	8b 75 0c             	mov    0xc(%ebp),%esi
42071c:	8b d9                	mov    %ecx,%ebx
42071e:	89 45 fc             	mov    %eax,-0x4(%ebp)
420721:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
420725:	75 2d                	jne    0x420754
420727:	57                   	push   %edi
420728:	ff 76 08             	push   0x8(%esi)
42072b:	8b cb                	mov    %ebx,%ecx
42072d:	50                   	push   %eax
42072e:	e8 dd ff ff ff       	call   0x420710
420733:	8b fe                	mov    %esi,%edi
420735:	8b 36                	mov    (%esi),%esi
420737:	8d 4f 10             	lea    0x10(%edi),%ecx
42073a:	e8 21 00 00 00       	call   0x420760
42073f:	6a 34                	push   $0x34
420741:	57                   	push   %edi
420742:	e8 c1 92 04 00       	call   0x469a08
420747:	8b 45 fc             	mov    -0x4(%ebp),%eax
42074a:	83 c4 08             	add    $0x8,%esp
42074d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
420751:	74 d5                	je     0x420728
420753:	5f                   	pop    %edi
420754:	5e                   	pop    %esi
420755:	5b                   	pop    %ebx
420756:	8b e5                	mov    %ebp,%esp
420758:	5d                   	pop    %ebp
420759:	c2 08 00             	ret    $0x8
42075c:	cc                   	int3
42075d:	cc                   	int3
42075e:	cc                   	int3
42075f:	cc                   	int3
420760:	56                   	push   %esi
420761:	8b f1                	mov    %ecx,%esi
420763:	8b 46 18             	mov    0x18(%esi),%eax
420766:	85 c0                	test   %eax,%eax
420768:	74 41                	je     0x4207ab
42076a:	8b 4e 20             	mov    0x20(%esi),%ecx
42076d:	2b c8                	sub    %eax,%ecx
42076f:	83 e1 fc             	and    $0xfffffffc,%ecx
420772:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
420778:	72 12                	jb     0x42078c
42077a:	8b 50 fc             	mov    -0x4(%eax),%edx
42077d:	83 c1 23             	add    $0x23,%ecx
420780:	2b c2                	sub    %edx,%eax
420782:	83 c0 fc             	add    $0xfffffffc,%eax
420785:	83 f8 1f             	cmp    $0x1f,%eax
420788:	77 6b                	ja     0x4207f5
42078a:	8b c2                	mov    %edx,%eax
42078c:	51                   	push   %ecx
42078d:	50                   	push   %eax
42078e:	e8 75 92 04 00       	call   0x469a08
420793:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
42079a:	83 c4 08             	add    $0x8,%esp
42079d:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
4207a4:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
4207ab:	8b 4e 14             	mov    0x14(%esi),%ecx
4207ae:	83 f9 08             	cmp    $0x8,%ecx
4207b1:	72 2d                	jb     0x4207e0
4207b3:	8b 06                	mov    (%esi),%eax
4207b5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4207bc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4207c2:	72 12                	jb     0x4207d6
4207c4:	8b 50 fc             	mov    -0x4(%eax),%edx
4207c7:	83 c1 23             	add    $0x23,%ecx
4207ca:	2b c2                	sub    %edx,%eax
4207cc:	83 c0 fc             	add    $0xfffffffc,%eax
4207cf:	83 f8 1f             	cmp    $0x1f,%eax
4207d2:	77 21                	ja     0x4207f5
4207d4:	8b c2                	mov    %edx,%eax
4207d6:	51                   	push   %ecx
4207d7:	50                   	push   %eax
4207d8:	e8 2b 92 04 00       	call   0x469a08
4207dd:	83 c4 08             	add    $0x8,%esp
4207e0:	33 c0                	xor    %eax,%eax
4207e2:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4207e9:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
4207f0:	66 89 06             	mov    %ax,(%esi)
4207f3:	5e                   	pop    %esi
4207f4:	c3                   	ret
4207f5:	e8 37 8e 05 00       	call   0x479631
4207fa:	cc                   	int3
4207fb:	cc                   	int3
4207fc:	cc                   	int3
4207fd:	cc                   	int3
4207fe:	cc                   	int3
4207ff:	cc                   	int3
420800:	55                   	push   %ebp
420801:	8b ec                	mov    %esp,%ebp
420803:	8b 45 08             	mov    0x8(%ebp),%eax
420806:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
42080b:	77 44                	ja     0x420851
42080d:	c1 e0 02             	shl    $0x2,%eax
420810:	3d 00 10 00 00       	cmp    $0x1000,%eax
420815:	72 23                	jb     0x42083a
420817:	8d 48 23             	lea    0x23(%eax),%ecx
42081a:	3b c8                	cmp    %eax,%ecx
42081c:	76 33                	jbe    0x420851
42081e:	51                   	push   %ecx
42081f:	e8 b4 91 04 00       	call   0x4699d8
420824:	8b c8                	mov    %eax,%ecx
420826:	83 c4 04             	add    $0x4,%esp
420829:	85 c9                	test   %ecx,%ecx
42082b:	74 29                	je     0x420856
42082d:	8d 41 23             	lea    0x23(%ecx),%eax
420830:	83 e0 e0             	and    $0xffffffe0,%eax
420833:	89 48 fc             	mov    %ecx,-0x4(%eax)
420836:	5d                   	pop    %ebp
420837:	c2 04 00             	ret    $0x4
42083a:	85 c0                	test   %eax,%eax
42083c:	74 0d                	je     0x42084b
42083e:	50                   	push   %eax
42083f:	e8 94 91 04 00       	call   0x4699d8
420844:	83 c4 04             	add    $0x4,%esp
420847:	5d                   	pop    %ebp
420848:	c2 04 00             	ret    $0x4
42084b:	33 c0                	xor    %eax,%eax
42084d:	5d                   	pop    %ebp
42084e:	c2 04 00             	ret    $0x4
420851:	e8 ea 0a fe ff       	call   0x401340
420856:	e8 d6 8d 05 00       	call   0x479631
42085b:	cc                   	int3
42085c:	cc                   	int3
42085d:	cc                   	int3
42085e:	cc                   	int3
42085f:	cc                   	int3
420860:	55                   	push   %ebp
420861:	8b ec                	mov    %esp,%ebp
420863:	51                   	push   %ecx
420864:	8b 4d 08             	mov    0x8(%ebp),%ecx
420867:	8d 45 14             	lea    0x14(%ebp),%eax
42086a:	8b 55 0c             	mov    0xc(%ebp),%edx
42086d:	50                   	push   %eax
42086e:	51                   	push   %ecx
42086f:	ff 75 10             	push   0x10(%ebp)
420872:	e8 49 5a ff ff       	call   0x4162c0
420877:	83 c4 0c             	add    $0xc,%esp
42087a:	59                   	pop    %ecx
42087b:	5d                   	pop    %ebp
42087c:	c3                   	ret
42087d:	cc                   	int3
42087e:	cc                   	int3
42087f:	cc                   	int3
420880:	55                   	push   %ebp
420881:	8b ec                	mov    %esp,%ebp
420883:	6a ff                	push   $0xffffffff
420885:	68 8d 92 49 00       	push   $0x49928d
42088a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
420890:	50                   	push   %eax
420891:	83 ec 08             	sub    $0x8,%esp
420894:	56                   	push   %esi
420895:	57                   	push   %edi
420896:	a1 14 40 4c 00       	mov    0x4c4014,%eax
42089b:	33 c5                	xor    %ebp,%eax
42089d:	50                   	push   %eax
42089e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4208a1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4208a7:	8b f9                	mov    %ecx,%edi
4208a9:	89 7d f0             	mov    %edi,-0x10(%ebp)
4208ac:	33 c0                	xor    %eax,%eax
4208ae:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4208b4:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4208bb:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4208c2:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4208c9:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
4208d0:	66 89 07             	mov    %ax,(%edi)
4208d3:	8d 77 18             	lea    0x18(%edi),%esi
4208d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4208d9:	6a 40                	push   $0x40
4208db:	89 75 ec             	mov    %esi,-0x14(%ebp)
4208de:	89 06                	mov    %eax,(%esi)
4208e0:	89 46 04             	mov    %eax,0x4(%esi)
4208e3:	e8 f0 90 04 00       	call   0x4699d8
4208e8:	83 c4 04             	add    $0x4,%esp
4208eb:	89 00                	mov    %eax,(%eax)
4208ed:	89 40 04             	mov    %eax,0x4(%eax)
4208f0:	89 40 08             	mov    %eax,0x8(%eax)
4208f3:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
4208f9:	89 06                	mov    %eax,(%esi)
4208fb:	33 c0                	xor    %eax,%eax
4208fd:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
420904:	66 89 47 20          	mov    %ax,0x20(%edi)
420908:	8b c7                	mov    %edi,%eax
42090a:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
420911:	c7 47 34 07 00 00 00 	movl   $0x7,0x34(%edi)
420918:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42091b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
420922:	59                   	pop    %ecx
420923:	5f                   	pop    %edi
420924:	5e                   	pop    %esi
420925:	8b e5                	mov    %ebp,%esp
420927:	5d                   	pop    %ebp
420928:	c3                   	ret
420929:	cc                   	int3
42092a:	cc                   	int3
42092b:	cc                   	int3
42092c:	cc                   	int3
42092d:	cc                   	int3
42092e:	cc                   	int3
42092f:	cc                   	int3
420930:	55                   	push   %ebp
420931:	8b ec                	mov    %esp,%ebp
420933:	56                   	push   %esi
420934:	8b f1                	mov    %ecx,%esi
420936:	8b 46 68             	mov    0x68(%esi),%eax
420939:	c7 06 bc 41 4b 00    	movl   $0x4b41bc,(%esi)
42093f:	85 c0                	test   %eax,%eax
420941:	74 0e                	je     0x420951
420943:	50                   	push   %eax
420944:	ff 15 64 e0 49 00    	call   *0x49e064
42094a:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
420951:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
420957:	85 c0                	test   %eax,%eax
420959:	74 37                	je     0x420992
42095b:	8b 00                	mov    (%eax),%eax
42095d:	85 c0                	test   %eax,%eax
42095f:	74 0c                	je     0x42096d
420961:	83 f8 ff             	cmp    $0xffffffff,%eax
420964:	74 07                	je     0x42096d
420966:	50                   	push   %eax
420967:	ff 15 64 e0 49 00    	call   *0x49e064
42096d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
420973:	85 c0                	test   %eax,%eax
420975:	74 11                	je     0x420988
420977:	6a 04                	push   $0x4
420979:	50                   	push   %eax
42097a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
420980:	e8 83 90 04 00       	call   0x469a08
420985:	83 c4 08             	add    $0x8,%esp
420988:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
42098f:	00 00 00
420992:	8d 8e 00 01 00 00    	lea    0x100(%esi),%ecx
420998:	e8 e3 23 fe ff       	call   0x402d80
42099d:	8b 8e e8 00 00 00    	mov    0xe8(%esi),%ecx
4209a3:	83 f9 08             	cmp    $0x8,%ecx
4209a6:	72 31                	jb     0x4209d9
4209a8:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
4209ae:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4209b5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx