403408:	53                   	push   %ebx
403409:	56                   	push   %esi
40340a:	89 c3                	mov    %eax,%ebx
40340c:	8b 43 b8             	mov    -0x48(%ebx),%eax
40340f:	85 c0                	test   %eax,%eax
403411:	74 29                	je     0x40343c
403413:	8b 08                	mov    (%eax),%ecx
403415:	83 c0 04             	add    $0x4,%eax
403418:	8b 32                	mov    (%edx),%esi
40341a:	3b 30                	cmp    (%eax),%esi
40341c:	75 18                	jne    0x403436
40341e:	8b 72 04             	mov    0x4(%edx),%esi
403421:	3b 70 04             	cmp    0x4(%eax),%esi
403424:	75 10                	jne    0x403436
403426:	8b 72 08             	mov    0x8(%edx),%esi
403429:	3b 70 08             	cmp    0x8(%eax),%esi
40342c:	75 08                	jne    0x403436
40342e:	8b 72 0c             	mov    0xc(%edx),%esi
403431:	3b 70 0c             	cmp    0xc(%eax),%esi
403434:	74 13                	je     0x403449
403436:	83 c0 1c             	add    $0x1c,%eax
403439:	49                   	dec    %ecx
40343a:	75 dc                	jne    0x403418
40343c:	8b 5b dc             	mov    -0x24(%ebx),%ebx
40343f:	85 db                	test   %ebx,%ebx
403441:	74 04                	je     0x403447
403443:	8b 1b                	mov    (%ebx),%ebx
403445:	eb c5                	jmp    0x40340c
403447:	31 c0                	xor    %eax,%eax
403449:	5e                   	pop    %esi
40344a:	5b                   	pop    %ebx
40344b:	c3                   	ret
40344c:	53                   	push   %ebx
40344d:	56                   	push   %esi
40344e:	8b f2                	mov    %edx,%esi
403450:	8b d8                	mov    %eax,%ebx
403452:	85 db                	test   %ebx,%ebx
403454:	74 0d                	je     0x403463
403456:	8b d6                	mov    %esi,%edx
403458:	8b 03                	mov    (%ebx),%eax
40345a:	e8 8d 00 00 00       	call   0x4034ec
40345f:	84 c0                	test   %al,%al
403461:	75 05                	jne    0x403468
403463:	33 c0                	xor    %eax,%eax
403465:	5e                   	pop    %esi
403466:	5b                   	pop    %ebx
403467:	c3                   	ret
403468:	b0 01                	mov    $0x1,%al
40346a:	5e                   	pop    %esi
40346b:	5b                   	pop    %ebx
40346c:	c3                   	ret
40346d:	8d 40 00             	lea    0x0(%eax),%eax
403470:	85 c0                	test   %eax,%eax
403472:	74 16                	je     0x40348a
403474:	89 c1                	mov    %eax,%ecx
403476:	8b 09                	mov    (%ecx),%ecx
403478:	39 d1                	cmp    %edx,%ecx
40347a:	74 0e                	je     0x40348a
40347c:	8b 49 dc             	mov    -0x24(%ecx),%ecx
40347f:	85 c9                	test   %ecx,%ecx
403481:	75 f3                	jne    0x403476
403483:	b0 0a                	mov    $0xa,%al
403485:	e9 c6 f3 ff ff       	jmp    0x402850
40348a:	c3                   	ret
40348b:	90                   	nop
40348c:	57                   	push   %edi
40348d:	96                   	xchg   %eax,%esi
40348e:	eb 02                	jmp    0x403492
403490:	8b 36                	mov    (%esi),%esi
403492:	8b 7e d0             	mov    -0x30(%esi),%edi
403495:	85 ff                	test   %edi,%edi
403497:	74 0d                	je     0x4034a6
403499:	0f b7 0f             	movzwl (%edi),%ecx
40349c:	51                   	push   %ecx
40349d:	83 c7 02             	add    $0x2,%edi
4034a0:	f2 66 af             	repnz scas %es:(%edi),%ax
4034a3:	74 0a                	je     0x4034af
4034a5:	59                   	pop    %ecx
4034a6:	8b 76 dc             	mov    -0x24(%esi),%esi
4034a9:	85 f6                	test   %esi,%esi
4034ab:	75 e3                	jne    0x403490
4034ad:	5f                   	pop    %edi
4034ae:	c3                   	ret
4034af:	58                   	pop    %eax
4034b0:	01 c0                	add    %eax,%eax
4034b2:	29 c8                	sub    %ecx,%eax
4034b4:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
4034b8:	5f                   	pop    %edi
4034b9:	c3                   	ret
4034ba:	8b c0                	mov    %eax,%eax
4034bc:	50                   	push   %eax
4034bd:	51                   	push   %ecx
4034be:	8b 00                	mov    (%eax),%eax
4034c0:	e8 c7 ff ff ff       	call   0x40348c
4034c5:	59                   	pop    %ecx
4034c6:	58                   	pop    %eax
4034c7:	74 02                	je     0x4034cb
4034c9:	ff e6                	jmp    *%esi
4034cb:	59                   	pop    %ecx
4034cc:	e9 23 f6 ff ff       	jmp    0x402af4
4034d1:	c3                   	ret
4034d2:	8b c0                	mov    %eax,%eax
4034d4:	56                   	push   %esi
4034d5:	89 d6                	mov    %edx,%esi
4034d7:	8b 00                	mov    (%eax),%eax
4034d9:	e8 ae ff ff ff       	call   0x40348c
4034de:	89 f0                	mov    %esi,%eax
4034e0:	5e                   	pop    %esi
4034e1:	75 06                	jne    0x4034e9
4034e3:	59                   	pop    %ecx
4034e4:	e9 0b f6 ff ff       	jmp    0x402af4
4034e9:	c3                   	ret
4034ea:	8b c0                	mov    %eax,%eax
4034ec:	eb 02                	jmp    0x4034f0
4034ee:	8b 00                	mov    (%eax),%eax
4034f0:	39 d0                	cmp    %edx,%eax
4034f2:	74 08                	je     0x4034fc
4034f4:	8b 40 dc             	mov    -0x24(%eax),%eax
4034f7:	85 c0                	test   %eax,%eax
4034f9:	75 f3                	jne    0x4034ee
4034fb:	c3                   	ret
4034fc:	b0 01                	mov    $0x1,%al
4034fe:	c3                   	ret
4034ff:	90                   	nop
403500:	83 c0 c4             	add    $0xffffffc4,%eax
403503:	8b 00                	mov    (%eax),%eax
403505:	c3                   	ret
403506:	8b c0                	mov    %eax,%eax
403508:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40350d:	c3                   	ret
40350e:	8b c0                	mov    %eax,%eax
403510:	c3                   	ret
403511:	8d 40 00             	lea    0x0(%eax),%eax
403514:	c3                   	ret
403515:	8d 40 00             	lea    0x0(%eax),%eax
403518:	c3                   	ret
403519:	8d 40 00             	lea    0x0(%eax),%eax
40351c:	56                   	push   %esi
40351d:	66 8b 32             	mov    (%edx),%si
403520:	66 09 f6             	or     %si,%si
403523:	74 17                	je     0x40353c
403525:	66 81 fe 00 c0       	cmp    $0xc000,%si
40352a:	73 10                	jae    0x40353c
40352c:	50                   	push   %eax
40352d:	8b 00                	mov    (%eax),%eax
40352f:	e8 58 ff ff ff       	call   0x40348c
403534:	58                   	pop    %eax
403535:	74 05                	je     0x40353c
403537:	89 f1                	mov    %esi,%ecx
403539:	5e                   	pop    %esi
40353a:	ff e1                	jmp    *%ecx
40353c:	5e                   	pop    %esi
40353d:	8b 08                	mov    (%eax),%ecx
40353f:	ff 61 f0             	jmp    *-0x10(%ecx)
403542:	c3                   	ret
403543:	90                   	nop
403544:	53                   	push   %ebx
403545:	56                   	push   %esi
403546:	57                   	push   %edi
403547:	31 c9                	xor    %ecx,%ecx
403549:	31 ff                	xor    %edi,%edi
40354b:	8a 1a                	mov    (%edx),%bl
40354d:	eb 02                	jmp    0x403551
40354f:	8b 00                	mov    (%eax),%eax
403551:	8b 70 cc             	mov    -0x34(%eax),%esi
403554:	85 f6                	test   %esi,%esi
403556:	74 15                	je     0x40356d
403558:	66 8b 3e             	mov    (%esi),%di
40355b:	83 c6 02             	add    $0x2,%esi
40355e:	8a 4e 06             	mov    0x6(%esi),%cl
403561:	38 d9                	cmp    %bl,%cl
403563:	74 15                	je     0x40357a
403565:	66 8b 0e             	mov    (%esi),%cx
403568:	01 ce                	add    %ecx,%esi
40356a:	4f                   	dec    %edi
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