4095d6:	c3                   	ret
4095d7:	8b ff                	mov    %edi,%edi
4095d9:	55                   	push   %ebp
4095da:	8b ec                	mov    %esp,%ebp
4095dc:	56                   	push   %esi
4095dd:	e8 40 14 00 00       	call   0x40aa22
4095e2:	8b 55 08             	mov    0x8(%ebp),%edx
4095e5:	8b f0                	mov    %eax,%esi
4095e7:	6a 00                	push   $0x0
4095e9:	58                   	pop    %eax
4095ea:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
4095f0:	f6 c1 02             	test   $0x2,%cl
4095f3:	0f 94 c0             	sete   %al
4095f6:	40                   	inc    %eax
4095f7:	83 fa ff             	cmp    $0xffffffff,%edx
4095fa:	74 33                	je     0x40962f
4095fc:	85 d2                	test   %edx,%edx
4095fe:	74 36                	je     0x409636
409600:	83 fa 01             	cmp    $0x1,%edx
409603:	74 1f                	je     0x409624
409605:	83 fa 02             	cmp    $0x2,%edx
409608:	74 15                	je     0x40961f
40960a:	e8 f8 e6 ff ff       	call   0x407d07
40960f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409615:	e8 14 e6 ff ff       	call   0x407c2e
40961a:	83 c8 ff             	or     $0xffffffff,%eax
40961d:	eb 17                	jmp    0x409636
40961f:	83 e1 fd             	and    $0xfffffffd,%ecx
409622:	eb 03                	jmp    0x409627
409624:	83 c9 02             	or     $0x2,%ecx
409627:	89 8e 50 03 00 00    	mov    %ecx,0x350(%esi)
40962d:	eb 07                	jmp    0x409636
40962f:	83 0d 20 38 42 00 ff 	orl    $0xffffffff,0x423820
409636:	5e                   	pop    %esi
409637:	5d                   	pop    %ebp
409638:	c3                   	ret
409639:	a1 9c 41 42 00       	mov    0x42419c,%eax
40963e:	c3                   	ret
40963f:	8b ff                	mov    %edi,%edi
409641:	55                   	push   %ebp
409642:	8b ec                	mov    %esp,%ebp
409644:	8b 45 08             	mov    0x8(%ebp),%eax
409647:	85 c0                	test   %eax,%eax
409649:	74 1a                	je     0x409665
40964b:	83 f8 01             	cmp    $0x1,%eax
40964e:	74 15                	je     0x409665
409650:	e8 b2 e6 ff ff       	call   0x407d07
409655:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40965b:	e8 ce e5 ff ff       	call   0x407c2e
409660:	83 c8 ff             	or     $0xffffffff,%eax
409663:	5d                   	pop    %ebp
409664:	c3                   	ret
409665:	b9 9c 41 42 00       	mov    $0x42419c,%ecx
40966a:	87 01                	xchg   %eax,(%ecx)
40966c:	5d                   	pop    %ebp
40966d:	c3                   	ret
40966e:	b8 a0 41 42 00       	mov    $0x4241a0,%eax
409673:	c3                   	ret
409674:	6a 0c                	push   $0xc
409676:	68 80 1c 42 00       	push   $0x421c80
40967b:	e8 60 ec 00 00       	call   0x4182e0
409680:	e8 9d 13 00 00       	call   0x40aa22
409685:	8b 70 0c             	mov    0xc(%eax),%esi
409688:	85 f6                	test   %esi,%esi
40968a:	74 1e                	je     0x4096aa
40968c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409690:	8b ce                	mov    %esi,%ecx
409692:	ff 15 a8 b1 41 00    	call   *0x41b1a8
409698:	ff d6                	call   *%esi
40969a:	eb 07                	jmp    0x4096a3
40969c:	33 c0                	xor    %eax,%eax
40969e:	40                   	inc    %eax
40969f:	c3                   	ret
4096a0:	8b 65 e8             	mov    -0x18(%ebp),%esp
4096a3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4096aa:	e8 32 01 00 00       	call   0x4097e1
4096af:	cc                   	int3
4096b0:	8b ff                	mov    %edi,%edi
4096b2:	55                   	push   %ebp
4096b3:	8b ec                	mov    %esp,%ebp
4096b5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4096b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4096bb:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
4096c1:	23 c1                	and    %ecx,%eax
4096c3:	56                   	push   %esi
4096c4:	8b 75 08             	mov    0x8(%ebp),%esi
4096c7:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
4096cc:	74 24                	je     0x4096f2
4096ce:	85 f6                	test   %esi,%esi
4096d0:	74 0d                	je     0x4096df
4096d2:	6a 00                	push   $0x0
4096d4:	6a 00                	push   $0x0
4096d6:	e8 b4 7b 00 00       	call   0x41128f
4096db:	59                   	pop    %ecx
4096dc:	59                   	pop    %ecx
4096dd:	89 06                	mov    %eax,(%esi)
4096df:	e8 23 e6 ff ff       	call   0x407d07
4096e4:	6a 16                	push   $0x16
4096e6:	5e                   	pop    %esi
4096e7:	89 30                	mov    %esi,(%eax)
4096e9:	e8 40 e5 ff ff       	call   0x407c2e
4096ee:	8b c6                	mov    %esi,%eax
4096f0:	eb 1a                	jmp    0x40970c
4096f2:	51                   	push   %ecx
4096f3:	ff 75 0c             	push   0xc(%ebp)
4096f6:	85 f6                	test   %esi,%esi
4096f8:	74 09                	je     0x409703
4096fa:	e8 90 7b 00 00       	call   0x41128f
4096ff:	89 06                	mov    %eax,(%esi)
409701:	eb 05                	jmp    0x409708
409703:	e8 87 7b 00 00       	call   0x41128f
409708:	59                   	pop    %ecx
409709:	59                   	pop    %ecx
40970a:	33 c0                	xor    %eax,%eax
40970c:	5e                   	pop    %esi
40970d:	5d                   	pop    %ebp
40970e:	c3                   	ret
40970f:	8b ff                	mov    %edi,%edi
409711:	55                   	push   %ebp
409712:	8b ec                	mov    %esp,%ebp
409714:	5d                   	pop    %ebp
409715:	e9 00 00 00 00       	jmp    0x40971a
40971a:	8b ff                	mov    %edi,%edi
40971c:	55                   	push   %ebp
40971d:	8b ec                	mov    %esp,%ebp
40971f:	56                   	push   %esi
409720:	8b 75 0c             	mov    0xc(%ebp),%esi
409723:	85 f6                	test   %esi,%esi
409725:	74 1b                	je     0x409742
409727:	6a e0                	push   $0xffffffe0
409729:	33 d2                	xor    %edx,%edx
40972b:	58                   	pop    %eax
40972c:	f7 f6                	div    %esi
40972e:	3b 45 10             	cmp    0x10(%ebp),%eax
409731:	73 0f                	jae    0x409742
409733:	e8 cf e5 ff ff       	call   0x407d07
409738:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
40973e:	33 c0                	xor    %eax,%eax
409740:	eb 42                	jmp    0x409784
409742:	53                   	push   %ebx
409743:	8b 5d 08             	mov    0x8(%ebp),%ebx
409746:	57                   	push   %edi
409747:	85 db                	test   %ebx,%ebx
409749:	74 0b                	je     0x409756
40974b:	53                   	push   %ebx
40974c:	e8 d9 7e 00 00       	call   0x41162a
409751:	59                   	pop    %ecx
409752:	8b f8                	mov    %eax,%edi
409754:	eb 02                	jmp    0x409758
409756:	33 ff                	xor    %edi,%edi
409758:	0f af 75 10          	imul   0x10(%ebp),%esi
40975c:	56                   	push   %esi
40975d:	53                   	push   %ebx
40975e:	e8 fa 7e 00 00       	call   0x41165d
409763:	8b d8                	mov    %eax,%ebx
409765:	59                   	pop    %ecx
409766:	59                   	pop    %ecx
409767:	85 db                	test   %ebx,%ebx
409769:	74 15                	je     0x409780
40976b:	3b fe                	cmp    %esi,%edi
40976d:	73 11                	jae    0x409780
40976f:	2b f7                	sub    %edi,%esi
409771:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
409774:	56                   	push   %esi
409775:	6a 00                	push   $0x0
409777:	50                   	push   %eax
409778:	e8 e3 b2 ff ff       	call   0x404a60
40977d:	83 c4 0c             	add    $0xc,%esp
409780:	5f                   	pop    %edi
409781:	8b c3                	mov    %ebx,%eax
409783:	5b                   	pop    %ebx
409784:	5e                   	pop    %esi
409785:	5d                   	pop    %ebp
409786:	c3                   	ret
409787:	8b ff                	mov    %edi,%edi
409789:	55                   	push   %ebp
40978a:	8b ec                	mov    %esp,%ebp
40978c:	8b 55 08             	mov    0x8(%ebp),%edx
40978f:	56                   	push   %esi
409790:	85 d2                	test   %edx,%edx
409792:	74 11                	je     0x4097a5
409794:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409797:	85 c9                	test   %ecx,%ecx
409799:	74 0a                	je     0x4097a5
40979b:	8b 75 10             	mov    0x10(%ebp),%esi
40979e:	85 f6                	test   %esi,%esi
4097a0:	75 17                	jne    0x4097b9
4097a2:	c6 02 00             	movb   $0x0,(%edx)
4097a5:	e8 5d e5 ff ff       	call   0x407d07
4097aa:	6a 16                	push   $0x16
4097ac:	5e                   	pop    %esi
4097ad:	89 30                	mov    %esi,(%eax)
4097af:	e8 7a e4 ff ff       	call   0x407c2e
4097b4:	8b c6                	mov    %esi,%eax
4097b6:	5e                   	pop    %esi
4097b7:	5d                   	pop    %ebp
4097b8:	c3                   	ret
4097b9:	57                   	push   %edi
4097ba:	8b fa                	mov    %edx,%edi
4097bc:	2b f2                	sub    %edx,%esi
4097be:	8a 04 3e             	mov    (%esi,%edi,1),%al
4097c1:	88 07                	mov    %al,(%edi)
4097c3:	47                   	inc    %edi
4097c4:	84 c0                	test   %al,%al
4097c6:	74 05                	je     0x4097cd
4097c8:	83 e9 01             	sub    $0x1,%ecx
4097cb:	75 f1                	jne    0x4097be
4097cd:	5f                   	pop    %edi
4097ce:	85 c9                	test   %ecx,%ecx
4097d0:	75 0b                	jne    0x4097dd
4097d2:	88 0a                	mov    %cl,(%edx)
4097d4:	e8 2e e5 ff ff       	call   0x407d07
4097d9:	6a 22                	push   $0x22
4097db:	eb cf                	jmp    0x4097ac
4097dd:	33 f6                	xor    %esi,%esi
4097df:	eb d3                	jmp    0x4097b4
4097e1:	e8 09 6e 00 00       	call   0x4105ef
4097e6:	85 c0                	test   %eax,%eax
4097e8:	74 08                	je     0x4097f2
4097ea:	6a 16                	push   $0x16
4097ec:	e8 59 6e 00 00       	call   0x41064a
4097f1:	59                   	pop    %ecx
4097f2:	f6 05 58 30 42 00 02 	testb  $0x2,0x423058
4097f9:	74 21                	je     0x40981c
4097fb:	6a 17                	push   $0x17
4097fd:	e8 92 a6 ff ff       	call   0x403e94
409802:	85 c0                	test   %eax,%eax
409804:	74 05                	je     0x40980b
409806:	6a 07                	push   $0x7
409808:	59                   	pop    %ecx
409809:	cd 29                	int    $0x29
40980b:	6a 01                	push   $0x1
40980d:	68 15 00 00 40       	push   $0x40000015
409812:	6a 03                	push   $0x3
409814:	e8 4b e2 ff ff       	call   0x407a64
409819:	83 c4 0c             	add    $0xc,%esp
40981c:	6a 03                	push   $0x3
40981e:	e8 ae ec ff ff       	call   0x4084d1
409823:	cc                   	int3
409824:	8b ff                	mov    %edi,%edi
409826:	55                   	push   %ebp
409827:	8b ec                	mov    %esp,%ebp
409829:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40982d:	74 2d                	je     0x40985c
40982f:	ff 75 08             	push   0x8(%ebp)
409832:	6a 00                	push   $0x0
409834:	ff 35 c4 46 42 00    	push   0x4246c4
40983a:	ff 15 78 b0 41 00    	call   *0x41b078
409840:	85 c0                	test   %eax,%eax
409842:	75 18                	jne    0x40985c
409844:	56                   	push   %esi
409845:	e8 bd e4 ff ff       	call   0x407d07
40984a:	8b f0                	mov    %eax,%esi
40984c:	ff 15 48 b0 41 00    	call   *0x41b048
409852:	50                   	push   %eax
409853:	e8 36 e4 ff ff       	call   0x407c8e
409858:	59                   	pop    %ecx
409859:	89 06                	mov    %eax,(%esi)
40985b:	5e                   	pop    %esi
40985c:	5d                   	pop    %ebp
40985d:	c3                   	ret
40985e:	8b ff                	mov    %edi,%edi
409860:	55                   	push   %ebp
409861:	8b ec                	mov    %esp,%ebp
409863:	56                   	push   %esi
409864:	8b 75 08             	mov    0x8(%ebp),%esi
409867:	83 fe e0             	cmp    $0xffffffe0,%esi
40986a:	77 30                	ja     0x40989c
40986c:	85 f6                	test   %esi,%esi
40986e:	75 17                	jne    0x409887
409870:	46                   	inc    %esi
409871:	eb 14                	jmp    0x409887
409873:	e8 c1 fd ff ff       	call   0x409639
409878:	85 c0                	test   %eax,%eax
40987a:	74 20                	je     0x40989c
40987c:	56                   	push   %esi
40987d:	e8 98 f9 ff ff       	call   0x40921a
409882:	59                   	pop    %ecx
409883:	85 c0                	test   %eax,%eax
409885:	74 15                	je     0x40989c
409887:	56                   	push   %esi
409888:	6a 00                	push   $0x0
40988a:	ff 35 c4 46 42 00    	push   0x4246c4
409890:	ff 15 74 b0 41 00    	call   *0x41b074
409896:	85 c0                	test   %eax,%eax
409898:	74 d9                	je     0x409873
40989a:	eb 0d                	jmp    0x4098a9
40989c:	e8 66 e4 ff ff       	call   0x407d07
4098a1:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4098a7:	33 c0                	xor    %eax,%eax
4098a9:	5e                   	pop    %esi
4098aa:	5d                   	pop    %ebp
4098ab:	c3                   	ret
4098ac:	8b ff                	mov    %edi,%edi
4098ae:	55                   	push   %ebp
4098af:	8b ec                	mov    %esp,%ebp
4098b1:	56                   	push   %esi
4098b2:	8b 75 08             	mov    0x8(%ebp),%esi
4098b5:	85 f6                	test   %esi,%esi
4098b7:	74 0c                	je     0x4098c5
4098b9:	6a e0                	push   $0xffffffe0
4098bb:	33 d2                	xor    %edx,%edx
4098bd:	58                   	pop    %eax
4098be:	f7 f6                	div    %esi
4098c0:	3b 45 0c             	cmp    0xc(%ebp),%eax
4098c3:	72 34                	jb     0x4098f9
4098c5:	0f af 75 0c          	imul   0xc(%ebp),%esi
4098c9:	85 f6                	test   %esi,%esi
4098cb:	75 17                	jne    0x4098e4
4098cd:	46                   	inc    %esi
4098ce:	eb 14                	jmp    0x4098e4
4098d0:	e8 64 fd ff ff       	call   0x409639
4098d5:	85 c0                	test   %eax,%eax
4098d7:	74 20                	je     0x4098f9
4098d9:	56                   	push   %esi
4098da:	e8 3b f9 ff ff       	call   0x40921a
4098df:	59                   	pop    %ecx
4098e0:	85 c0                	test   %eax,%eax
4098e2:	74 15                	je     0x4098f9
4098e4:	56                   	push   %esi
4098e5:	6a 08                	push   $0x8
4098e7:	ff 35 c4 46 42 00    	push   0x4246c4
4098ed:	ff 15 74 b0 41 00    	call   *0x41b074
4098f3:	85 c0                	test   %eax,%eax
4098f5:	74 d9                	je     0x4098d0
4098f7:	eb 0d                	jmp    0x409906
4098f9:	e8 09 e4 ff ff       	call   0x407d07
4098fe:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
409904:	33 c0                	xor    %eax,%eax
409906:	5e                   	pop    %esi
409907:	5d                   	pop    %ebp
409908:	c3                   	ret
409909:	8b ff                	mov    %edi,%edi
40990b:	55                   	push   %ebp
40990c:	8b ec                	mov    %esp,%ebp
40990e:	8b 45 08             	mov    0x8(%ebp),%eax
409911:	a8 04                	test   $0x4,%al
409913:	74 04                	je     0x409919
409915:	b0 01                	mov    $0x1,%al
409917:	5d                   	pop    %ebp
409918:	c3                   	ret
409919:	a8 01                	test   $0x1,%al
40991b:	74 1b                	je     0x409938
40991d:	83 e0 02             	and    $0x2,%eax
409920:	74 09                	je     0x40992b
409922:	81 7d 0c 00 00 00 80 	cmpl   $0x80000000,0xc(%ebp)
409929:	77 ea                	ja     0x409915
40992b:	85 c0                	test   %eax,%eax
40992d:	75 09                	jne    0x409938
40992f:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)