4094b8:	cc                   	int3
4094b9:	cc                   	int3
4094ba:	cc                   	int3
4094bb:	cc                   	int3
4094bc:	cc                   	int3
4094bd:	cc                   	int3
4094be:	cc                   	int3
4094bf:	cc                   	int3
4094c0:	b8 3c 1a 40 00       	mov    $0x401a3c,%eax
4094c5:	c3                   	ret
4094c6:	8b ff                	mov    %edi,%edi
4094c8:	55                   	push   %ebp
4094c9:	8b ec                	mov    %esp,%ebp
4094cb:	83 3d cc 12 40 00 00 	cmpl   $0x0,0x4012cc
4094d2:	b8 c8 12 40 00       	mov    $0x4012c8,%eax
4094d7:	74 10                	je     0x4094e9
4094d9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4094dc:	39 08                	cmp    %ecx,(%eax)
4094de:	74 0d                	je     0x4094ed
4094e0:	83 c0 08             	add    $0x8,%eax
4094e3:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4094e7:	75 f3                	jne    0x4094dc
4094e9:	33 c0                	xor    %eax,%eax
4094eb:	5d                   	pop    %ebp
4094ec:	c3                   	ret
4094ed:	8b 40 04             	mov    0x4(%eax),%eax
4094f0:	5d                   	pop    %ebp
4094f1:	c3                   	ret
4094f2:	8b ff                	mov    %edi,%edi
4094f4:	55                   	push   %ebp
4094f5:	8b ec                	mov    %esp,%ebp
4094f7:	83 3d 74 10 40 00 00 	cmpl   $0x0,0x401074
4094fe:	b8 70 10 40 00       	mov    $0x401070,%eax
409503:	74 10                	je     0x409515
409505:	8b 4d 08             	mov    0x8(%ebp),%ecx
409508:	39 08                	cmp    %ecx,(%eax)
40950a:	74 0d                	je     0x409519
40950c:	83 c0 08             	add    $0x8,%eax
40950f:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
409513:	75 f3                	jne    0x409508
409515:	33 c0                	xor    %eax,%eax
409517:	5d                   	pop    %ebp
409518:	c3                   	ret
409519:	8b 40 04             	mov    0x4(%eax),%eax
40951c:	5d                   	pop    %ebp
40951d:	c3                   	ret
40951e:	cc                   	int3
40951f:	cc                   	int3
409520:	e8 aa 02 00 00       	call   0x4097cf
409525:	6a 02                	push   $0x2
409527:	a3 64 c2 40 00       	mov    %eax,0x40c264
40952c:	e8 77 0a 00 00       	call   0x409fa8
409531:	50                   	push   %eax
409532:	ff 15 a8 f1 40 00    	call   *0x40f1a8
409538:	83 0d 28 ee 40 00 ff 	orl    $0xffffffff,0x40ee28
40953f:	83 0d 2c ee 40 00 ff 	orl    $0xffffffff,0x40ee2c
409546:	59                   	pop    %ecx
409547:	59                   	pop    %ecx
409548:	ff 15 a4 f1 40 00    	call   *0x40f1a4
40954e:	8b 0d 98 c5 40 00    	mov    0x40c598,%ecx
409554:	89 08                	mov    %ecx,(%eax)
409556:	ff 15 b4 f1 40 00    	call   *0x40f1b4
40955c:	8b 0d 8c c5 40 00    	mov    0x40c58c,%ecx
409562:	89 08                	mov    %ecx,(%eax)
409564:	e8 27 a9 ff ff       	call   0x403e90
409569:	83 3d e0 c1 40 00 00 	cmpl   $0x0,0x40c1e0
409570:	75 0c                	jne    0x40957e
409572:	68 90 3e 40 00       	push   $0x403e90
409577:	ff 15 7c f1 40 00    	call   *0x40f17c
40957d:	59                   	pop    %ecx
40957e:	e8 4a 0c 00 00       	call   0x40a1cd
409583:	33 c0                	xor    %eax,%eax
409585:	c3                   	ret
409586:	cc                   	int3
409587:	cc                   	int3
409588:	cc                   	int3
409589:	cc                   	int3
40958a:	cc                   	int3
40958b:	cc                   	int3
40958c:	cc                   	int3
40958d:	cc                   	int3
40958e:	cc                   	int3
40958f:	cc                   	int3
409590:	a1 94 c5 40 00       	mov    0x40c594,%eax
409595:	68 68 c2 40 00       	push   $0x40c268
40959a:	ff 35 90 c5 40 00    	push   0x40c590
4095a0:	a3 68 c2 40 00       	mov    %eax,0x40c268
4095a5:	68 5c c2 40 00       	push   $0x40c25c
4095aa:	68 58 c2 40 00       	push   $0x40c258
4095af:	68 54 c2 40 00       	push   $0x40c254
4095b4:	ff 15 ac f1 40 00    	call   *0x40f1ac
4095ba:	83 c4 14             	add    $0x14,%esp
4095bd:	a3 60 c2 40 00       	mov    %eax,0x40c260
4095c2:	c3                   	ret
4095c3:	6a 58                	push   $0x58
4095c5:	68 70 ae 40 00       	push   $0x40ae70
4095ca:	e8 19 0c 00 00       	call   0x40a1e8
4095cf:	33 db                	xor    %ebx,%ebx
4095d1:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4095d4:	8d 45 98             	lea    -0x68(%ebp),%eax
4095d7:	50                   	push   %eax
4095d8:	ff 15 4c f1 40 00    	call   *0x40f14c
4095de:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4095e1:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
4095e7:	8b 70 04             	mov    0x4(%eax),%esi
4095ea:	8b fb                	mov    %ebx,%edi
4095ec:	ba 20 ee 40 00       	mov    $0x40ee20,%edx
4095f1:	8b ce                	mov    %esi,%ecx
4095f3:	33 c0                	xor    %eax,%eax
4095f5:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4095f9:	85 c0                	test   %eax,%eax
4095fb:	74 18                	je     0x409615
4095fd:	3b c6                	cmp    %esi,%eax
4095ff:	75 07                	jne    0x409608
409601:	33 f6                	xor    %esi,%esi
409603:	46                   	inc    %esi
409604:	8b fe                	mov    %esi,%edi
409606:	eb 10                	jmp    0x409618
409608:	68 e8 03 00 00       	push   $0x3e8
40960d:	ff 15 58 f0 40 00    	call   *0x40f058
409613:	eb d7                	jmp    0x4095ec
409615:	33 f6                	xor    %esi,%esi
409617:	46                   	inc    %esi
409618:	39 35 24 ee 40 00    	cmp    %esi,0x40ee24
40961e:	75 0a                	jne    0x40962a
409620:	6a 1f                	push   $0x1f
409622:	e8 b7 09 00 00       	call   0x409fde
409627:	59                   	pop    %ecx
409628:	eb 3a                	jmp    0x409664
40962a:	39 1d 24 ee 40 00    	cmp    %ebx,0x40ee24
409630:	75 2c                	jne    0x40965e
409632:	89 35 24 ee 40 00    	mov    %esi,0x40ee24
409638:	68 64 18 40 00       	push   $0x401864
40963d:	68 58 18 40 00       	push   $0x401858
409642:	e8 57 01 00 00       	call   0x40979e
409647:	59                   	pop    %ecx
409648:	59                   	pop    %ecx
409649:	85 c0                	test   %eax,%eax
40964b:	74 17                	je     0x409664
40964d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409654:	b8 ff 00 00 00       	mov    $0xff,%eax
409659:	e9 30 01 00 00       	jmp    0x40978e
40965e:	89 35 50 c2 40 00    	mov    %esi,0x40c250
409664:	39 35 24 ee 40 00    	cmp    %esi,0x40ee24
40966a:	75 1b                	jne    0x409687
40966c:	68 54 18 40 00       	push   $0x401854
409671:	68 2c 18 40 00       	push   $0x40182c
409676:	e8 65 0b 00 00       	call   0x40a1e0
40967b:	59                   	pop    %ecx
40967c:	59                   	pop    %ecx
40967d:	c7 05 24 ee 40 00 02 	movl   $0x2,0x40ee24
409684:	00 00 00
409687:	85 ff                	test   %edi,%edi
409689:	75 09                	jne    0x409694
40968b:	33 c0                	xor    %eax,%eax
40968d:	b9 20 ee 40 00       	mov    $0x40ee20,%ecx
409692:	87 01                	xchg   %eax,(%ecx)
409694:	83 3d 30 ee 40 00 00 	cmpl   $0x0,0x40ee30
40969b:	74 23                	je     0x4096c0
40969d:	68 30 ee 40 00       	push   $0x40ee30
4096a2:	e8 99 09 00 00       	call   0x40a040
4096a7:	59                   	pop    %ecx
4096a8:	85 c0                	test   %eax,%eax
4096aa:	74 14                	je     0x4096c0
4096ac:	53                   	push   %ebx
4096ad:	6a 02                	push   $0x2
4096af:	53                   	push   %ebx
4096b0:	8b 35 30 ee 40 00    	mov    0x40ee30,%esi
4096b6:	8b ce                	mov    %esi,%ecx
4096b8:	ff 15 20 f2 40 00    	call   *0x40f220
4096be:	ff d6                	call   *%esi
4096c0:	a1 a0 f1 40 00       	mov    0x40f1a0,%eax
4096c5:	8b 08                	mov    (%eax),%ecx
4096c7:	85 c9                	test   %ecx,%ecx
4096c9:	74 82                	je     0x40964d
4096cb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4096ce:	6a 20                	push   $0x20
4096d0:	5e                   	pop    %esi
4096d1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4096d4:	0f b7 01             	movzwl (%ecx),%eax
4096d7:	66 3b c6             	cmp    %si,%ax
4096da:	77 4f                	ja     0x40972b
4096dc:	66 85 c0             	test   %ax,%ax
4096df:	74 19                	je     0x4096fa
4096e1:	85 d2                	test   %edx,%edx
4096e3:	75 46                	jne    0x40972b
4096e5:	66 85 c0             	test   %ax,%ax
4096e8:	74 10                	je     0x4096fa
4096ea:	66 3b c6             	cmp    %si,%ax
4096ed:	77 0b                	ja     0x4096fa
4096ef:	83 c1 02             	add    $0x2,%ecx
4096f2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4096f5:	0f b7 01             	movzwl (%ecx),%eax
4096f8:	eb eb                	jmp    0x4096e5
4096fa:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
4096fe:	74 06                	je     0x409706
409700:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
409704:	eb 03                	jmp    0x409709
409706:	6a 0a                	push   $0xa
409708:	58                   	pop    %eax
409709:	50                   	push   %eax
40970a:	51                   	push   %ecx
40970b:	53                   	push   %ebx
40970c:	68 00 00 40 00       	push   $0x400000
409711:	e8 3b a3 ff ff       	call   0x403a51
409716:	a3 4c c2 40 00       	mov    %eax,0x40c24c
40971b:	83 3d 64 c2 40 00 00 	cmpl   $0x0,0x40c264
409722:	75 4f                	jne    0x409773
409724:	50                   	push   %eax
409725:	ff 15 10 f2 40 00    	call   *0x40f210
40972b:	83 f8 22             	cmp    $0x22,%eax
40972e:	75 0c                	jne    0x40973c
409730:	33 c0                	xor    %eax,%eax
409732:	85 d2                	test   %edx,%edx
409734:	0f 94 c0             	sete   %al
409737:	8b d0                	mov    %eax,%edx
409739:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40973c:	83 c1 02             	add    $0x2,%ecx
40973f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
409742:	eb 90                	jmp    0x4096d4
409744:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409747:	8b 01                	mov    (%ecx),%eax
409749:	8b 00                	mov    (%eax),%eax
40974b:	89 45 dc             	mov    %eax,-0x24(%ebp)
40974e:	51                   	push   %ecx
40974f:	50                   	push   %eax
409750:	e8 d9 07 00 00       	call   0x409f2e
409755:	59                   	pop    %ecx
409756:	59                   	pop    %ecx
409757:	c3                   	ret
409758:	8b 65 e8             	mov    -0x18(%ebp),%esp
40975b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40975e:	a3 4c c2 40 00       	mov    %eax,0x40c24c
409763:	83 3d 64 c2 40 00 00 	cmpl   $0x0,0x40c264
40976a:	75 07                	jne    0x409773
40976c:	50                   	push   %eax
40976d:	ff 15 84 f1 40 00    	call   *0x40f184
409773:	83 3d 50 c2 40 00 00 	cmpl   $0x0,0x40c250
40977a:	75 0b                	jne    0x409787
40977c:	ff 15 9c f1 40 00    	call   *0x40f19c
409782:	a1 4c c2 40 00       	mov    0x40c24c,%eax
409787:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40978e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409791:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409798:	59                   	pop    %ecx
409799:	5f                   	pop    %edi
40979a:	5e                   	pop    %esi
40979b:	5b                   	pop    %ebx
40979c:	c9                   	leave
40979d:	c3                   	ret
40979e:	8b ff                	mov    %edi,%edi
4097a0:	55                   	push   %ebp
4097a1:	8b ec                	mov    %esp,%ebp
4097a3:	56                   	push   %esi
4097a4:	8b 75 08             	mov    0x8(%ebp),%esi
4097a7:	33 c0                	xor    %eax,%eax
4097a9:	3b 75 0c             	cmp    0xc(%ebp),%esi
4097ac:	73 1e                	jae    0x4097cc
4097ae:	57                   	push   %edi
4097af:	85 c0                	test   %eax,%eax
4097b1:	75 18                	jne    0x4097cb
4097b3:	8b 3e                	mov    (%esi),%edi
4097b5:	85 ff                	test   %edi,%edi
4097b7:	74 0a                	je     0x4097c3
4097b9:	8b cf                	mov    %edi,%ecx
4097bb:	ff 15 20 f2 40 00    	call   *0x40f220
4097c1:	ff d7                	call   *%edi
4097c3:	83 c6 04             	add    $0x4,%esi
4097c6:	3b 75 0c             	cmp    0xc(%ebp),%esi
4097c9:	72 e4                	jb     0x4097af
4097cb:	5f                   	pop    %edi
4097cc:	5e                   	pop    %esi
4097cd:	5d                   	pop    %ebp
4097ce:	c3                   	ret
4097cf:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4097d4:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
4097db:	75 55                	jne    0x409832
4097dd:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
4097e3:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
4097ea:	45 00 00
4097ed:	75 43                	jne    0x409832
4097ef:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
4097f6:	ba 0b 01 00 00       	mov    $0x10b,%edx
4097fb:	66 3b c2             	cmp    %dx,%ax
4097fe:	74 1f                	je     0x40981f
409800:	ba 0b 02 00 00       	mov    $0x20b,%edx
409805:	66 3b c2             	cmp    %dx,%ax
409808:	75 28                	jne    0x409832
40980a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
409811:	76 1f                	jbe    0x409832
409813:	33 c0                	xor    %eax,%eax
409815:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
40981b:	0f 95 c0             	setne  %al
40981e:	c3                   	ret
40981f:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
409826:	76 0a                	jbe    0x409832
409828:	33 c0                	xor    %eax,%eax
40982a:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
409830:	eb e9                	jmp    0x40981b
409832:	33 c0                	xor    %eax,%eax
409834:	c3                   	ret
409835:	cc                   	int3
409836:	cc                   	int3
409837:	cc                   	int3
409838:	cc                   	int3
409839:	cc                   	int3
40983a:	cc                   	int3
40983b:	cc                   	int3
40983c:	cc                   	int3
40983d:	cc                   	int3
40983e:	cc                   	int3
40983f:	cc                   	int3
409840:	e8 f0 08 00 00       	call   0x40a135
409845:	e9 79 fd ff ff       	jmp    0x4095c3
40984a:	ff 25 04 f2 40 00    	jmp    *0x40f204
409850:	ff 25 00 f2 40 00    	jmp    *0x40f200
409856:	cc                   	int3
409857:	cc                   	int3
409858:	cc                   	int3
409859:	cc                   	int3
40985a:	cc                   	int3
40985b:	cc                   	int3
40985c:	cc                   	int3
40985d:	cc                   	int3
40985e:	cc                   	int3
40985f:	cc                   	int3
409860:	3b 0d e4 c1 40 00    	cmp    0x40c1e4,%ecx
409866:	75 03                	jne    0x40986b
409868:	c2 00 00             	ret    $0x0
40986b:	e9 e1 01 00 00       	jmp    0x409a51
409870:	6a 0c                	push   $0xc
409872:	68 b0 ae 40 00       	push   $0x40aeb0
409877:	e8 6c 09 00 00       	call   0x40a1e8
40987c:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
409880:	8b 5d 0c             	mov    0xc(%ebp),%ebx
409883:	8b c3                	mov    %ebx,%eax
409885:	8b 7d 10             	mov    0x10(%ebp),%edi
409888:	0f af c7             	imul   %edi,%eax
40988b:	8b 75 08             	mov    0x8(%ebp),%esi
40988e:	03 f0                	add    %eax,%esi
409890:	89 75 08             	mov    %esi,0x8(%ebp)
409893:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409897:	83 ef 01             	sub    $0x1,%edi
40989a:	89 7d 10             	mov    %edi,0x10(%ebp)
40989d:	78 15                	js     0x4098b4
40989f:	2b f3                	sub    %ebx,%esi
4098a1:	89 75 08             	mov    %esi,0x8(%ebp)
4098a4:	8b 4d 14             	mov    0x14(%ebp),%ecx
4098a7:	ff 15 20 f2 40 00    	call   *0x40f220
4098ad:	8b ce                	mov    %esi,%ecx