40356b:	75 f1                	jne    0x40355e
40356d:	8b 40 dc             	mov    -0x24(%eax),%eax
403570:	85 c0                	test   %eax,%eax
403572:	75 db                	jne    0x40354f
403574:	eb 18                	jmp    0x40358e
403576:	8a 1a                	mov    (%edx),%bl
403578:	eb eb                	jmp    0x403565
40357a:	b5 00                	mov    $0x0,%ch
40357c:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403580:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403583:	80 e3 df             	and    $0xdf,%bl
403586:	75 ee                	jne    0x403576
403588:	49                   	dec    %ecx
403589:	75 f1                	jne    0x40357c
40358b:	8b 46 02             	mov    0x2(%esi),%eax
40358e:	5f                   	pop    %edi
40358f:	5e                   	pop    %esi
403590:	5b                   	pop    %ebx
403591:	c3                   	ret
403592:	8b c0                	mov    %eax,%eax
403594:	53                   	push   %ebx
403595:	56                   	push   %esi
403596:	57                   	push   %edi
403597:	89 cf                	mov    %ecx,%edi
403599:	31 db                	xor    %ebx,%ebx
40359b:	31 c9                	xor    %ecx,%ecx
40359d:	eb 02                	jmp    0x4035a1
40359f:	8b 00                	mov    (%eax),%eax
4035a1:	8b 70 cc             	mov    -0x34(%eax),%esi
4035a4:	85 f6                	test   %esi,%esi
4035a6:	74 13                	je     0x4035bb
4035a8:	66 8b 0e             	mov    (%esi),%cx
4035ab:	83 c6 02             	add    $0x2,%esi
4035ae:	3b 56 02             	cmp    0x2(%esi),%edx
4035b1:	74 13                	je     0x4035c6
4035b3:	66 8b 1e             	mov    (%esi),%bx
4035b6:	01 de                	add    %ebx,%esi
4035b8:	49                   	dec    %ecx
4035b9:	75 f3                	jne    0x4035ae
4035bb:	8b 40 dc             	mov    -0x24(%eax),%eax
4035be:	85 c0                	test   %eax,%eax
4035c0:	75 dd                	jne    0x40359f
4035c2:	88 07                	mov    %al,(%edi)
4035c4:	eb 0a                	jmp    0x4035d0
4035c6:	83 c6 06             	add    $0x6,%esi
4035c9:	31 c9                	xor    %ecx,%ecx
4035cb:	8a 0e                	mov    (%esi),%cl
4035cd:	41                   	inc    %ecx
4035ce:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4035d0:	5f                   	pop    %edi
4035d1:	5e                   	pop    %esi
4035d2:	5b                   	pop    %ebx
4035d3:	c3                   	ret
4035d4:	53                   	push   %ebx
4035d5:	56                   	push   %esi
4035d6:	57                   	push   %edi
4035d7:	31 c9                	xor    %ecx,%ecx
4035d9:	31 ff                	xor    %edi,%edi
4035db:	8a 1a                	mov    (%edx),%bl
4035dd:	50                   	push   %eax
4035de:	8b 00                	mov    (%eax),%eax
4035e0:	8b 70 c8             	mov    -0x38(%eax),%esi
4035e3:	85 f6                	test   %esi,%esi
4035e5:	74 14                	je     0x4035fb
4035e7:	66 8b 3e             	mov    (%esi),%di
4035ea:	83 c6 06             	add    $0x6,%esi
4035ed:	8a 4e 06             	mov    0x6(%esi),%cl
4035f0:	38 d9                	cmp    %bl,%cl
4035f2:	74 18                	je     0x40360c
4035f4:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
4035f8:	4f                   	dec    %edi
4035f9:	75 f2                	jne    0x4035ed
4035fb:	8b 40 dc             	mov    -0x24(%eax),%eax
4035fe:	85 c0                	test   %eax,%eax
403600:	75 dc                	jne    0x4035de
403602:	5a                   	pop    %edx
403603:	eb 1b                	jmp    0x403620
403605:	8a 1a                	mov    (%edx),%bl
403607:	8a 4e 06             	mov    0x6(%esi),%cl
40360a:	eb e8                	jmp    0x4035f4
40360c:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403610:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403613:	80 e3 df             	and    $0xdf,%bl
403616:	75 ed                	jne    0x403605
403618:	49                   	dec    %ecx
403619:	75 f1                	jne    0x40360c
40361b:	8b 06                	mov    (%esi),%eax
40361d:	5a                   	pop    %edx
40361e:	01 d0                	add    %edx,%eax
403620:	5f                   	pop    %edi
403621:	5e                   	pop    %esi
403622:	5b                   	pop    %ebx
403623:	c3                   	ret
403624:	52                   	push   %edx
403625:	51                   	push   %ecx
403626:	53                   	push   %ebx
403627:	84 d2                	test   %dl,%dl
403629:	7c 03                	jl     0x40362e
40362b:	ff 50 f4             	call   *-0xc(%eax)
40362e:	31 d2                	xor    %edx,%edx
403630:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403634:	64 8b 1a             	mov    %fs:(%edx),%ebx
403637:	89 19                	mov    %ebx,(%ecx)
403639:	89 69 08             	mov    %ebp,0x8(%ecx)
40363c:	c7 41 04 4d 36 40 00 	movl   $0x40364d,0x4(%ecx)
403643:	89 41 0c             	mov    %eax,0xc(%ecx)
403646:	64 89 0a             	mov    %ecx,%fs:(%edx)
403649:	5b                   	pop    %ebx
40364a:	59                   	pop    %ecx
40364b:	5a                   	pop    %edx
40364c:	c3                   	ret
40364d:	e9 4e 01 00 00       	jmp    0x4037a0
403652:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403656:	8b 40 0c             	mov    0xc(%eax),%eax
403659:	85 c0                	test   %eax,%eax
40365b:	74 0e                	je     0x40366b
40365d:	8b 08                	mov    (%eax),%ecx
40365f:	b2 81                	mov    $0x81,%dl
403661:	50                   	push   %eax
403662:	ff 51 fc             	call   *-0x4(%ecx)
403665:	58                   	pop    %eax
403666:	e8 09 00 00 00       	call   0x403674
40366b:	e8 44 04 00 00       	call   0x403ab4
403670:	c3                   	ret
403671:	8d 40 00             	lea    0x0(%eax),%eax
403674:	8b 10                	mov    (%eax),%edx
403676:	ff 52 f8             	call   *-0x8(%edx)
403679:	c3                   	ret
40367a:	8b c0                	mov    %eax,%eax
40367c:	53                   	push   %ebx
40367d:	8b d8                	mov    %eax,%ebx
40367f:	8b c3                	mov    %ebx,%eax
403681:	8b 10                	mov    (%eax),%edx
403683:	ff 52 e4             	call   *-0x1c(%edx)
403686:	8b c3                	mov    %ebx,%eax
403688:	5b                   	pop    %ebx
403689:	c3                   	ret
40368a:	8b c0                	mov    %eax,%eax
40368c:	84 d2                	test   %dl,%dl
40368e:	7f 01                	jg     0x403691
403690:	c3                   	ret
403691:	50                   	push   %eax
403692:	52                   	push   %edx
403693:	8b 10                	mov    (%eax),%edx
403695:	ff 52 e8             	call   *-0x18(%edx)
403698:	5a                   	pop    %edx
403699:	58                   	pop    %eax
40369a:	c3                   	ret
40369b:	90                   	nop
40369c:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
4036a3:	76 11                	jbe    0x4036b6
4036a5:	6a 00                	push   $0x0
4036a7:	6a 00                	push   $0x0
4036a9:	6a 00                	push   $0x0
4036ab:	68 df fa ed 0e       	push   $0xeedfadf
4036b0:	ff 15 14 50 47 00    	call   *0x475014
4036b6:	c3                   	ret
4036b7:	90                   	nop
4036b8:	80 3d 28 90 46 00 00 	cmpb   $0x0,0x469028
4036bf:	74 17                	je     0x4036d8
4036c1:	50                   	push   %eax
4036c2:	50                   	push   %eax
4036c3:	52                   	push   %edx
4036c4:	54                   	push   %esp
4036c5:	6a 02                	push   $0x2
4036c7:	6a 00                	push   $0x0
4036c9:	68 e4 fa ed 0e       	push   $0xeedfae4
4036ce:	ff 15 14 50 47 00    	call   *0x475014
4036d4:	83 c4 08             	add    $0x8,%esp
4036d7:	58                   	pop    %eax
4036d8:	c3                   	ret
4036d9:	8d 40 00             	lea    0x0(%eax),%eax
4036dc:	54                   	push   %esp
4036dd:	6a 01                	push   $0x1
4036df:	6a 00                	push   $0x0
4036e1:	68 e0 fa ed 0e       	push   $0xeedfae0
4036e6:	ff 15 14 50 47 00    	call   *0x475014
4036ec:	83 c4 04             	add    $0x4,%esp
4036ef:	58                   	pop    %eax
4036f0:	c3                   	ret
4036f1:	8d 40 00             	lea    0x0(%eax),%eax
4036f4:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
4036fb:	76 09                	jbe    0x403706
4036fd:	50                   	push   %eax
4036fe:	ff 73 04             	push   0x4(%ebx)
403701:	e9 d6 ff ff ff       	jmp    0x4036dc
403706:	c3                   	ret
403707:	90                   	nop
403708:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
40370f:	76 07                	jbe    0x403718
403711:	50                   	push   %eax
403712:	53                   	push   %ebx
403713:	e9 c4 ff ff ff       	jmp    0x4036dc
403718:	c3                   	ret
403719:	8d 40 00             	lea    0x0(%eax),%eax
40371c:	85 c9                	test   %ecx,%ecx
40371e:	74 19                	je     0x403739
403720:	8b 41 01             	mov    0x1(%ecx),%eax
403723:	80 39 e9             	cmpb   $0xe9,(%ecx)
403726:	74 0c                	je     0x403734
403728:	80 39 eb             	cmpb   $0xeb,(%ecx)
40372b:	75 0c                	jne    0x403739
40372d:	0f be c0             	movsbl %al,%eax
403730:	41                   	inc    %ecx
403731:	41                   	inc    %ecx
403732:	eb 03                	jmp    0x403737
403734:	83 c1 05             	add    $0x5,%ecx
403737:	01 c1                	add    %eax,%ecx
403739:	c3                   	ret
40373a:	8b c0                	mov    %eax,%eax
40373c:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
403743:	76 1d                	jbe    0x403762
403745:	50                   	push   %eax
403746:	52                   	push   %edx
403747:	51                   	push   %ecx
403748:	e8 cf ff ff ff       	call   0x40371c
40374d:	51                   	push   %ecx
40374e:	54                   	push   %esp
40374f:	6a 01                	push   $0x1
403751:	6a 00                	push   $0x0
403753:	68 e1 fa ed 0e       	push   $0xeedfae1
403758:	ff 15 14 50 47 00    	call   *0x475014
40375e:	59                   	pop    %ecx
40375f:	59                   	pop    %ecx
403760:	5a                   	pop    %edx
403761:	58                   	pop    %eax
403762:	c3                   	ret
403763:	90                   	nop
403764:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
40376b:	76 12                	jbe    0x40377f
40376d:	52                   	push   %edx
40376e:	54                   	push   %esp
40376f:	6a 01                	push   $0x1
403771:	6a 00                	push   $0x0
403773:	68 e2 fa ed 0e       	push   $0xeedfae2
403778:	ff 15 14 50 47 00    	call   *0x475014
40377e:	5a                   	pop    %edx
40377f:	c3                   	ret
403780:	50                   	push   %eax
403781:	52                   	push   %edx
403782:	80 3d 28 90 46 00 01 	cmpb   $0x1,0x469028
403789:	76 10                	jbe    0x40379b
40378b:	54                   	push   %esp
40378c:	6a 02                	push   $0x2
40378e:	6a 00                	push   $0x0
403790:	68 e3 fa ed 0e       	push   $0xeedfae3
403795:	ff 15 14 50 47 00    	call   *0x475014
40379b:	5a                   	pop    %edx
40379c:	58                   	pop    %eax
40379d:	c3                   	ret
40379e:	8b c0                	mov    %eax,%eax
4037a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4037a4:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4037ab:	0f 85 13 01 00 00    	jne    0x4038c4
4037b1:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4037b7:	8b 50 18             	mov    0x18(%eax),%edx
4037ba:	8b 48 14             	mov    0x14(%eax),%ecx
4037bd:	74 6e                	je     0x40382d
4037bf:	fc                   	cld
4037c0:	e8 27 fa ff ff       	call   0x4031ec
4037c5:	8b 15 10 50 47 00    	mov    0x475010,%edx
4037cb:	85 d2                	test   %edx,%edx
4037cd:	0f 84 f1 00 00 00    	je     0x4038c4
4037d3:	ff d2                	call   *%edx
4037d5:	85 c0                	test   %eax,%eax
4037d7:	0f 84 e7 00 00 00    	je     0x4038c4
4037dd:	8b 54 24 0c          	mov    0xc(%esp),%edx
4037e1:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4037e5:	81 39 ce fa ef 0e    	cmpl   $0xeefface,(%ecx)
4037eb:	74 37                	je     0x403824
4037ed:	e8 c6 fe ff ff       	call   0x4036b8
4037f2:	80 3d 2c 90 46 00 00 	cmpb   $0x0,0x46902c
4037f9:	76 29                	jbe    0x403824
4037fb:	80 3d 28 90 46 00 00 	cmpb   $0x0,0x469028
403802:	77 20                	ja     0x403824
403804:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403808:	50                   	push   %eax
403809:	51                   	push   %ecx
40380a:	e8 35 da ff ff       	call   0x401244
40380f:	83 f8 00             	cmp    $0x0,%eax
403812:	58                   	pop    %eax
403813:	0f 84 ab 00 00 00    	je     0x4038c4
403819:	89 c2                	mov    %eax,%edx
40381b:	8b 44 24 04          	mov    0x4(%esp),%eax
40381f:	8b 48 0c             	mov    0xc(%eax),%ecx
403822:	eb 30                	jmp    0x403854
403824:	89 c2                	mov    %eax,%edx
403826:	8b 44 24 04          	mov    0x4(%esp),%eax
40382a:	8b 48 0c             	mov    0xc(%eax),%ecx
40382d:	80 3d 2c 90 46 00 01 	cmpb   $0x1,0x46902c
403834:	76 1e                	jbe    0x403854
403836:	80 3d 28 90 46 00 00 	cmpb   $0x0,0x469028
40383d:	77 15                	ja     0x403854
40383f:	50                   	push   %eax
403840:	8d 44 24 08          	lea    0x8(%esp),%eax
403844:	52                   	push   %edx
403845:	51                   	push   %ecx
403846:	50                   	push   %eax
403847:	e8 f8 d9 ff ff       	call   0x401244
40384c:	83 f8 00             	cmp    $0x0,%eax
40384f:	59                   	pop    %ecx
403850:	5a                   	pop    %edx
403851:	58                   	pop    %eax
403852:	74 70                	je     0x4038c4
403854:	83 48 04 02          	orl    $0x2,0x4(%eax)
403858:	53                   	push   %ebx
403859:	31 db                	xor    %ebx,%ebx
40385b:	56                   	push   %esi
40385c:	57                   	push   %edi
40385d:	55                   	push   %ebp
40385e:	64 8b 1b             	mov    %fs:(%ebx),%ebx
403861:	53                   	push   %ebx
403862:	50                   	push   %eax
403863:	52                   	push   %edx
403864:	51                   	push   %ecx
403865:	8b 54 24 28          	mov    0x28(%esp),%edx
403869:	6a 00                	push   $0x0
40386b:	50                   	push   %eax
40386c:	68 78 38 40 00       	push   $0x403878
403871:	52                   	push   %edx
403872:	ff 15 18 50 47 00    	call   *0x475018
403878:	8b 7c 24 28          	mov    0x28(%esp),%edi
40387c:	e8 cf 27 00 00       	call   0x406050
403881:	ff b0 00 00 00 00    	push   0x0(%eax)
403887:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
40388d:	8b 6f 08             	mov    0x8(%edi),%ebp
403890:	8b 5f 04             	mov    0x4(%edi),%ebx
403893:	c7 47 04 a4 38 40 00 	movl   $0x4038a4,0x4(%edi)
40389a:	83 c3 05             	add    $0x5,%ebx
40389d:	e8 66 fe ff ff       	call   0x403708
4038a2:	ff e3                	jmp    *%ebx
4038a4:	e9 ab 01 00 00       	jmp    0x403a54
4038a9:	e8 a2 27 00 00       	call   0x406050
4038ae:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
4038b4:	8b 11                	mov    (%ecx),%edx
4038b6:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
4038bc:	8b 41 08             	mov    0x8(%ecx),%eax
4038bf:	e9 fc f9 ff ff       	jmp    0x4032c0
4038c4:	b8 01 00 00 00       	mov    $0x1,%eax
4038c9:	c3                   	ret
4038ca:	8b c0                	mov    %eax,%eax
4038cc:	8b 44 24 04          	mov    0x4(%esp),%eax
4038d0:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4038d7:	0f 85 6f 01 00 00    	jne    0x403a4c
4038dd:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4038e3:	74 1f                	je     0x403904
4038e5:	fc                   	cld
4038e6:	e8 01 f9 ff ff       	call   0x4031ec
4038eb:	8b 15 0c 50 47 00    	mov    0x47500c,%edx
4038f1:	85 d2                	test   %edx,%edx