403631:	c3                   	ret
403632:	8b ff                	mov    %edi,%edi
403634:	55                   	push   %ebp
403635:	8b ec                	mov    %esp,%ebp
403637:	83 ec 1c             	sub    $0x1c,%esp
40363a:	53                   	push   %ebx
40363b:	56                   	push   %esi
40363c:	57                   	push   %edi
40363d:	a1 0c 80 40 00       	mov    0x40800c,%eax
403642:	bf 0c 80 40 00       	mov    $0x40800c,%edi
403647:	be 00 01 00 00       	mov    $0x100,%esi
40364c:	bb 88 24 40 00       	mov    $0x402488,%ebx
403651:	3b c7                	cmp    %edi,%eax
403653:	74 15                	je     0x40366a
403655:	85 70 1c             	test   %esi,0x1c(%eax)
403658:	74 10                	je     0x40366a
40365a:	ff 70 14             	push   0x14(%eax)
40365d:	8b d3                	mov    %ebx,%edx
40365f:	ff 70 10             	push   0x10(%eax)
403662:	6a 0a                	push   $0xa
403664:	59                   	pop    %ecx
403665:	e8 97 fd ff ff       	call   0x403401
40366a:	e8 f4 19 00 00       	call   0x405063
40366f:	84 c0                	test   %al,%al
403671:	0f 85 e8 00 00 00    	jne    0x40375f
403677:	6a 01                	push   $0x1
403679:	6a ff                	push   $0xffffffff
40367b:	ff 35 70 84 40 00    	push   0x408470
403681:	ff 15 9c 90 40 00    	call   *0x40909c
403687:	8b c8                	mov    %eax,%ecx
403689:	a1 0c 80 40 00       	mov    0x40800c,%eax
40368e:	3b c7                	cmp    %edi,%eax
403690:	74 32                	je     0x4036c4
403692:	85 70 1c             	test   %esi,0x1c(%eax)
403695:	74 14                	je     0x4036ab
403697:	51                   	push   %ecx
403698:	ff 70 14             	push   0x14(%eax)
40369b:	ff 70 10             	push   0x10(%eax)
40369e:	6a 10                	push   $0x10
4036a0:	59                   	pop    %ecx
4036a1:	e8 a1 fd ff ff       	call   0x403447
4036a6:	a1 0c 80 40 00       	mov    0x40800c,%eax
4036ab:	3b c7                	cmp    %edi,%eax
4036ad:	74 15                	je     0x4036c4
4036af:	85 70 1c             	test   %esi,0x1c(%eax)
4036b2:	74 10                	je     0x4036c4
4036b4:	ff 70 14             	push   0x14(%eax)
4036b7:	8b d3                	mov    %ebx,%edx
4036b9:	ff 70 10             	push   0x10(%eax)
4036bc:	6a 11                	push   $0x11
4036be:	59                   	pop    %ecx
4036bf:	e8 3d fd ff ff       	call   0x403401
4036c4:	5f                   	pop    %edi
4036c5:	5e                   	pop    %esi
4036c6:	5b                   	pop    %ebx
4036c7:	c9                   	leave
4036c8:	c3                   	ret
4036c9:	83 f8 01             	cmp    $0x1,%eax
4036cc:	0f 85 d6 00 00 00    	jne    0x4037a8
4036d2:	a1 0c 80 40 00       	mov    0x40800c,%eax
4036d7:	3b c7                	cmp    %edi,%eax
4036d9:	74 4f                	je     0x40372a
4036db:	85 70 1c             	test   %esi,0x1c(%eax)
4036de:	74 4a                	je     0x40372a
4036e0:	ff 70 14             	push   0x14(%eax)
4036e3:	8b d3                	mov    %ebx,%edx
4036e5:	ff 70 10             	push   0x10(%eax)
4036e8:	6a 0c                	push   $0xc
4036ea:	59                   	pop    %ecx
4036eb:	e8 11 fd ff ff       	call   0x403401
4036f0:	eb 38                	jmp    0x40372a
4036f2:	83 7d e8 12          	cmpl   $0x12,-0x18(%ebp)
4036f6:	74 49                	je     0x403741
4036f8:	a1 0c 80 40 00       	mov    0x40800c,%eax
4036fd:	3b c7                	cmp    %edi,%eax
4036ff:	74 15                	je     0x403716
403701:	85 70 1c             	test   %esi,0x1c(%eax)
403704:	74 10                	je     0x403716
403706:	ff 70 14             	push   0x14(%eax)
403709:	8b d3                	mov    %ebx,%edx
40370b:	ff 70 10             	push   0x10(%eax)
40370e:	6a 0e                	push   $0xe
403710:	59                   	pop    %ecx
403711:	e8 eb fc ff ff       	call   0x403401
403716:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403719:	50                   	push   %eax
40371a:	ff 15 2c a0 40 00    	call   *0x40a02c
403720:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403723:	50                   	push   %eax
403724:	ff 15 24 a0 40 00    	call   *0x40a024
40372a:	6a 01                	push   $0x1
40372c:	33 c0                	xor    %eax,%eax
40372e:	50                   	push   %eax
40372f:	50                   	push   %eax
403730:	50                   	push   %eax
403731:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403734:	50                   	push   %eax
403735:	ff 15 28 a0 40 00    	call   *0x40a028
40373b:	85 c0                	test   %eax,%eax
40373d:	75 b3                	jne    0x4036f2
40373f:	eb 1e                	jmp    0x40375f
403741:	a1 0c 80 40 00       	mov    0x40800c,%eax
403746:	3b c7                	cmp    %edi,%eax
403748:	74 15                	je     0x40375f
40374a:	85 70 1c             	test   %esi,0x1c(%eax)
40374d:	74 10                	je     0x40375f
40374f:	ff 70 14             	push   0x14(%eax)
403752:	8b d3                	mov    %ebx,%edx
403754:	ff 70 10             	push   0x10(%eax)
403757:	6a 0d                	push   $0xd
403759:	59                   	pop    %ecx
40375a:	e8 a2 fc ff ff       	call   0x403401
40375f:	68 ff 1c 00 00       	push   $0x1cff
403764:	6a ff                	push   $0xffffffff
403766:	6a 00                	push   $0x0
403768:	68 70 84 40 00       	push   $0x408470
40376d:	6a 01                	push   $0x1
40376f:	ff 15 34 a0 40 00    	call   *0x40a034
403775:	85 c0                	test   %eax,%eax
403777:	0f 85 4c ff ff ff    	jne    0x4036c9
40377d:	a1 0c 80 40 00       	mov    0x40800c,%eax
403782:	3b c7                	cmp    %edi,%eax
403784:	0f 84 3a ff ff ff    	je     0x4036c4
40378a:	85 70 1c             	test   %esi,0x1c(%eax)
40378d:	0f 84 18 ff ff ff    	je     0x4036ab
403793:	ff 70 14             	push   0x14(%eax)
403796:	8b d3                	mov    %ebx,%edx
403798:	ff 70 10             	push   0x10(%eax)
40379b:	6a 0b                	push   $0xb
40379d:	59                   	pop    %ecx
40379e:	e8 5e fc ff ff       	call   0x403401
4037a3:	e9 fe fe ff ff       	jmp    0x4036a6
4037a8:	a1 0c 80 40 00       	mov    0x40800c,%eax
4037ad:	3b c7                	cmp    %edi,%eax
4037af:	0f 84 0f ff ff ff    	je     0x4036c4
4037b5:	85 70 1c             	test   %esi,0x1c(%eax)
4037b8:	0f 84 ed fe ff ff    	je     0x4036ab
4037be:	ff 15 50 90 40 00    	call   *0x409050
4037c4:	50                   	push   %eax
4037c5:	a1 0c 80 40 00       	mov    0x40800c,%eax
4037ca:	ff 70 14             	push   0x14(%eax)
4037cd:	ff 70 10             	push   0x10(%eax)
4037d0:	6a 0f                	push   $0xf
4037d2:	e9 c9 fe ff ff       	jmp    0x4036a0
4037d7:	a1 68 84 40 00       	mov    0x408468,%eax
4037dc:	85 c0                	test   %eax,%eax
4037de:	74 0e                	je     0x4037ee
4037e0:	50                   	push   %eax
4037e1:	ff 15 28 90 40 00    	call   *0x409028
4037e7:	83 25 68 84 40 00 00 	andl   $0x0,0x408468
4037ee:	a1 64 84 40 00       	mov    0x408464,%eax
4037f3:	85 c0                	test   %eax,%eax
4037f5:	74 0e                	je     0x403805
4037f7:	50                   	push   %eax
4037f8:	ff 15 28 90 40 00    	call   *0x409028
4037fe:	83 25 64 84 40 00 00 	andl   $0x0,0x408464
403805:	33 c0                	xor    %eax,%eax
403807:	c3                   	ret
403808:	8b ff                	mov    %edi,%edi
40380a:	55                   	push   %ebp
40380b:	8b ec                	mov    %esp,%ebp
40380d:	81 ec 24 01 00 00    	sub    $0x124,%esp
403813:	a1 cc 80 40 00       	mov    0x4080cc,%eax
403818:	33 c5                	xor    %ebp,%eax
40381a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40381d:	57                   	push   %edi
40381e:	33 ff                	xor    %edi,%edi
403820:	57                   	push   %edi
403821:	57                   	push   %edi
403822:	ff 15 20 90 40 00    	call   *0x409020
403828:	85 c0                	test   %eax,%eax
40382a:	0f 88 d5 00 00 00    	js     0x403905
403830:	56                   	push   %esi
403831:	57                   	push   %edi
403832:	6a 40                	push   $0x40
403834:	57                   	push   %edi
403835:	6a 03                	push   $0x3
403837:	6a 02                	push   $0x2
403839:	57                   	push   %edi
40383a:	57                   	push   %edi
40383b:	6a ff                	push   $0xffffffff
40383d:	57                   	push   %edi
40383e:	ff 15 34 90 40 00    	call   *0x409034
403844:	8b f0                	mov    %eax,%esi
403846:	85 f6                	test   %esi,%esi
403848:	79 0b                	jns    0x403855
40384a:	ff 15 24 90 40 00    	call   *0x409024
403850:	e9 ad 00 00 00       	jmp    0x403902
403855:	68 18 01 00 00       	push   $0x118
40385a:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
403860:	57                   	push   %edi
403861:	50                   	push   %eax
403862:	e8 c0 18 00 00       	call   0x405127
403867:	83 c4 0c             	add    $0xc,%esp
40386a:	c7 85 e0 fe ff ff 1c 	movl   $0x11c,-0x120(%ebp)
403871:	01 00 00
403874:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
40387a:	50                   	push   %eax
40387b:	ff 15 b0 90 40 00    	call   *0x4090b0
403881:	83 bd e4 fe ff ff 05 	cmpl   $0x5,-0x11c(%ebp)
403888:	75 09                	jne    0x403893
40388a:	83 bd e8 fe ff ff 01 	cmpl   $0x1,-0x118(%ebp)
403891:	74 6f                	je     0x403902
403893:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
403899:	89 bd dc fe ff ff    	mov    %edi,-0x124(%ebp)
40389f:	50                   	push   %eax
4038a0:	68 04 21 40 00       	push   $0x402104
4038a5:	6a 01                	push   $0x1
4038a7:	57                   	push   %edi
4038a8:	68 14 21 40 00       	push   $0x402114
4038ad:	ff 15 2c 90 40 00    	call   *0x40902c
4038b3:	85 c0                	test   %eax,%eax
4038b5:	78 40                	js     0x4038f7
4038b7:	8b 85 dc fe ff ff    	mov    -0x124(%ebp),%eax
4038bd:	6a 01                	push   $0x1
4038bf:	6a 01                	push   $0x1
4038c1:	50                   	push   %eax
4038c2:	8b 08                	mov    (%eax),%ecx
4038c4:	8b 71 0c             	mov    0xc(%ecx),%esi
4038c7:	8b ce                	mov    %esi,%ecx
4038c9:	ff 15 5c 91 40 00    	call   *0x40915c
4038cf:	ff d6                	call   *%esi
4038d1:	8b 8d dc fe ff ff    	mov    -0x124(%ebp),%ecx
4038d7:	8b f8                	mov    %eax,%edi
4038d9:	51                   	push   %ecx
4038da:	8b 11                	mov    (%ecx),%edx
4038dc:	8b 72 08             	mov    0x8(%edx),%esi
4038df:	8b ce                	mov    %esi,%ecx
4038e1:	ff 15 5c 91 40 00    	call   *0x40915c
4038e7:	ff d6                	call   *%esi
4038e9:	85 ff                	test   %edi,%edi
4038eb:	79 06                	jns    0x4038f3
4038ed:	ff 15 24 90 40 00    	call   *0x409024
4038f3:	8b c7                	mov    %edi,%eax
4038f5:	eb 0d                	jmp    0x403904
4038f7:	ff 15 24 90 40 00    	call   *0x409024
4038fd:	be 0e 00 07 80       	mov    $0x8007000e,%esi
403902:	8b c6                	mov    %esi,%eax
403904:	5e                   	pop    %esi
403905:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403908:	33 cd                	xor    %ebp,%ecx
40390a:	5f                   	pop    %edi
40390b:	e8 e0 0f 00 00       	call   0x4048f0
403910:	c9                   	leave
403911:	c3                   	ret
403912:	8b ff                	mov    %edi,%edi
403914:	55                   	push   %ebp
403915:	8b ec                	mov    %esp,%ebp
403917:	51                   	push   %ecx
403918:	53                   	push   %ebx
403919:	33 db                	xor    %ebx,%ebx
40391b:	53                   	push   %ebx
40391c:	53                   	push   %ebx
40391d:	6a 08                	push   $0x8
40391f:	ff 15 00 90 40 00    	call   *0x409000
403925:	89 45 fc             	mov    %eax,-0x4(%ebp)
403928:	85 c0                	test   %eax,%eax
40392a:	74 12                	je     0x40393e
40392c:	c7 00 a4 15 40 00    	movl   $0x4015a4,(%eax)
403932:	89 58 04             	mov    %ebx,0x4(%eax)
403935:	f0 ff 05 c0 84 40 00 	lock incl 0x4084c0
40393c:	eb 02                	jmp    0x403940
40393e:	8b c3                	mov    %ebx,%eax
403940:	a3 60 84 40 00       	mov    %eax,0x408460
403945:	85 c0                	test   %eax,%eax
403947:	75 05                	jne    0x40394e
403949:	6a 0e                	push   $0xe
40394b:	58                   	pop    %eax
40394c:	eb 6d                	jmp    0x4039bb
40394e:	56                   	push   %esi
40394f:	57                   	push   %edi
403950:	68 68 84 40 00       	push   $0x408468
403955:	53                   	push   %ebx
403956:	6a 04                	push   $0x4
403958:	50                   	push   %eax
403959:	68 c8 24 40 00       	push   $0x4024c8
40395e:	ff 15 30 90 40 00    	call   *0x409030
403964:	8b f8                	mov    %eax,%edi
403966:	85 ff                	test   %edi,%edi
403968:	78 31                	js     0x40399b
40396a:	68 64 84 40 00       	push   $0x408464
40396f:	53                   	push   %ebx
403970:	6a 04                	push   $0x4
403972:	ff 35 60 84 40 00    	push   0x408460
403978:	68 b8 24 40 00       	push   $0x4024b8
40397d:	ff 15 30 90 40 00    	call   *0x409030
403983:	8b f8                	mov    %eax,%edi
403985:	85 ff                	test   %edi,%edi
403987:	79 2e                	jns    0x4039b7
403989:	ff 35 68 84 40 00    	push   0x408468
40398f:	ff 15 28 90 40 00    	call   *0x409028
403995:	89 1d 68 84 40 00    	mov    %ebx,0x408468
40399b:	8b 0d 60 84 40 00    	mov    0x408460,%ecx
4039a1:	51                   	push   %ecx
4039a2:	8b 11                	mov    (%ecx),%edx
4039a4:	8b 72 08             	mov    0x8(%edx),%esi
4039a7:	8b ce                	mov    %esi,%ecx
4039a9:	ff 15 5c 91 40 00    	call   *0x40915c
4039af:	ff d6                	call   *%esi
4039b1:	89 1d 60 84 40 00    	mov    %ebx,0x408460
4039b7:	8b c7                	mov    %edi,%eax
4039b9:	5f                   	pop    %edi
4039ba:	5e                   	pop    %esi
4039bb:	5b                   	pop    %ebx
4039bc:	c9                   	leave
4039bd:	c3                   	ret
4039be:	8b ff                	mov    %edi,%edi
4039c0:	55                   	push   %ebp
4039c1:	8b ec                	mov    %esp,%ebp
4039c3:	83 e4 f8             	and    $0xfffffff8,%esp
4039c6:	51                   	push   %ecx
4039c7:	53                   	push   %ebx
4039c8:	56                   	push   %esi
4039c9:	57                   	push   %edi
4039ca:	33 c0                	xor    %eax,%eax
4039cc:	33 db                	xor    %ebx,%ebx
4039ce:	50                   	push   %eax
4039cf:	50                   	push   %eax
4039d0:	43                   	inc    %ebx
4039d1:	53                   	push   %ebx
4039d2:	50                   	push   %eax
4039d3:	ff 15 5c 90 40 00    	call   *0x40905c
4039d9:	85 c0                	test   %eax,%eax
4039db:	75 0b                	jne    0x4039e8
4039dd:	ff 15 50 90 40 00    	call   *0x409050
4039e3:	e9 63 01 00 00       	jmp    0x403b4b
4039e8:	be 78 84 40 00       	mov    $0x408478,%esi
4039ed:	56                   	push   %esi
4039ee:	ff 15 90 90 40 00    	call   *0x409090
4039f4:	33 c9                	xor    %ecx,%ecx
4039f6:	88 1d a8 84 40 00    	mov    %bl,0x4084a8
4039fc:	33 c0                	xor    %eax,%eax
4039fe:	89 0d a0 84 40 00    	mov    %ecx,0x4084a0
403a04:	89 0d 90 84 40 00    	mov    %ecx,0x408490
403a0a:	88 0d a9 84 40 00    	mov    %cl,0x4084a9
403a10:	66 a3 aa 84 40 00    	mov    %ax,0x4084aa
403a16:	89 0d ac 84 40 00    	mov    %ecx,0x4084ac
403a1c:	c7 05 b8 84 40 00 98 	movl   $0x402498,0x4084b8
403a23:	24 40 00
403a26:	c7 05 0c 80 40 00 90 	movl   $0x408490,0x40800c
403a2d:	84 40 00
403a30:	e8 af fa ff ff       	call   0x4034e4
403a35:	a1 0c 80 40 00       	mov    0x40800c,%eax
403a3a:	3d 0c 80 40 00       	cmp    $0x40800c,%eax
403a3f:	74 1c                	je     0x403a5d
403a41:	f7 40 1c 00 01 00 00 	testl  $0x100,0x1c(%eax)
403a48:	74 13                	je     0x403a5d
403a4a:	ff 70 14             	push   0x14(%eax)
403a4d:	ba 88 24 40 00       	mov    $0x402488,%edx
403a52:	ff 70 10             	push   0x10(%eax)