4035af:	89 41 0c             	mov    %eax,0xc(%ecx)
4035b2:	64 89 0a             	mov    %ecx,%fs:(%edx)
4035b5:	5b                   	pop    %ebx
4035b6:	59                   	pop    %ecx
4035b7:	5a                   	pop    %edx
4035b8:	c3                   	ret
4035b9:	e9 4e 01 00 00       	jmp    0x40370c
4035be:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4035c2:	8b 40 0c             	mov    0xc(%eax),%eax
4035c5:	85 c0                	test   %eax,%eax
4035c7:	74 0e                	je     0x4035d7
4035c9:	8b 08                	mov    (%eax),%ecx
4035cb:	b2 81                	mov    $0x81,%dl
4035cd:	50                   	push   %eax
4035ce:	ff 51 fc             	call   *-0x4(%ecx)
4035d1:	58                   	pop    %eax
4035d2:	e8 09 00 00 00       	call   0x4035e0
4035d7:	e8 44 04 00 00       	call   0x403a20
4035dc:	c3                   	ret
4035dd:	8d 40 00             	lea    0x0(%eax),%eax
4035e0:	8b 10                	mov    (%eax),%edx
4035e2:	ff 52 f8             	call   *-0x8(%edx)
4035e5:	c3                   	ret
4035e6:	8b c0                	mov    %eax,%eax
4035e8:	53                   	push   %ebx
4035e9:	8b d8                	mov    %eax,%ebx
4035eb:	8b c3                	mov    %ebx,%eax
4035ed:	8b 10                	mov    (%eax),%edx
4035ef:	ff 52 e4             	call   *-0x1c(%edx)
4035f2:	8b c3                	mov    %ebx,%eax
4035f4:	5b                   	pop    %ebx
4035f5:	c3                   	ret
4035f6:	8b c0                	mov    %eax,%eax
4035f8:	84 d2                	test   %dl,%dl
4035fa:	7f 01                	jg     0x4035fd
4035fc:	c3                   	ret
4035fd:	50                   	push   %eax
4035fe:	52                   	push   %edx
4035ff:	8b 10                	mov    (%eax),%edx
403601:	ff 52 e8             	call   *-0x18(%edx)
403604:	5a                   	pop    %edx
403605:	58                   	pop    %eax
403606:	c3                   	ret
403607:	90                   	nop
403608:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
40360f:	76 11                	jbe    0x403622
403611:	6a 00                	push   $0x0
403613:	6a 00                	push   $0x0
403615:	6a 00                	push   $0x0
403617:	68 df fa ed 0e       	push   $0xeedfadf
40361c:	ff 15 14 90 46 00    	call   *0x469014
403622:	c3                   	ret
403623:	90                   	nop
403624:	80 3d 28 d0 45 00 00 	cmpb   $0x0,0x45d028
40362b:	74 17                	je     0x403644
40362d:	50                   	push   %eax
40362e:	50                   	push   %eax
40362f:	52                   	push   %edx
403630:	54                   	push   %esp
403631:	6a 02                	push   $0x2
403633:	6a 00                	push   $0x0
403635:	68 e4 fa ed 0e       	push   $0xeedfae4
40363a:	ff 15 14 90 46 00    	call   *0x469014
403640:	83 c4 08             	add    $0x8,%esp
403643:	58                   	pop    %eax
403644:	c3                   	ret
403645:	8d 40 00             	lea    0x0(%eax),%eax
403648:	54                   	push   %esp
403649:	6a 01                	push   $0x1
40364b:	6a 00                	push   $0x0
40364d:	68 e0 fa ed 0e       	push   $0xeedfae0
403652:	ff 15 14 90 46 00    	call   *0x469014
403658:	83 c4 04             	add    $0x4,%esp
40365b:	58                   	pop    %eax
40365c:	c3                   	ret
40365d:	8d 40 00             	lea    0x0(%eax),%eax
403660:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
403667:	76 09                	jbe    0x403672
403669:	50                   	push   %eax
40366a:	ff 73 04             	push   0x4(%ebx)
40366d:	e9 d6 ff ff ff       	jmp    0x403648
403672:	c3                   	ret
403673:	90                   	nop
403674:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
40367b:	76 07                	jbe    0x403684
40367d:	50                   	push   %eax
40367e:	53                   	push   %ebx
40367f:	e9 c4 ff ff ff       	jmp    0x403648
403684:	c3                   	ret
403685:	8d 40 00             	lea    0x0(%eax),%eax
403688:	85 c9                	test   %ecx,%ecx
40368a:	74 19                	je     0x4036a5
40368c:	8b 41 01             	mov    0x1(%ecx),%eax
40368f:	80 39 e9             	cmpb   $0xe9,(%ecx)
403692:	74 0c                	je     0x4036a0
403694:	80 39 eb             	cmpb   $0xeb,(%ecx)
403697:	75 0c                	jne    0x4036a5
403699:	0f be c0             	movsbl %al,%eax
40369c:	41                   	inc    %ecx
40369d:	41                   	inc    %ecx
40369e:	eb 03                	jmp    0x4036a3
4036a0:	83 c1 05             	add    $0x5,%ecx
4036a3:	01 c1                	add    %eax,%ecx
4036a5:	c3                   	ret
4036a6:	8b c0                	mov    %eax,%eax
4036a8:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
4036af:	76 1d                	jbe    0x4036ce
4036b1:	50                   	push   %eax
4036b2:	52                   	push   %edx
4036b3:	51                   	push   %ecx
4036b4:	e8 cf ff ff ff       	call   0x403688
4036b9:	51                   	push   %ecx
4036ba:	54                   	push   %esp
4036bb:	6a 01                	push   $0x1
4036bd:	6a 00                	push   $0x0
4036bf:	68 e1 fa ed 0e       	push   $0xeedfae1
4036c4:	ff 15 14 90 46 00    	call   *0x469014
4036ca:	59                   	pop    %ecx
4036cb:	59                   	pop    %ecx
4036cc:	5a                   	pop    %edx
4036cd:	58                   	pop    %eax
4036ce:	c3                   	ret
4036cf:	90                   	nop
4036d0:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
4036d7:	76 12                	jbe    0x4036eb
4036d9:	52                   	push   %edx
4036da:	54                   	push   %esp
4036db:	6a 01                	push   $0x1
4036dd:	6a 00                	push   $0x0
4036df:	68 e2 fa ed 0e       	push   $0xeedfae2
4036e4:	ff 15 14 90 46 00    	call   *0x469014
4036ea:	5a                   	pop    %edx
4036eb:	c3                   	ret
4036ec:	50                   	push   %eax
4036ed:	52                   	push   %edx
4036ee:	80 3d 28 d0 45 00 01 	cmpb   $0x1,0x45d028
4036f5:	76 10                	jbe    0x403707
4036f7:	54                   	push   %esp
4036f8:	6a 02                	push   $0x2
4036fa:	6a 00                	push   $0x0
4036fc:	68 e3 fa ed 0e       	push   $0xeedfae3
403701:	ff 15 14 90 46 00    	call   *0x469014
403707:	5a                   	pop    %edx
403708:	58                   	pop    %eax
403709:	c3                   	ret
40370a:	8b c0                	mov    %eax,%eax
40370c:	8b 44 24 04          	mov    0x4(%esp),%eax
403710:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
403717:	0f 85 13 01 00 00    	jne    0x403830
40371d:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
403723:	8b 50 18             	mov    0x18(%eax),%edx
403726:	8b 48 14             	mov    0x14(%eax),%ecx
403729:	74 6e                	je     0x403799
40372b:	fc                   	cld
40372c:	e8 77 fa ff ff       	call   0x4031a8
403731:	8b 15 10 90 46 00    	mov    0x469010,%edx
403737:	85 d2                	test   %edx,%edx
403739:	0f 84 f1 00 00 00    	je     0x403830
40373f:	ff d2                	call   *%edx
403741:	85 c0                	test   %eax,%eax
403743:	0f 84 e7 00 00 00    	je     0x403830
403749:	8b 54 24 0c          	mov    0xc(%esp),%edx
40374d:	8b 4c 24 04          	mov    0x4(%esp),%ecx
403751:	81 39 ce fa ef 0e    	cmpl   $0xeefface,(%ecx)
403757:	74 37                	je     0x403790
403759:	e8 c6 fe ff ff       	call   0x403624
40375e:	80 3d 2c d0 45 00 00 	cmpb   $0x0,0x45d02c
403765:	76 29                	jbe    0x403790
403767:	80 3d 28 d0 45 00 00 	cmpb   $0x0,0x45d028
40376e:	77 20                	ja     0x403790
403770:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403774:	50                   	push   %eax
403775:	51                   	push   %ecx
403776:	e8 91 da ff ff       	call   0x40120c
40377b:	83 f8 00             	cmp    $0x0,%eax
40377e:	58                   	pop    %eax
40377f:	0f 84 ab 00 00 00    	je     0x403830
403785:	89 c2                	mov    %eax,%edx
403787:	8b 44 24 04          	mov    0x4(%esp),%eax
40378b:	8b 48 0c             	mov    0xc(%eax),%ecx
40378e:	eb 30                	jmp    0x4037c0
403790:	89 c2                	mov    %eax,%edx
403792:	8b 44 24 04          	mov    0x4(%esp),%eax
403796:	8b 48 0c             	mov    0xc(%eax),%ecx
403799:	80 3d 2c d0 45 00 01 	cmpb   $0x1,0x45d02c
4037a0:	76 1e                	jbe    0x4037c0
4037a2:	80 3d 28 d0 45 00 00 	cmpb   $0x0,0x45d028
4037a9:	77 15                	ja     0x4037c0
4037ab:	50                   	push   %eax
4037ac:	8d 44 24 08          	lea    0x8(%esp),%eax
4037b0:	52                   	push   %edx
4037b1:	51                   	push   %ecx
4037b2:	50                   	push   %eax
4037b3:	e8 54 da ff ff       	call   0x40120c
4037b8:	83 f8 00             	cmp    $0x0,%eax
4037bb:	59                   	pop    %ecx
4037bc:	5a                   	pop    %edx
4037bd:	58                   	pop    %eax
4037be:	74 70                	je     0x403830
4037c0:	83 48 04 02          	orl    $0x2,0x4(%eax)
4037c4:	53                   	push   %ebx
4037c5:	31 db                	xor    %ebx,%ebx
4037c7:	56                   	push   %esi
4037c8:	57                   	push   %edi
4037c9:	55                   	push   %ebp
4037ca:	64 8b 1b             	mov    %fs:(%ebx),%ebx
4037cd:	53                   	push   %ebx
4037ce:	50                   	push   %eax
4037cf:	52                   	push   %edx
4037d0:	51                   	push   %ecx
4037d1:	8b 54 24 28          	mov    0x28(%esp),%edx
4037d5:	6a 00                	push   $0x0
4037d7:	50                   	push   %eax
4037d8:	68 e4 37 40 00       	push   $0x4037e4
4037dd:	52                   	push   %edx
4037de:	ff 15 18 90 46 00    	call   *0x469018
4037e4:	8b 7c 24 28          	mov    0x28(%esp),%edi
4037e8:	e8 9f 25 00 00       	call   0x405d8c
4037ed:	ff b0 00 00 00 00    	push   0x0(%eax)
4037f3:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
4037f9:	8b 6f 08             	mov    0x8(%edi),%ebp
4037fc:	8b 5f 04             	mov    0x4(%edi),%ebx
4037ff:	c7 47 04 10 38 40 00 	movl   $0x403810,0x4(%edi)
403806:	83 c3 05             	add    $0x5,%ebx
403809:	e8 66 fe ff ff       	call   0x403674
40380e:	ff e3                	jmp    *%ebx
403810:	e9 ab 01 00 00       	jmp    0x4039c0
403815:	e8 72 25 00 00       	call   0x405d8c
40381a:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
403820:	8b 11                	mov    (%ecx),%edx
403822:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
403828:	8b 41 08             	mov    0x8(%ecx),%eax
40382b:	e9 3c fa ff ff       	jmp    0x40326c
403830:	b8 01 00 00 00       	mov    $0x1,%eax
403835:	c3                   	ret
403836:	8b c0                	mov    %eax,%eax
403838:	8b 44 24 04          	mov    0x4(%esp),%eax
40383c:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
403843:	0f 85 6f 01 00 00    	jne    0x4039b8
403849:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
40384f:	74 1f                	je     0x403870
403851:	fc                   	cld
403852:	e8 51 f9 ff ff       	call   0x4031a8
403857:	8b 15 0c 90 46 00    	mov    0x46900c,%edx
40385d:	85 d2                	test   %edx,%edx
40385f:	0f 84 53 01 00 00    	je     0x4039b8
403865:	ff d2                	call   *%edx
403867:	85 c0                	test   %eax,%eax
403869:	75 0a                	jne    0x403875
40386b:	e9 48 01 00 00       	jmp    0x4039b8
403870:	8b 40 18             	mov    0x18(%eax),%eax
403873:	8b 00                	mov    (%eax),%eax
403875:	8b 54 24 08          	mov    0x8(%esp),%edx
403879:	53                   	push   %ebx
40387a:	56                   	push   %esi
40387b:	57                   	push   %edi
40387c:	55                   	push   %ebp
40387d:	8b 4a 04             	mov    0x4(%edx),%ecx
403880:	8b 59 05             	mov    0x5(%ecx),%ebx
403883:	8d 71 09             	lea    0x9(%ecx),%esi
403886:	89 c5                	mov    %eax,%ebp
403888:	8b 06                	mov    (%esi),%eax
40388a:	85 c0                	test   %eax,%eax
40388c:	74 43                	je     0x4038d1
40388e:	89 ef                	mov    %ebp,%edi
403890:	eb 02                	jmp    0x403894
403892:	8b 3f                	mov    (%edi),%edi
403894:	8b 00                	mov    (%eax),%eax
403896:	39 f8                	cmp    %edi,%eax
403898:	74 37                	je     0x4038d1
40389a:	8b 48 d8             	mov    -0x28(%eax),%ecx
40389d:	3b 4f d8             	cmp    -0x28(%edi),%ecx
4038a0:	75 17                	jne    0x4038b9
4038a2:	8b 40 d4             	mov    -0x2c(%eax),%eax
4038a5:	8b 57 d4             	mov    -0x2c(%edi),%edx
4038a8:	31 c9                	xor    %ecx,%ecx
4038aa:	8a 08                	mov    (%eax),%cl
4038ac:	3a 0a                	cmp    (%edx),%cl
4038ae:	75 09                	jne    0x4038b9
4038b0:	40                   	inc    %eax
4038b1:	42                   	inc    %edx
4038b2:	e8 61 f3 ff ff       	call   0x402c18
4038b7:	74 18                	je     0x4038d1
4038b9:	8b 7f dc             	mov    -0x24(%edi),%edi
4038bc:	8b 06                	mov    (%esi),%eax
4038be:	85 ff                	test   %edi,%edi
4038c0:	75 d0                	jne    0x403892
4038c2:	83 c6 08             	add    $0x8,%esi
4038c5:	4b                   	dec    %ebx
4038c6:	75 c0                	jne    0x403888
4038c8:	5d                   	pop    %ebp
4038c9:	5f                   	pop    %edi
4038ca:	5e                   	pop    %esi
4038cb:	5b                   	pop    %ebx
4038cc:	e9 e7 00 00 00       	jmp    0x4039b8
4038d1:	8b 44 24 14          	mov    0x14(%esp),%eax
4038d5:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4038db:	8b 50 18             	mov    0x18(%eax),%edx
4038de:	8b 48 14             	mov    0x14(%eax),%ecx
4038e1:	74 41                	je     0x403924
4038e3:	ff 15 10 90 46 00    	call   *0x469010
4038e9:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4038ed:	e8 32 fd ff ff       	call   0x403624
4038f2:	80 3d 2c d0 45 00 00 	cmpb   $0x0,0x45d02c
4038f9:	76 1e                	jbe    0x403919
4038fb:	80 3d 28 d0 45 00 00 	cmpb   $0x0,0x45d028
403902:	77 15                	ja     0x403919
403904:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403908:	50                   	push   %eax
403909:	51                   	push   %ecx
40390a:	e8 fd d8 ff ff       	call   0x40120c
40390f:	83 f8 00             	cmp    $0x0,%eax
403912:	58                   	pop    %eax
403913:	0f 84 9f 00 00 00    	je     0x4039b8
403919:	89 c2                	mov    %eax,%edx
40391b:	8b 44 24 14          	mov    0x14(%esp),%eax
40391f:	8b 48 0c             	mov    0xc(%eax),%ecx
403922:	eb 27                	jmp    0x40394b
403924:	80 3d 2c d0 45 00 01 	cmpb   $0x1,0x45d02c
40392b:	76 1e                	jbe    0x40394b
40392d:	80 3d 28 d0 45 00 00 	cmpb   $0x0,0x45d028
403934:	77 15                	ja     0x40394b
403936:	50                   	push   %eax
403937:	8d 44 24 08          	lea    0x8(%esp),%eax
40393b:	52                   	push   %edx
40393c:	51                   	push   %ecx
40393d:	50                   	push   %eax
40393e:	e8 c9 d8 ff ff       	call   0x40120c
403943:	83 f8 00             	cmp    $0x0,%eax
403946:	59                   	pop    %ecx
403947:	5a                   	pop    %edx
403948:	58                   	pop    %eax
403949:	74 6d                	je     0x4039b8
40394b:	31 db                	xor    %ebx,%ebx
40394d:	64 8b 1b             	mov    %fs:(%ebx),%ebx
403950:	53                   	push   %ebx
403951:	50                   	push   %eax
403952:	52                   	push   %edx
403953:	51                   	push   %ecx
403954:	8b 54 24 28          	mov    0x28(%esp),%edx
403958:	83 48 04 02          	orl    $0x2,0x4(%eax)
40395c:	56                   	push   %esi
40395d:	6a 00                	push   $0x0
40395f:	50                   	push   %eax
403960:	68 6c 39 40 00       	push   $0x40396c
403965:	52                   	push   %edx
403966:	ff 15 18 90 46 00    	call   *0x469018
40396c:	5b                   	pop    %ebx
40396d:	8b 7c 24 28          	mov    0x28(%esp),%edi
403971:	e8 16 24 00 00       	call   0x405d8c