4384cd:	56                   	push   %esi
4384ce:	57                   	push   %edi
4384cf:	83 c4 f0             	add    $0xfffffff0,%esp
4384d2:	8b f2                	mov    %edx,%esi
4384d4:	8d 3c 24             	lea    (%esp),%edi
4384d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384da:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4384db:	8b d8                	mov    %eax,%ebx
4384dd:	8b 43 0c             	mov    0xc(%ebx),%eax
4384e0:	8b 14 24             	mov    (%esp),%edx
4384e3:	3b c2                	cmp    %edx,%eax
4384e5:	7c 06                	jl     0x4384ed
4384e7:	3b 44 24 08          	cmp    0x8(%esp),%eax
4384eb:	7e 14                	jle    0x438501
4384ed:	2b d0                	sub    %eax,%edx
4384ef:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4384f3:	2b c8                	sub    %eax,%ecx
4384f5:	8b c1                	mov    %ecx,%eax
4384f7:	92                   	xchg   %eax,%edx
4384f8:	e8 ab ff ff ff       	call   0x4384a8
4384fd:	8b f0                	mov    %eax,%esi
4384ff:	eb 02                	jmp    0x438503
438501:	33 f6                	xor    %esi,%esi
438503:	8b 43 10             	mov    0x10(%ebx),%eax
438506:	8b 54 24 04          	mov    0x4(%esp),%edx
43850a:	3b c2                	cmp    %edx,%eax
43850c:	7c 06                	jl     0x438514
43850e:	3b 44 24 0c          	cmp    0xc(%esp),%eax
438512:	7e 12                	jle    0x438526
438514:	2b d0                	sub    %eax,%edx
438516:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43851a:	2b c8                	sub    %eax,%ecx
43851c:	8b c1                	mov    %ecx,%eax
43851e:	92                   	xchg   %eax,%edx
43851f:	e8 84 ff ff ff       	call   0x4384a8
438524:	eb 02                	jmp    0x438528
438526:	33 c0                	xor    %eax,%eax
438528:	85 f6                	test   %esi,%esi
43852a:	75 04                	jne    0x438530
43852c:	85 c0                	test   %eax,%eax
43852e:	74 0f                	je     0x43853f
438530:	f7 d8                	neg    %eax
438532:	50                   	push   %eax
438533:	f7 de                	neg    %esi
438535:	56                   	push   %esi
438536:	8d 43 44             	lea    0x44(%ebx),%eax
438539:	50                   	push   %eax
43853a:	e8 59 e2 fc ff       	call   0x406798
43853f:	83 c4 10             	add    $0x10,%esp
438542:	5f                   	pop    %edi
438543:	5e                   	pop    %esi
438544:	5b                   	pop    %ebx
438545:	c3                   	ret
438546:	8b c0                	mov    %eax,%eax
438548:	56                   	push   %esi
438549:	8b f0                	mov    %eax,%esi
43854b:	8b d6                	mov    %esi,%edx
43854d:	8b 46 38             	mov    0x38(%esi),%eax
438550:	66 be db ff          	mov    $0xffdb,%si
438554:	e8 0f af fc ff       	call   0x403468
438559:	5e                   	pop    %esi
43855a:	c3                   	ret
43855b:	90                   	nop
43855c:	56                   	push   %esi
43855d:	8b f0                	mov    %eax,%esi
43855f:	8b d6                	mov    %esi,%edx
438561:	8b 46 38             	mov    0x38(%esi),%eax
438564:	66 be da ff          	mov    $0xffda,%si
438568:	e8 fb ae fc ff       	call   0x403468
43856d:	5e                   	pop    %esi
43856e:	c3                   	ret
43856f:	90                   	nop
438570:	55                   	push   %ebp
438571:	8b ec                	mov    %esp,%ebp
438573:	33 c0                	xor    %eax,%eax
438575:	5d                   	pop    %ebp
438576:	c2 04 00             	ret    $0x4
438579:	8d 40 00             	lea    0x0(%eax),%eax
43857c:	b8 04 00 00 00       	mov    $0x4,%eax
438581:	c3                   	ret
438582:	8b c0                	mov    %eax,%eax
438584:	c3                   	ret
438585:	8d 40 00             	lea    0x0(%eax),%eax
438588:	55                   	push   %ebp
438589:	8b ec                	mov    %esp,%ebp
43858b:	83 c4 f0             	add    $0xfffffff0,%esp
43858e:	53                   	push   %ebx
43858f:	56                   	push   %esi
438590:	57                   	push   %edi
438591:	8b 5d 0c             	mov    0xc(%ebp),%ebx
438594:	8b 75 08             	mov    0x8(%ebp),%esi
438597:	8b fb                	mov    %ebx,%edi
438599:	3b 77 04             	cmp    0x4(%edi),%esi
43859c:	75 04                	jne    0x4385a2
43859e:	33 c0                	xor    %eax,%eax
4385a0:	eb 46                	jmp    0x4385e8
4385a2:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
4385a6:	75 20                	jne    0x4385c8
4385a8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4385ab:	50                   	push   %eax
4385ac:	56                   	push   %esi
4385ad:	e8 0e e1 fc ff       	call   0x4066c0
4385b2:	ff 77 10             	push   0x10(%edi)
4385b5:	ff 77 0c             	push   0xc(%edi)
4385b8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4385bb:	50                   	push   %eax
4385bc:	e8 f7 e1 fc ff       	call   0x4067b8
4385c1:	85 c0                	test   %eax,%eax
4385c3:	74 03                	je     0x4385c8
4385c5:	89 77 08             	mov    %esi,0x8(%edi)
4385c8:	8b d3                	mov    %ebx,%edx
4385ca:	3b 72 08             	cmp    0x8(%edx),%esi
4385cd:	75 08                	jne    0x4385d7
4385cf:	33 c0                	xor    %eax,%eax
4385d1:	c6 42 14 01          	movb   $0x1,0x14(%edx)
4385d5:	eb 11                	jmp    0x4385e8
4385d7:	3b 32                	cmp    (%edx),%esi
4385d9:	75 0a                	jne    0x4385e5
4385db:	83 c8 ff             	or     $0xffffffff,%eax
4385de:	33 c9                	xor    %ecx,%ecx
4385e0:	89 4a 08             	mov    %ecx,0x8(%edx)
4385e3:	eb 03                	jmp    0x4385e8
4385e5:	83 c8 ff             	or     $0xffffffff,%eax
4385e8:	5f                   	pop    %edi
4385e9:	5e                   	pop    %esi
4385ea:	5b                   	pop    %ebx
4385eb:	8b e5                	mov    %ebp,%esp
4385ed:	5d                   	pop    %ebp
4385ee:	c2 08 00             	ret    $0x8
4385f1:	8d 40 00             	lea    0x0(%eax),%eax
4385f4:	55                   	push   %ebp
4385f5:	8b ec                	mov    %esp,%ebp
4385f7:	83 c4 c4             	add    $0xffffffc4,%esp
4385fa:	53                   	push   %ebx
4385fb:	56                   	push   %esi
4385fc:	57                   	push   %edi
4385fd:	8b d8                	mov    %eax,%ebx
4385ff:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
438603:	8b 45 08             	mov    0x8(%ebp),%eax
438606:	83 c0 f7             	add    $0xfffffff7,%eax
438609:	e8 36 04 00 00       	call   0x438a44
43860e:	8b f0                	mov    %eax,%esi
438610:	89 75 ec             	mov    %esi,-0x14(%ebp)
438613:	6a 04                	push   $0x4
438615:	56                   	push   %esi
438616:	e8 85 e0 fc ff       	call   0x4066a0
43861b:	8b 15 0c 7f 46 00    	mov    0x467f0c,%edx
438621:	8b 12                	mov    (%edx),%edx
438623:	3b 42 30             	cmp    0x30(%edx),%eax
438626:	74 27                	je     0x43864f
438628:	8b 45 ec             	mov    -0x14(%ebp),%eax
43862b:	e8 dc f4 ff ff       	call   0x437b0c
438630:	8b f0                	mov    %eax,%esi
438632:	85 f6                	test   %esi,%esi
438634:	0f 84 48 01 00 00    	je     0x438782
43863a:	eb 02                	jmp    0x43863e
43863c:	8b f0                	mov    %eax,%esi
43863e:	8b 46 30             	mov    0x30(%esi),%eax
438641:	85 c0                	test   %eax,%eax
438643:	75 f7                	jne    0x43863c
438645:	8b c6                	mov    %esi,%eax
438647:	e8 10 8e 00 00       	call   0x44145c
43864c:	89 45 ec             	mov    %eax,-0x14(%ebp)
43864f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
438653:	0f 84 29 01 00 00    	je     0x438782
438659:	8b f3                	mov    %ebx,%esi
43865b:	eb 02                	jmp    0x43865f
43865d:	8b f0                	mov    %eax,%esi
43865f:	8b 46 30             	mov    0x30(%esi),%eax
438662:	85 c0                	test   %eax,%eax
438664:	75 f7                	jne    0x43865d
438666:	8b c6                	mov    %esi,%eax
438668:	e8 ef 8d 00 00       	call   0x44145c
43866d:	8b f8                	mov    %eax,%edi
43866f:	89 7d e8             	mov    %edi,-0x18(%ebp)
438672:	3b 7d ec             	cmp    -0x14(%ebp),%edi
438675:	0f 84 07 01 00 00    	je     0x438782
43867b:	8b 45 08             	mov    0x8(%ebp),%eax
43867e:	8b 40 f0             	mov    -0x10(%eax),%eax
438681:	8b 40 30             	mov    0x30(%eax),%eax
438684:	85 c0                	test   %eax,%eax
438686:	74 1c                	je     0x4386a4
438688:	8b 55 08             	mov    0x8(%ebp),%edx
43868b:	8b f0                	mov    %eax,%esi
43868d:	eb 02                	jmp    0x438691
43868f:	8b f0                	mov    %eax,%esi
438691:	8b 46 30             	mov    0x30(%esi),%eax
438694:	85 c0                	test   %eax,%eax
438696:	75 f7                	jne    0x43868f
438698:	8b c6                	mov    %esi,%eax
43869a:	e8 bd 8d 00 00       	call   0x44145c
43869f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4386a2:	eb 2a                	jmp    0x4386ce
4386a4:	8b 45 08             	mov    0x8(%ebp),%eax
4386a7:	8b 40 f0             	mov    -0x10(%eax),%eax
4386aa:	8b 15 28 6d 43 00    	mov    0x436d28,%edx
4386b0:	e8 43 ad fc ff       	call   0x4033f8
4386b5:	84 c0                	test   %al,%al
4386b7:	74 10                	je     0x4386c9
4386b9:	8b 45 08             	mov    0x8(%ebp),%eax
4386bc:	8b 40 f0             	mov    -0x10(%eax),%eax
4386bf:	e8 98 8d 00 00       	call   0x44145c
4386c4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4386c7:	eb 05                	jmp    0x4386ce
4386c9:	33 c0                	xor    %eax,%eax
4386cb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4386ce:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
4386d2:	8b 45 08             	mov    0x8(%ebp),%eax
4386d5:	8b 50 f7             	mov    -0x9(%eax),%edx
4386d8:	89 55 f0             	mov    %edx,-0x10(%ebp)
4386db:	8b 50 fb             	mov    -0x5(%eax),%edx
4386de:	89 55 f4             	mov    %edx,-0xc(%ebp)
4386e1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4386e4:	50                   	push   %eax
4386e5:	68 88 85 43 00       	push   $0x438588
4386ea:	e8 69 d9 fc ff       	call   0x406058
4386ef:	50                   	push   %eax
4386f0:	e8 43 de fc ff       	call   0x406538
4386f5:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4386f9:	0f 84 83 00 00 00    	je     0x438782
4386ff:	8d 45 d4             	lea    -0x2c(%ebp),%eax
438702:	50                   	push   %eax
438703:	8b 45 ec             	mov    -0x14(%ebp),%eax
438706:	50                   	push   %eax
438707:	e8 b4 df fc ff       	call   0x4066c0
43870c:	8b 45 08             	mov    0x8(%ebp),%eax
43870f:	83 c0 f7             	add    $0xfffffff7,%eax
438712:	50                   	push   %eax
438713:	8b 45 08             	mov    0x8(%ebp),%eax
438716:	48                   	dec    %eax
438717:	50                   	push   %eax
438718:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43871b:	8b 45 08             	mov    0x8(%ebp),%eax
43871e:	8b 50 f0             	mov    -0x10(%eax),%edx
438721:	8b c3                	mov    %ebx,%eax
438723:	66 be bd ff          	mov    $0xffbd,%si
438727:	e8 3c ad fc ff       	call   0x403468
43872c:	a1 38 9b 46 00       	mov    0x469b38,%eax
438731:	8b 15 a8 59 43 00    	mov    0x4359a8,%edx
438737:	e8 bc ac fc ff       	call   0x4033f8
43873c:	84 c0                	test   %al,%al
43873e:	74 29                	je     0x438769
438740:	a1 38 9b 46 00       	mov    0x469b38,%eax
438745:	8b 40 38             	mov    0x38(%eax),%eax
438748:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
43874f:	74 18                	je     0x438769
438751:	a1 38 9b 46 00       	mov    0x469b38,%eax
438756:	8b 40 38             	mov    0x38(%eax),%eax
438759:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
43875f:	e8 f8 8c 00 00       	call   0x44145c
438764:	3b 45 ec             	cmp    -0x14(%ebp),%eax
438767:	74 19                	je     0x438782
438769:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43876c:	50                   	push   %eax
43876d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
438770:	50                   	push   %eax
438771:	8d 45 d4             	lea    -0x2c(%ebp),%eax
438774:	50                   	push   %eax
438775:	e8 7e df fc ff       	call   0x4066f8
43877a:	85 c0                	test   %eax,%eax
43877c:	74 04                	je     0x438782
43877e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
438782:	8a 45 ff             	mov    -0x1(%ebp),%al
438785:	5f                   	pop    %edi
438786:	5e                   	pop    %esi
438787:	5b                   	pop    %ebx
438788:	8b e5                	mov    %ebp,%esp
43878a:	5d                   	pop    %ebp
43878b:	c3                   	ret
43878c:	55                   	push   %ebp
43878d:	8b ec                	mov    %esp,%ebp
43878f:	8b 45 08             	mov    0x8(%ebp),%eax
438792:	8b 40 f0             	mov    -0x10(%eax),%eax
438795:	8b 15 28 6d 43 00    	mov    0x436d28,%edx
43879b:	e8 58 ac fc ff       	call   0x4033f8
4387a0:	84 c0                	test   %al,%al
4387a2:	74 25                	je     0x4387c9
4387a4:	8b 45 08             	mov    0x8(%ebp),%eax
4387a7:	8b 40 ec             	mov    -0x14(%eax),%eax
4387aa:	e8 ad 8c 00 00       	call   0x44145c
4387af:	50                   	push   %eax
4387b0:	8b 45 08             	mov    0x8(%ebp),%eax
4387b3:	8b 40 f0             	mov    -0x10(%eax),%eax
4387b6:	e8 a1 8c 00 00       	call   0x44145c
4387bb:	50                   	push   %eax
4387bc:	e8 47 df fc ff       	call   0x406708
4387c1:	83 f8 01             	cmp    $0x1,%eax
4387c4:	1b c0                	sbb    %eax,%eax
4387c6:	40                   	inc    %eax
4387c7:	5d                   	pop    %ebp
4387c8:	c3                   	ret
4387c9:	33 c0                	xor    %eax,%eax
4387cb:	5d                   	pop    %ebp
4387cc:	c3                   	ret
4387cd:	8d 40 00             	lea    0x0(%eax),%eax
4387d0:	55                   	push   %ebp
4387d1:	8b ec                	mov    %esp,%ebp
4387d3:	83 c4 d8             	add    $0xffffffd8,%esp
4387d6:	53                   	push   %ebx
4387d7:	56                   	push   %esi
4387d8:	57                   	push   %edi
4387d9:	8b f0                	mov    %eax,%esi
4387db:	8d 7d f7             	lea    -0x9(%ebp),%edi
4387de:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4387df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4387e0:	89 55 f0             	mov    %edx,-0x10(%ebp)
4387e3:	33 c0                	xor    %eax,%eax
4387e5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4387e8:	83 3d 5c 9b 46 00 00 	cmpl   $0x0,0x469b5c
4387ef:	0f 84 2a 01 00 00    	je     0x43891f
4387f5:	6a 11                	push   $0x11
4387f7:	e8 ec dd fc ff       	call   0x4065e8
4387fc:	66 a9 00 80          	test   $0x8000,%ax
438800:	0f 95 c0             	setne  %al
438803:	8b 15 0c 7f 46 00    	mov    0x467f0c,%edx
438809:	8b 12                	mov    (%edx),%edx
43880b:	32 82 b4 00 00 00    	xor    0xb4(%edx),%al
438811:	0f 84 08 01 00 00    	je     0x43891f
438817:	a1 60 9b 46 00       	mov    0x469b60,%eax
43881c:	8b 10                	mov    (%eax),%edx
43881e:	ff 52 08             	call   *0x8(%edx)
438821:	a1 5c 9b 46 00       	mov    0x469b5c,%eax
438826:	8b 58 08             	mov    0x8(%eax),%ebx
438829:	4b                   	dec    %ebx
43882a:	85 db                	test   %ebx,%ebx
43882c:	0f 8c bc 00 00 00    	jl     0x4388ee
438832:	43                   	inc    %ebx
438833:	33 ff                	xor    %edi,%edi
438835:	8b d7                	mov    %edi,%edx
438837:	a1 5c 9b 46 00       	mov    0x469b5c,%eax
43883c:	e8 4b b5 fd ff       	call   0x413d8c
438841:	89 45 ec             	mov    %eax,-0x14(%ebp)
438844:	8b 45 ec             	mov    -0x14(%ebp),%eax
438847:	3b 45 f0             	cmp    -0x10(%ebp),%eax
43884a:	0f 84 96 00 00 00    	je     0x4388e6
438850:	8b 45 ec             	mov    -0x14(%ebp),%eax
438853:	80 b8 a6 01 00 00 00 	cmpb   $0x0,0x1a6(%eax)
43885a:	0f 84 86 00 00 00    	je     0x4388e6
438860:	8b 45 ec             	mov    -0x14(%ebp),%eax
438863:	8b 10                	mov    (%eax),%edx
438865:	ff 52 50             	call   *0x50(%edx)
438868:	84 c0                	test   %al,%al
43886a:	74 7a                	je     0x4388e6
43886c:	8b 45 ec             	mov    -0x14(%ebp),%eax
43886f:	e8 e8 8b 00 00       	call   0x44145c
438874:	50                   	push   %eax
438875:	e8 be de fc ff       	call   0x406738
43887a:	85 c0                	test   %eax,%eax