4036e8:	53                   	push   %ebx
4036e9:	56                   	push   %esi
4036ea:	57                   	push   %edi
4036eb:	31 c9                	xor    %ecx,%ecx
4036ed:	31 ff                	xor    %edi,%edi
4036ef:	8a 1a                	mov    (%edx),%bl
4036f1:	50                   	push   %eax
4036f2:	8b 00                	mov    (%eax),%eax
4036f4:	8b 70 c8             	mov    -0x38(%eax),%esi
4036f7:	85 f6                	test   %esi,%esi
4036f9:	74 14                	je     0x40370f
4036fb:	66 8b 3e             	mov    (%esi),%di
4036fe:	83 c6 06             	add    $0x6,%esi
403701:	8a 4e 06             	mov    0x6(%esi),%cl
403704:	38 d9                	cmp    %bl,%cl
403706:	74 18                	je     0x403720
403708:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
40370c:	4f                   	dec    %edi
40370d:	75 f2                	jne    0x403701
40370f:	8b 40 dc             	mov    -0x24(%eax),%eax
403712:	85 c0                	test   %eax,%eax
403714:	75 dc                	jne    0x4036f2
403716:	5a                   	pop    %edx
403717:	eb 1b                	jmp    0x403734
403719:	8a 1a                	mov    (%edx),%bl
40371b:	8a 4e 06             	mov    0x6(%esi),%cl
40371e:	eb e8                	jmp    0x403708
403720:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403724:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403727:	80 e3 df             	and    $0xdf,%bl
40372a:	75 ed                	jne    0x403719
40372c:	49                   	dec    %ecx
40372d:	75 f1                	jne    0x403720
40372f:	8b 06                	mov    (%esi),%eax
403731:	5a                   	pop    %edx
403732:	01 d0                	add    %edx,%eax
403734:	5f                   	pop    %edi
403735:	5e                   	pop    %esi
403736:	5b                   	pop    %ebx
403737:	c3                   	ret
403738:	52                   	push   %edx
403739:	51                   	push   %ecx
40373a:	53                   	push   %ebx
40373b:	84 d2                	test   %dl,%dl
40373d:	7c 03                	jl     0x403742
40373f:	ff 50 f4             	call   *-0xc(%eax)
403742:	31 d2                	xor    %edx,%edx
403744:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403748:	64 8b 1a             	mov    %fs:(%edx),%ebx
40374b:	89 19                	mov    %ebx,(%ecx)
40374d:	89 69 08             	mov    %ebp,0x8(%ecx)
403750:	c7 41 04 61 37 40 00 	movl   $0x403761,0x4(%ecx)
403757:	89 41 0c             	mov    %eax,0xc(%ecx)
40375a:	64 89 0a             	mov    %ecx,%fs:(%edx)
40375d:	5b                   	pop    %ebx
40375e:	59                   	pop    %ecx
40375f:	5a                   	pop    %edx
403760:	c3                   	ret
403761:	e9 4e 01 00 00       	jmp    0x4038b4
403766:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40376a:	8b 40 0c             	mov    0xc(%eax),%eax
40376d:	85 c0                	test   %eax,%eax
40376f:	74 0e                	je     0x40377f
403771:	8b 08                	mov    (%eax),%ecx
403773:	b2 81                	mov    $0x81,%dl
403775:	50                   	push   %eax
403776:	ff 51 fc             	call   *-0x4(%ecx)
403779:	58                   	pop    %eax
40377a:	e8 09 00 00 00       	call   0x403788
40377f:	e8 44 04 00 00       	call   0x403bc8
403784:	c3                   	ret
403785:	8d 40 00             	lea    0x0(%eax),%eax
403788:	8b 10                	mov    (%eax),%edx
40378a:	ff 52 f8             	call   *-0x8(%edx)
40378d:	c3                   	ret
40378e:	8b c0                	mov    %eax,%eax
403790:	53                   	push   %ebx
403791:	8b d8                	mov    %eax,%ebx
403793:	8b c3                	mov    %ebx,%eax
403795:	8b 10                	mov    (%eax),%edx
403797:	ff 52 e4             	call   *-0x1c(%edx)
40379a:	8b c3                	mov    %ebx,%eax
40379c:	5b                   	pop    %ebx
40379d:	c3                   	ret
40379e:	8b c0                	mov    %eax,%eax
4037a0:	84 d2                	test   %dl,%dl
4037a2:	7f 01                	jg     0x4037a5
4037a4:	c3                   	ret
4037a5:	50                   	push   %eax
4037a6:	52                   	push   %edx
4037a7:	8b 10                	mov    (%eax),%edx
4037a9:	ff 52 e8             	call   *-0x18(%edx)
4037ac:	5a                   	pop    %edx
4037ad:	58                   	pop    %eax
4037ae:	c3                   	ret
4037af:	90                   	nop
4037b0:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
4037b7:	76 11                	jbe    0x4037ca
4037b9:	6a 00                	push   $0x0
4037bb:	6a 00                	push   $0x0
4037bd:	6a 00                	push   $0x0
4037bf:	68 df fa ed 0e       	push   $0xeedfadf
4037c4:	ff 15 14 c0 49 00    	call   *0x49c014
4037ca:	c3                   	ret
4037cb:	90                   	nop
4037cc:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
4037d3:	74 17                	je     0x4037ec
4037d5:	50                   	push   %eax
4037d6:	50                   	push   %eax
4037d7:	52                   	push   %edx
4037d8:	54                   	push   %esp
4037d9:	6a 02                	push   $0x2
4037db:	6a 00                	push   $0x0
4037dd:	68 e4 fa ed 0e       	push   $0xeedfae4
4037e2:	ff 15 14 c0 49 00    	call   *0x49c014
4037e8:	83 c4 08             	add    $0x8,%esp
4037eb:	58                   	pop    %eax
4037ec:	c3                   	ret
4037ed:	8d 40 00             	lea    0x0(%eax),%eax
4037f0:	54                   	push   %esp
4037f1:	6a 01                	push   $0x1
4037f3:	6a 00                	push   $0x0
4037f5:	68 e0 fa ed 0e       	push   $0xeedfae0
4037fa:	ff 15 14 c0 49 00    	call   *0x49c014
403800:	83 c4 04             	add    $0x4,%esp
403803:	58                   	pop    %eax
403804:	c3                   	ret
403805:	8d 40 00             	lea    0x0(%eax),%eax
403808:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
40380f:	76 09                	jbe    0x40381a
403811:	50                   	push   %eax
403812:	ff 73 04             	push   0x4(%ebx)
403815:	e9 d6 ff ff ff       	jmp    0x4037f0
40381a:	c3                   	ret
40381b:	90                   	nop
40381c:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
403823:	76 07                	jbe    0x40382c
403825:	50                   	push   %eax
403826:	53                   	push   %ebx
403827:	e9 c4 ff ff ff       	jmp    0x4037f0
40382c:	c3                   	ret
40382d:	8d 40 00             	lea    0x0(%eax),%eax
403830:	85 c9                	test   %ecx,%ecx
403832:	74 19                	je     0x40384d
403834:	8b 41 01             	mov    0x1(%ecx),%eax
403837:	80 39 e9             	cmpb   $0xe9,(%ecx)
40383a:	74 0c                	je     0x403848
40383c:	80 39 eb             	cmpb   $0xeb,(%ecx)
40383f:	75 0c                	jne    0x40384d
403841:	0f be c0             	movsbl %al,%eax
403844:	41                   	inc    %ecx
403845:	41                   	inc    %ecx
403846:	eb 03                	jmp    0x40384b
403848:	83 c1 05             	add    $0x5,%ecx
40384b:	01 c1                	add    %eax,%ecx
40384d:	c3                   	ret
40384e:	8b c0                	mov    %eax,%eax
403850:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
403857:	76 1d                	jbe    0x403876
403859:	50                   	push   %eax
40385a:	52                   	push   %edx
40385b:	51                   	push   %ecx
40385c:	e8 cf ff ff ff       	call   0x403830
403861:	51                   	push   %ecx
403862:	54                   	push   %esp
403863:	6a 01                	push   $0x1
403865:	6a 00                	push   $0x0
403867:	68 e1 fa ed 0e       	push   $0xeedfae1
40386c:	ff 15 14 c0 49 00    	call   *0x49c014
403872:	59                   	pop    %ecx
403873:	59                   	pop    %ecx
403874:	5a                   	pop    %edx
403875:	58                   	pop    %eax
403876:	c3                   	ret
403877:	90                   	nop
403878:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
40387f:	76 12                	jbe    0x403893
403881:	52                   	push   %edx
403882:	54                   	push   %esp
403883:	6a 01                	push   $0x1
403885:	6a 00                	push   $0x0
403887:	68 e2 fa ed 0e       	push   $0xeedfae2
40388c:	ff 15 14 c0 49 00    	call   *0x49c014
403892:	5a                   	pop    %edx
403893:	c3                   	ret
403894:	50                   	push   %eax
403895:	52                   	push   %edx
403896:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
40389d:	76 10                	jbe    0x4038af
40389f:	54                   	push   %esp
4038a0:	6a 02                	push   $0x2
4038a2:	6a 00                	push   $0x0
4038a4:	68 e3 fa ed 0e       	push   $0xeedfae3
4038a9:	ff 15 14 c0 49 00    	call   *0x49c014
4038af:	5a                   	pop    %edx
4038b0:	58                   	pop    %eax
4038b1:	c3                   	ret
4038b2:	8b c0                	mov    %eax,%eax
4038b4:	8b 44 24 04          	mov    0x4(%esp),%eax
4038b8:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4038bf:	0f 85 13 01 00 00    	jne    0x4039d8
4038c5:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4038cb:	8b 50 18             	mov    0x18(%eax),%edx
4038ce:	8b 48 14             	mov    0x14(%eax),%ecx
4038d1:	74 6e                	je     0x403941
4038d3:	fc                   	cld
4038d4:	e8 3f fa ff ff       	call   0x403318
4038d9:	8b 15 10 c0 49 00    	mov    0x49c010,%edx
4038df:	85 d2                	test   %edx,%edx
4038e1:	0f 84 f1 00 00 00    	je     0x4039d8
4038e7:	ff d2                	call   *%edx
4038e9:	85 c0                	test   %eax,%eax
4038eb:	0f 84 e7 00 00 00    	je     0x4039d8
4038f1:	8b 54 24 0c          	mov    0xc(%esp),%edx
4038f5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4038f9:	81 39 ce fa ef 0e    	cmpl   $0xeefface,(%ecx)
4038ff:	74 37                	je     0x403938
403901:	e8 c6 fe ff ff       	call   0x4037cc
403906:	80 3d 2c d0 48 00 00 	cmpb   $0x0,0x48d02c
40390d:	76 29                	jbe    0x403938
40390f:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403916:	77 20                	ja     0x403938
403918:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40391c:	50                   	push   %eax
40391d:	51                   	push   %ecx
40391e:	e8 a5 d9 ff ff       	call   0x4012c8
403923:	83 f8 00             	cmp    $0x0,%eax
403926:	58                   	pop    %eax
403927:	0f 84 ab 00 00 00    	je     0x4039d8
40392d:	89 c2                	mov    %eax,%edx
40392f:	8b 44 24 04          	mov    0x4(%esp),%eax
403933:	8b 48 0c             	mov    0xc(%eax),%ecx
403936:	eb 30                	jmp    0x403968
403938:	89 c2                	mov    %eax,%edx
40393a:	8b 44 24 04          	mov    0x4(%esp),%eax
40393e:	8b 48 0c             	mov    0xc(%eax),%ecx
403941:	80 3d 2c d0 48 00 01 	cmpb   $0x1,0x48d02c
403948:	76 1e                	jbe    0x403968
40394a:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403951:	77 15                	ja     0x403968
403953:	50                   	push   %eax
403954:	8d 44 24 08          	lea    0x8(%esp),%eax
403958:	52                   	push   %edx
403959:	51                   	push   %ecx
40395a:	50                   	push   %eax
40395b:	e8 68 d9 ff ff       	call   0x4012c8
403960:	83 f8 00             	cmp    $0x0,%eax
403963:	59                   	pop    %ecx
403964:	5a                   	pop    %edx
403965:	58                   	pop    %eax
403966:	74 70                	je     0x4039d8
403968:	83 48 04 02          	orl    $0x2,0x4(%eax)
40396c:	53                   	push   %ebx
40396d:	31 db                	xor    %ebx,%ebx
40396f:	56                   	push   %esi
403970:	57                   	push   %edi
403971:	55                   	push   %ebp
403972:	64 8b 1b             	mov    %fs:(%ebx),%ebx
403975:	53                   	push   %ebx
403976:	50                   	push   %eax
403977:	52                   	push   %edx
403978:	51                   	push   %ecx
403979:	8b 54 24 28          	mov    0x28(%esp),%edx
40397d:	6a 00                	push   $0x0
40397f:	50                   	push   %eax
403980:	68 8c 39 40 00       	push   $0x40398c
403985:	52                   	push   %edx
403986:	ff 15 18 c0 49 00    	call   *0x49c018
40398c:	8b 7c 24 28          	mov    0x28(%esp),%edi
403990:	e8 0f 2b 00 00       	call   0x4064a4
403995:	ff b0 00 00 00 00    	push   0x0(%eax)
40399b:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
4039a1:	8b 6f 08             	mov    0x8(%edi),%ebp
4039a4:	8b 5f 04             	mov    0x4(%edi),%ebx
4039a7:	c7 47 04 b8 39 40 00 	movl   $0x4039b8,0x4(%edi)
4039ae:	83 c3 05             	add    $0x5,%ebx
4039b1:	e8 66 fe ff ff       	call   0x40381c
4039b6:	ff e3                	jmp    *%ebx
4039b8:	e9 ab 01 00 00       	jmp    0x403b68
4039bd:	e8 e2 2a 00 00       	call   0x4064a4
4039c2:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
4039c8:	8b 11                	mov    (%ecx),%edx
4039ca:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
4039d0:	8b 41 08             	mov    0x8(%ecx),%eax
4039d3:	e9 14 fa ff ff       	jmp    0x4033ec
4039d8:	b8 01 00 00 00       	mov    $0x1,%eax
4039dd:	c3                   	ret
4039de:	8b c0                	mov    %eax,%eax
4039e0:	8b 44 24 04          	mov    0x4(%esp),%eax
4039e4:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4039eb:	0f 85 6f 01 00 00    	jne    0x403b60
4039f1:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4039f7:	74 1f                	je     0x403a18
4039f9:	fc                   	cld
4039fa:	e8 19 f9 ff ff       	call   0x403318
4039ff:	8b 15 0c c0 49 00    	mov    0x49c00c,%edx
403a05:	85 d2                	test   %edx,%edx
403a07:	0f 84 53 01 00 00    	je     0x403b60
403a0d:	ff d2                	call   *%edx
403a0f:	85 c0                	test   %eax,%eax
403a11:	75 0a                	jne    0x403a1d
403a13:	e9 48 01 00 00       	jmp    0x403b60
403a18:	8b 40 18             	mov    0x18(%eax),%eax
403a1b:	8b 00                	mov    (%eax),%eax
403a1d:	8b 54 24 08          	mov    0x8(%esp),%edx
403a21:	53                   	push   %ebx
403a22:	56                   	push   %esi
403a23:	57                   	push   %edi
403a24:	55                   	push   %ebp
403a25:	8b 4a 04             	mov    0x4(%edx),%ecx
403a28:	8b 59 05             	mov    0x5(%ecx),%ebx
403a2b:	8d 71 09             	lea    0x9(%ecx),%esi
403a2e:	89 c5                	mov    %eax,%ebp
403a30:	8b 06                	mov    (%esi),%eax
403a32:	85 c0                	test   %eax,%eax
403a34:	74 43                	je     0x403a79
403a36:	89 ef                	mov    %ebp,%edi
403a38:	eb 02                	jmp    0x403a3c
403a3a:	8b 3f                	mov    (%edi),%edi
403a3c:	8b 00                	mov    (%eax),%eax
403a3e:	39 f8                	cmp    %edi,%eax
403a40:	74 37                	je     0x403a79
403a42:	8b 48 d8             	mov    -0x28(%eax),%ecx
403a45:	3b 4f d8             	cmp    -0x28(%edi),%ecx
403a48:	75 17                	jne    0x403a61
403a4a:	8b 40 d4             	mov    -0x2c(%eax),%eax
403a4d:	8b 57 d4             	mov    -0x2c(%edi),%edx
403a50:	31 c9                	xor    %ecx,%ecx
403a52:	8a 08                	mov    (%eax),%cl
403a54:	3a 0a                	cmp    (%edx),%cl
403a56:	75 09                	jne    0x403a61
403a58:	40                   	inc    %eax
403a59:	42                   	inc    %edx
403a5a:	e8 9d f2 ff ff       	call   0x402cfc
403a5f:	74 18                	je     0x403a79
403a61:	8b 7f dc             	mov    -0x24(%edi),%edi
403a64:	8b 06                	mov    (%esi),%eax
403a66:	85 ff                	test   %edi,%edi
403a68:	75 d0                	jne    0x403a3a
403a6a:	83 c6 08             	add    $0x8,%esi
403a6d:	4b                   	dec    %ebx
403a6e:	75 c0                	jne    0x403a30
403a70:	5d                   	pop    %ebp
403a71:	5f                   	pop    %edi
403a72:	5e                   	pop    %esi
403a73:	5b                   	pop    %ebx
403a74:	e9 e7 00 00 00       	jmp    0x403b60
403a79:	8b 44 24 14          	mov    0x14(%esp),%eax
403a7d:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
403a83:	8b 50 18             	mov    0x18(%eax),%edx