403406:	c1 e9 02             	shr    $0x2,%ecx
403409:	49                   	dec    %ecx
40340a:	f3 ab                	rep stos %eax,%es:(%edi)
40340c:	59                   	pop    %ecx
40340d:	83 e1 03             	and    $0x3,%ecx
403410:	f3 aa                	rep stos %al,%es:(%edi)
403412:	89 d0                	mov    %edx,%eax
403414:	89 e2                	mov    %esp,%edx
403416:	8b 4b b8             	mov    -0x48(%ebx),%ecx
403419:	85 c9                	test   %ecx,%ecx
40341b:	74 01                	je     0x40341e
40341d:	51                   	push   %ecx
40341e:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403421:	85 db                	test   %ebx,%ebx
403423:	74 04                	je     0x403429
403425:	8b 1b                	mov    (%ebx),%ebx
403427:	eb ed                	jmp    0x403416
403429:	39 d4                	cmp    %edx,%esp
40342b:	74 1d                	je     0x40344a
40342d:	5b                   	pop    %ebx
40342e:	8b 0b                	mov    (%ebx),%ecx
403430:	83 c3 04             	add    $0x4,%ebx
403433:	8b 73 10             	mov    0x10(%ebx),%esi
403436:	85 f6                	test   %esi,%esi
403438:	74 06                	je     0x403440
40343a:	8b 7b 14             	mov    0x14(%ebx),%edi
40343d:	89 34 07             	mov    %esi,(%edi,%eax,1)
403440:	83 c3 1c             	add    $0x1c,%ebx
403443:	49                   	dec    %ecx
403444:	75 ed                	jne    0x403433
403446:	39 d4                	cmp    %edx,%esp
403448:	75 e3                	jne    0x40342d
40344a:	5f                   	pop    %edi
40344b:	5e                   	pop    %esi
40344c:	5b                   	pop    %ebx
40344d:	c3                   	ret
40344e:	8b c0                	mov    %eax,%eax
403450:	53                   	push   %ebx
403451:	56                   	push   %esi
403452:	89 c3                	mov    %eax,%ebx
403454:	89 c6                	mov    %eax,%esi
403456:	8b 36                	mov    (%esi),%esi
403458:	8b 56 c0             	mov    -0x40(%esi),%edx
40345b:	8b 76 dc             	mov    -0x24(%esi),%esi
40345e:	85 d2                	test   %edx,%edx
403460:	74 07                	je     0x403469
403462:	e8 65 17 00 00       	call   0x404bcc
403467:	89 d8                	mov    %ebx,%eax
403469:	85 f6                	test   %esi,%esi
40346b:	75 e9                	jne    0x403456
40346d:	5e                   	pop    %esi
40346e:	5b                   	pop    %ebx
40346f:	c3                   	ret
403470:	87 d1                	xchg   %edx,%ecx
403472:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
403478:	73 11                	jae    0x40348b
40347a:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
403480:	72 07                	jb     0x403489
403482:	0f bf c9             	movswl %cx,%ecx
403485:	03 08                	add    (%eax),%ecx
403487:	ff 21                	jmp    *(%ecx)
403489:	ff e1                	jmp    *%ecx
40348b:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
403491:	01 c1                	add    %eax,%ecx
403493:	89 d0                	mov    %edx,%eax
403495:	8b 11                	mov    (%ecx),%edx
403497:	e9 f0 28 00 00       	jmp    0x405d8c
40349c:	c3                   	ret
40349d:	8d 40 00             	lea    0x0(%eax),%eax
4034a0:	55                   	push   %ebp
4034a1:	8b ec                	mov    %esp,%ebp
4034a3:	83 c4 f8             	add    $0xfffffff8,%esp
4034a6:	53                   	push   %ebx
4034a7:	56                   	push   %esi
4034a8:	57                   	push   %edi
4034a9:	33 db                	xor    %ebx,%ebx
4034ab:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4034ae:	8b f1                	mov    %ecx,%esi
4034b0:	89 55 fc             	mov    %edx,-0x4(%ebp)
4034b3:	8b f8                	mov    %eax,%edi
4034b5:	33 c0                	xor    %eax,%eax
4034b7:	55                   	push   %ebp
4034b8:	68 24 35 40 00       	push   $0x403524
4034bd:	64 ff 30             	push   %fs:(%eax)
4034c0:	64 89 20             	mov    %esp,%fs:(%eax)
4034c3:	33 c0                	xor    %eax,%eax
4034c5:	89 06                	mov    %eax,(%esi)
4034c7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4034ca:	8b 07                	mov    (%edi),%eax
4034cc:	e8 63 00 00 00       	call   0x403534
4034d1:	8b d8                	mov    %eax,%ebx
4034d3:	85 db                	test   %ebx,%ebx
4034d5:	74 31                	je     0x403508
4034d7:	8b 43 14             	mov    0x14(%ebx),%eax
4034da:	85 c0                	test   %eax,%eax
4034dc:	74 13                	je     0x4034f1
4034de:	03 f8                	add    %eax,%edi
4034e0:	89 3e                	mov    %edi,(%esi)
4034e2:	83 3e 00             	cmpl   $0x0,(%esi)
4034e5:	74 21                	je     0x403508
4034e7:	8b 06                	mov    (%esi),%eax
4034e9:	50                   	push   %eax
4034ea:	8b 00                	mov    (%eax),%eax
4034ec:	ff 50 04             	call   *0x4(%eax)
4034ef:	eb 17                	jmp    0x403508
4034f1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4034f4:	8b 53 18             	mov    0x18(%ebx),%edx
4034f7:	8b c7                	mov    %edi,%eax
4034f9:	e8 72 ff ff ff       	call   0x403470
4034fe:	8b 55 f8             	mov    -0x8(%ebp),%edx
403501:	8b c6                	mov    %esi,%eax
403503:	e8 84 28 00 00       	call   0x405d8c
403508:	83 3e 00             	cmpl   $0x0,(%esi)
40350b:	0f 95 c3             	setne  %bl
40350e:	33 c0                	xor    %eax,%eax
403510:	5a                   	pop    %edx
403511:	59                   	pop    %ecx
403512:	59                   	pop    %ecx
403513:	64 89 10             	mov    %edx,%fs:(%eax)
403516:	68 2b 35 40 00       	push   $0x40352b
40351b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40351e:	e8 51 28 00 00       	call   0x405d74
403523:	c3                   	ret
403524:	e9 3f 06 00 00       	jmp    0x403b68
403529:	eb f0                	jmp    0x40351b
40352b:	8b c3                	mov    %ebx,%eax
40352d:	5f                   	pop    %edi
40352e:	5e                   	pop    %esi
40352f:	5b                   	pop    %ebx
403530:	59                   	pop    %ecx
403531:	59                   	pop    %ecx
403532:	5d                   	pop    %ebp
403533:	c3                   	ret
403534:	53                   	push   %ebx
403535:	56                   	push   %esi
403536:	89 c3                	mov    %eax,%ebx
403538:	8b 43 b8             	mov    -0x48(%ebx),%eax
40353b:	85 c0                	test   %eax,%eax
40353d:	74 29                	je     0x403568
40353f:	8b 08                	mov    (%eax),%ecx
403541:	83 c0 04             	add    $0x4,%eax
403544:	8b 32                	mov    (%edx),%esi
403546:	3b 30                	cmp    (%eax),%esi
403548:	75 18                	jne    0x403562
40354a:	8b 72 04             	mov    0x4(%edx),%esi
40354d:	3b 70 04             	cmp    0x4(%eax),%esi
403550:	75 10                	jne    0x403562
403552:	8b 72 08             	mov    0x8(%edx),%esi
403555:	3b 70 08             	cmp    0x8(%eax),%esi
403558:	75 08                	jne    0x403562
40355a:	8b 72 0c             	mov    0xc(%edx),%esi
40355d:	3b 70 0c             	cmp    0xc(%eax),%esi
403560:	74 13                	je     0x403575
403562:	83 c0 1c             	add    $0x1c,%eax
403565:	49                   	dec    %ecx
403566:	75 dc                	jne    0x403544
403568:	8b 5b dc             	mov    -0x24(%ebx),%ebx
40356b:	85 db                	test   %ebx,%ebx
40356d:	74 04                	je     0x403573
40356f:	8b 1b                	mov    (%ebx),%ebx
403571:	eb c5                	jmp    0x403538
403573:	31 c0                	xor    %eax,%eax
403575:	5e                   	pop    %esi
403576:	5b                   	pop    %ebx
403577:	c3                   	ret
403578:	53                   	push   %ebx
403579:	56                   	push   %esi
40357a:	8b f2                	mov    %edx,%esi
40357c:	8b d8                	mov    %eax,%ebx
40357e:	85 db                	test   %ebx,%ebx
403580:	74 0d                	je     0x40358f
403582:	8b d6                	mov    %esi,%edx
403584:	8b 03                	mov    (%ebx),%eax
403586:	e8 75 00 00 00       	call   0x403600
40358b:	84 c0                	test   %al,%al
40358d:	75 05                	jne    0x403594
40358f:	33 c0                	xor    %eax,%eax
403591:	5e                   	pop    %esi
403592:	5b                   	pop    %ebx
403593:	c3                   	ret
403594:	b0 01                	mov    $0x1,%al
403596:	5e                   	pop    %esi
403597:	5b                   	pop    %ebx
403598:	c3                   	ret
403599:	8d 40 00             	lea    0x0(%eax),%eax
40359c:	85 c0                	test   %eax,%eax
40359e:	74 16                	je     0x4035b6
4035a0:	89 c1                	mov    %eax,%ecx
4035a2:	8b 09                	mov    (%ecx),%ecx
4035a4:	39 d1                	cmp    %edx,%ecx
4035a6:	74 0e                	je     0x4035b6
4035a8:	8b 49 dc             	mov    -0x24(%ecx),%ecx
4035ab:	85 c9                	test   %ecx,%ecx
4035ad:	75 f3                	jne    0x4035a2
4035af:	b0 0a                	mov    $0xa,%al
4035b1:	e9 1e f3 ff ff       	jmp    0x4028d4
4035b6:	c3                   	ret
4035b7:	90                   	nop
4035b8:	57                   	push   %edi
4035b9:	96                   	xchg   %eax,%esi
4035ba:	eb 02                	jmp    0x4035be
4035bc:	8b 36                	mov    (%esi),%esi
4035be:	8b 7e d0             	mov    -0x30(%esi),%edi
4035c1:	85 ff                	test   %edi,%edi
4035c3:	74 0d                	je     0x4035d2
4035c5:	0f b7 0f             	movzwl (%edi),%ecx
4035c8:	51                   	push   %ecx
4035c9:	83 c7 02             	add    $0x2,%edi
4035cc:	f2 66 af             	repnz scas %es:(%edi),%ax
4035cf:	74 0a                	je     0x4035db
4035d1:	59                   	pop    %ecx
4035d2:	8b 76 dc             	mov    -0x24(%esi),%esi
4035d5:	85 f6                	test   %esi,%esi
4035d7:	75 e3                	jne    0x4035bc
4035d9:	5f                   	pop    %edi
4035da:	c3                   	ret
4035db:	58                   	pop    %eax
4035dc:	01 c0                	add    %eax,%eax
4035de:	29 c8                	sub    %ecx,%eax
4035e0:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
4035e4:	5f                   	pop    %edi
4035e5:	c3                   	ret
4035e6:	8b c0                	mov    %eax,%eax
4035e8:	50                   	push   %eax
4035e9:	51                   	push   %ecx
4035ea:	8b 00                	mov    (%eax),%eax
4035ec:	e8 c7 ff ff ff       	call   0x4035b8
4035f1:	59                   	pop    %ecx
4035f2:	58                   	pop    %eax
4035f3:	74 02                	je     0x4035f7
4035f5:	ff e6                	jmp    *%esi
4035f7:	59                   	pop    %ecx
4035f8:	e9 5b f5 ff ff       	jmp    0x402b58
4035fd:	c3                   	ret
4035fe:	8b c0                	mov    %eax,%eax
403600:	eb 02                	jmp    0x403604
403602:	8b 00                	mov    (%eax),%eax
403604:	39 d0                	cmp    %edx,%eax
403606:	74 08                	je     0x403610
403608:	8b 40 dc             	mov    -0x24(%eax),%eax
40360b:	85 c0                	test   %eax,%eax
40360d:	75 f3                	jne    0x403602
40360f:	c3                   	ret
403610:	b0 01                	mov    $0x1,%al
403612:	c3                   	ret
403613:	90                   	nop
403614:	83 c0 c4             	add    $0xffffffc4,%eax
403617:	8b 00                	mov    (%eax),%eax
403619:	c3                   	ret
40361a:	8b c0                	mov    %eax,%eax
40361c:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
403621:	c3                   	ret
403622:	8b c0                	mov    %eax,%eax
403624:	c3                   	ret
403625:	8d 40 00             	lea    0x0(%eax),%eax
403628:	c3                   	ret
403629:	8d 40 00             	lea    0x0(%eax),%eax
40362c:	c3                   	ret
40362d:	8d 40 00             	lea    0x0(%eax),%eax
403630:	56                   	push   %esi
403631:	66 8b 32             	mov    (%edx),%si
403634:	66 09 f6             	or     %si,%si
403637:	74 17                	je     0x403650
403639:	66 81 fe 00 c0       	cmp    $0xc000,%si
40363e:	73 10                	jae    0x403650
403640:	50                   	push   %eax
403641:	8b 00                	mov    (%eax),%eax
403643:	e8 70 ff ff ff       	call   0x4035b8
403648:	58                   	pop    %eax
403649:	74 05                	je     0x403650
40364b:	89 f1                	mov    %esi,%ecx
40364d:	5e                   	pop    %esi
40364e:	ff e1                	jmp    *%ecx
403650:	5e                   	pop    %esi
403651:	8b 08                	mov    (%eax),%ecx
403653:	ff 61 f0             	jmp    *-0x10(%ecx)
403656:	c3                   	ret
403657:	90                   	nop
403658:	53                   	push   %ebx
403659:	56                   	push   %esi
40365a:	57                   	push   %edi
40365b:	31 c9                	xor    %ecx,%ecx
40365d:	31 ff                	xor    %edi,%edi
40365f:	8a 1a                	mov    (%edx),%bl
403661:	eb 02                	jmp    0x403665
403663:	8b 00                	mov    (%eax),%eax
403665:	8b 70 cc             	mov    -0x34(%eax),%esi
403668:	85 f6                	test   %esi,%esi
40366a:	74 15                	je     0x403681
40366c:	66 8b 3e             	mov    (%esi),%di
40366f:	83 c6 02             	add    $0x2,%esi
403672:	8a 4e 06             	mov    0x6(%esi),%cl
403675:	38 d9                	cmp    %bl,%cl
403677:	74 15                	je     0x40368e
403679:	66 8b 0e             	mov    (%esi),%cx
40367c:	01 ce                	add    %ecx,%esi
40367e:	4f                   	dec    %edi
40367f:	75 f1                	jne    0x403672
403681:	8b 40 dc             	mov    -0x24(%eax),%eax
403684:	85 c0                	test   %eax,%eax
403686:	75 db                	jne    0x403663
403688:	eb 18                	jmp    0x4036a2
40368a:	8a 1a                	mov    (%edx),%bl
40368c:	eb eb                	jmp    0x403679
40368e:	b5 00                	mov    $0x0,%ch
403690:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403694:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403697:	80 e3 df             	and    $0xdf,%bl
40369a:	75 ee                	jne    0x40368a
40369c:	49                   	dec    %ecx
40369d:	75 f1                	jne    0x403690
40369f:	8b 46 02             	mov    0x2(%esi),%eax
4036a2:	5f                   	pop    %edi
4036a3:	5e                   	pop    %esi
4036a4:	5b                   	pop    %ebx
4036a5:	c3                   	ret
4036a6:	8b c0                	mov    %eax,%eax
4036a8:	53                   	push   %ebx
4036a9:	56                   	push   %esi
4036aa:	57                   	push   %edi
4036ab:	89 cf                	mov    %ecx,%edi
4036ad:	31 db                	xor    %ebx,%ebx
4036af:	31 c9                	xor    %ecx,%ecx
4036b1:	eb 02                	jmp    0x4036b5
4036b3:	8b 00                	mov    (%eax),%eax
4036b5:	8b 70 cc             	mov    -0x34(%eax),%esi
4036b8:	85 f6                	test   %esi,%esi
4036ba:	74 13                	je     0x4036cf
4036bc:	66 8b 0e             	mov    (%esi),%cx
4036bf:	83 c6 02             	add    $0x2,%esi
4036c2:	3b 56 02             	cmp    0x2(%esi),%edx
4036c5:	74 13                	je     0x4036da
4036c7:	66 8b 1e             	mov    (%esi),%bx
4036ca:	01 de                	add    %ebx,%esi
4036cc:	49                   	dec    %ecx
4036cd:	75 f3                	jne    0x4036c2
4036cf:	8b 40 dc             	mov    -0x24(%eax),%eax
4036d2:	85 c0                	test   %eax,%eax
4036d4:	75 dd                	jne    0x4036b3
4036d6:	88 07                	mov    %al,(%edi)
4036d8:	eb 0a                	jmp    0x4036e4
4036da:	83 c6 06             	add    $0x6,%esi
4036dd:	31 c9                	xor    %ecx,%ecx
4036df:	8a 0e                	mov    (%esi),%cl
4036e1:	41                   	inc    %ecx
4036e2:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4036e4:	5f                   	pop    %edi
4036e5:	5e                   	pop    %esi
4036e6:	5b                   	pop    %ebx
4036e7:	c3                   	ret