4073c7:	83 c4 18             	add    $0x18,%esp
4073ca:	5d                   	pop    %ebp
4073cb:	c2 08 00             	ret    $0x8
4073ce:	8b ff                	mov    %edi,%edi
4073d0:	55                   	push   %ebp
4073d1:	8b ec                	mov    %esp,%ebp
4073d3:	6a 00                	push   $0x0
4073d5:	6a 04                	push   $0x4
4073d7:	8d 45 10             	lea    0x10(%ebp),%eax
4073da:	50                   	push   %eax
4073db:	51                   	push   %ecx
4073dc:	52                   	push   %edx
4073dd:	6a 2b                	push   $0x2b
4073df:	ff 75 0c             	push   0xc(%ebp)
4073e2:	ff 75 08             	push   0x8(%ebp)
4073e5:	ff 15 68 c4 42 00    	call   *0x42c468
4073eb:	83 c4 20             	add    $0x20,%esp
4073ee:	5d                   	pop    %ebp
4073ef:	c2 0c 00             	ret    $0xc
4073f2:	8b ff                	mov    %edi,%edi
4073f4:	55                   	push   %ebp
4073f5:	8b ec                	mov    %esp,%ebp
4073f7:	83 e4 f8             	and    $0xfffffff8,%esp
4073fa:	83 ec 0c             	sub    $0xc,%esp
4073fd:	53                   	push   %ebx
4073fe:	56                   	push   %esi
4073ff:	8b 75 08             	mov    0x8(%ebp),%esi
407402:	33 c0                	xor    %eax,%eax
407404:	89 44 24 0c          	mov    %eax,0xc(%esp)
407408:	8b d9                	mov    %ecx,%ebx
40740a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40740e:	89 44 24 08          	mov    %eax,0x8(%esp)
407412:	57                   	push   %edi
407413:	bf 05 40 00 80       	mov    $0x80004005,%edi
407418:	85 f6                	test   %esi,%esi
40741a:	0f 84 bd 01 00 00    	je     0x4075dd
407420:	39 45 0c             	cmp    %eax,0xc(%ebp)
407423:	0f 84 b4 01 00 00    	je     0x4075dd
407429:	0f b7 06             	movzwl (%esi),%eax
40742c:	6a 22                	push   $0x22
40742e:	5a                   	pop    %edx
40742f:	66 3b c2             	cmp    %dx,%ax
407432:	75 24                	jne    0x407458
407434:	83 c6 02             	add    $0x2,%esi
407437:	0f b7 06             	movzwl (%esi),%eax
40743a:	66 85 c0             	test   %ax,%ax
40743d:	74 14                	je     0x407453
40743f:	8b c8                	mov    %eax,%ecx
407441:	66 3b ca             	cmp    %dx,%cx
407444:	74 0d                	je     0x407453
407446:	83 c6 02             	add    $0x2,%esi
407449:	0f b7 06             	movzwl (%esi),%eax
40744c:	8b c8                	mov    %eax,%ecx
40744e:	66 85 c0             	test   %ax,%ax
407451:	75 ee                	jne    0x407441
407453:	0f b7 0e             	movzwl (%esi),%ecx
407456:	eb 27                	jmp    0x40747f
407458:	8b c8                	mov    %eax,%ecx
40745a:	66 85 c0             	test   %ax,%ax
40745d:	74 20                	je     0x40747f
40745f:	6a 20                	push   $0x20
407461:	8b d0                	mov    %eax,%edx
407463:	5b                   	pop    %ebx
407464:	0f b7 ca             	movzwl %dx,%ecx
407467:	66 3b d3             	cmp    %bx,%dx
40746a:	76 0f                	jbe    0x40747b
40746c:	83 c6 02             	add    $0x2,%esi
40746f:	0f b7 06             	movzwl (%esi),%eax
407472:	8b d0                	mov    %eax,%edx
407474:	8b c8                	mov    %eax,%ecx
407476:	66 85 c0             	test   %ax,%ax
407479:	75 e9                	jne    0x407464
40747b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
40747f:	66 85 c9             	test   %cx,%cx
407482:	0f 84 df 00 00 00    	je     0x407567
407488:	6a 20                	push   $0x20
40748a:	0f b7 d1             	movzwl %cx,%edx
40748d:	5f                   	pop    %edi
40748e:	0f b7 ca             	movzwl %dx,%ecx
407491:	66 3b d7             	cmp    %di,%dx
407494:	77 0f                	ja     0x4074a5
407496:	83 c6 02             	add    $0x2,%esi
407499:	0f b7 06             	movzwl (%esi),%eax
40749c:	8b d0                	mov    %eax,%edx
40749e:	8b c8                	mov    %eax,%ecx
4074a0:	66 85 c0             	test   %ax,%ax
4074a3:	75 e9                	jne    0x40748e
4074a5:	bf 05 40 00 80       	mov    $0x80004005,%edi
4074aa:	66 85 c9             	test   %cx,%cx
4074ad:	0f 84 b4 00 00 00    	je     0x407567
4074b3:	0f b7 c9             	movzwl %cx,%ecx
4074b6:	66 85 c9             	test   %cx,%cx
4074b9:	0f 84 89 00 00 00    	je     0x407548
4074bf:	0f b7 c9             	movzwl %cx,%ecx
4074c2:	0f b7 d1             	movzwl %cx,%edx
4074c5:	66 83 f9 2d          	cmp    $0x2d,%cx
4074c9:	74 18                	je     0x4074e3
4074cb:	0f b7 d1             	movzwl %cx,%edx
4074ce:	66 83 f9 2f          	cmp    $0x2f,%cx
4074d2:	74 0f                	je     0x4074e3
4074d4:	83 c6 02             	add    $0x2,%esi
4074d7:	0f b7 06             	movzwl (%esi),%eax
4074da:	8b c8                	mov    %eax,%ecx
4074dc:	8b d0                	mov    %eax,%edx
4074de:	66 85 c0             	test   %ax,%ax
4074e1:	75 df                	jne    0x4074c2
4074e3:	66 85 d2             	test   %dx,%dx
4074e6:	74 60                	je     0x407548
4074e8:	6a 02                	push   $0x2
4074ea:	5a                   	pop    %edx
4074eb:	03 f2                	add    %edx,%esi
4074ed:	0f b7 0e             	movzwl (%esi),%ecx
4074f0:	8b c1                	mov    %ecx,%eax
4074f2:	83 f8 44             	cmp    $0x44,%eax
4074f5:	74 77                	je     0x40756e
4074f7:	83 f8 53             	cmp    $0x53,%eax
4074fa:	74 20                	je     0x40751c
4074fc:	83 f8 58             	cmp    $0x58,%eax
4074ff:	74 0f                	je     0x407510
407501:	83 f8 64             	cmp    $0x64,%eax
407504:	74 68                	je     0x40756e
407506:	83 f8 73             	cmp    $0x73,%eax
407509:	74 11                	je     0x40751c
40750b:	83 f9 78             	cmp    $0x78,%ecx
40750e:	75 2c                	jne    0x40753c
407510:	03 f2                	add    %edx,%esi
407512:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
407519:	00
40751a:	eb 1d                	jmp    0x407539
40751c:	6a 20                	push   $0x20
40751e:	58                   	pop    %eax
40751f:	03 f2                	add    %edx,%esi
407521:	66 39 06             	cmp    %ax,(%esi)
407524:	76 f9                	jbe    0x40751f
407526:	56                   	push   %esi
407527:	ff 15 38 c3 42 00    	call   *0x42c338
40752d:	59                   	pop    %ecx
40752e:	89 43 0c             	mov    %eax,0xc(%ebx)
407531:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
407538:	00
407539:	0f b7 06             	movzwl (%esi),%eax
40753c:	0f b7 c8             	movzwl %ax,%ecx
40753f:	66 85 c0             	test   %ax,%ax
407542:	0f 85 6e ff ff ff    	jne    0x4074b6
407548:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
40754d:	74 18                	je     0x407567
40754f:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
407554:	74 11                	je     0x407567
407556:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
40755a:	74 0b                	je     0x407567
40755c:	8b 45 0c             	mov    0xc(%ebp),%eax
40755f:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
407565:	33 ff                	xor    %edi,%edi
407567:	8b c7                	mov    %edi,%eax
407569:	e9 99 00 00 00       	jmp    0x407607
40756e:	6a 20                	push   $0x20
407570:	58                   	pop    %eax
407571:	03 f2                	add    %edx,%esi
407573:	66 39 06             	cmp    %ax,(%esi)
407576:	76 f9                	jbe    0x407571
407578:	56                   	push   %esi
407579:	8b cb                	mov    %ebx,%ecx
40757b:	e8 38 4b 00 00       	call   0x40c0b8
407580:	8b f8                	mov    %eax,%edi
407582:	85 ff                	test   %edi,%edi
407584:	79 27                	jns    0x4075ad
407586:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40758c:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
407592:	74 19                	je     0x4075ad
407594:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
407598:	74 13                	je     0x4075ad
40759a:	ff 71 14             	push   0x14(%ecx)
40759d:	ba 98 1b 40 00       	mov    $0x401b98,%edx
4075a2:	ff 71 10             	push   0x10(%ecx)
4075a5:	6a 0b                	push   $0xb
4075a7:	59                   	pop    %ecx
4075a8:	e8 03 fe ff ff       	call   0x4073b0
4075ad:	68 7c 1b 40 00       	push   $0x401b7c
4075b2:	8b cb                	mov    %ebx,%ecx
4075b4:	e8 86 54 00 00       	call   0x40ca3f
4075b9:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4075be:	75 a7                	jne    0x407567
4075c0:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
4075c5:	75 a0                	jne    0x407567
4075c7:	8b cb                	mov    %ebx,%ecx
4075c9:	e8 bc 53 00 00       	call   0x40c98a
4075ce:	85 c0                	test   %eax,%eax
4075d0:	74 95                	je     0x407567
4075d2:	8b 45 0c             	mov    0xc(%ebp),%eax
4075d5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4075db:	eb 88                	jmp    0x407565
4075dd:	a1 00 b0 42 00       	mov    0x42b000,%eax
4075e2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4075e7:	74 19                	je     0x407602
4075e9:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4075ed:	74 13                	je     0x407602
4075ef:	ff 70 14             	push   0x14(%eax)
4075f2:	ba 98 1b 40 00       	mov    $0x401b98,%edx
4075f7:	ff 70 10             	push   0x10(%eax)
4075fa:	6a 0a                	push   $0xa
4075fc:	59                   	pop    %ecx
4075fd:	e8 ae fd ff ff       	call   0x4073b0
407602:	b8 57 00 07 80       	mov    $0x80070057,%eax
407607:	5f                   	pop    %edi
407608:	5e                   	pop    %esi
407609:	5b                   	pop    %ebx
40760a:	8b e5                	mov    %ebp,%esp
40760c:	5d                   	pop    %ebp
40760d:	c2 08 00             	ret    $0x8
407610:	68 98 04 00 00       	push   $0x498
407615:	b8 c9 83 42 00       	mov    $0x4283c9,%eax
40761a:	e8 7c 0a 02 00       	call   0x42809b
40761f:	8b d9                	mov    %ecx,%ebx
407621:	8b 45 0c             	mov    0xc(%ebp),%eax
407624:	8b 4d 08             	mov    0x8(%ebp),%ecx
407627:	89 85 5c fb ff ff    	mov    %eax,-0x4a4(%ebp)
40762d:	85 c0                	test   %eax,%eax
40762f:	75 2f                	jne    0x407660
407631:	a1 00 b0 42 00       	mov    0x42b000,%eax
407636:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40763b:	74 19                	je     0x407656
40763d:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
407641:	74 13                	je     0x407656
407643:	ff 70 14             	push   0x14(%eax)
407646:	ba 98 1b 40 00       	mov    $0x401b98,%edx
40764b:	ff 70 10             	push   0x10(%eax)
40764e:	6a 0c                	push   $0xc
407650:	59                   	pop    %ecx
407651:	e8 5a fd ff ff       	call   0x4073b0
407656:	b8 57 00 07 80       	mov    $0x80070057,%eax
40765b:	e9 5e 01 00 00       	jmp    0x4077be
407660:	33 f6                	xor    %esi,%esi
407662:	89 30                	mov    %esi,(%eax)
407664:	8d 43 10             	lea    0x10(%ebx),%eax
407667:	50                   	push   %eax
407668:	51                   	push   %ecx
407669:	8b cb                	mov    %ebx,%ecx
40766b:	89 30                	mov    %esi,(%eax)
40766d:	e8 80 fd ff ff       	call   0x4073f2
407672:	8b f8                	mov    %eax,%edi
407674:	85 ff                	test   %edi,%edi
407676:	79 28                	jns    0x4076a0
407678:	a1 00 b0 42 00       	mov    0x42b000,%eax
40767d:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407682:	0f 84 34 01 00 00    	je     0x4077bc
407688:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40768c:	0f 84 2a 01 00 00    	je     0x4077bc
407692:	57                   	push   %edi
407693:	ff 70 14             	push   0x14(%eax)
407696:	ff 70 10             	push   0x10(%eax)
407699:	6a 0d                	push   $0xd
40769b:	e9 11 01 00 00       	jmp    0x4077b1
4076a0:	83 7b 10 01          	cmpl   $0x1,0x10(%ebx)
4076a4:	75 7d                	jne    0x407723
4076a6:	8d 8d 50 fe ff ff    	lea    -0x1b0(%ebp),%ecx
4076ac:	e8 f0 45 00 00       	call   0x40bca1
4076b1:	89 75 e0             	mov    %esi,-0x20(%ebp)
4076b4:	89 75 e8             	mov    %esi,-0x18(%ebp)
4076b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4076ba:	89 75 ec             	mov    %esi,-0x14(%ebp)
4076bd:	89 75 dc             	mov    %esi,-0x24(%ebp)
4076c0:	89 75 fc             	mov    %esi,-0x4(%ebp)
4076c3:	83 7b 10 01          	cmpl   $0x1,0x10(%ebx)
4076c7:	75 02                	jne    0x4076cb
4076c9:	8b 33                	mov    (%ebx),%esi
4076cb:	ff b5 5c fb ff ff    	push   -0x4a4(%ebp)
4076d1:	8d 8d 50 fe ff ff    	lea    -0x1b0(%ebp),%ecx
4076d7:	56                   	push   %esi
4076d8:	e8 3d 03 00 00       	call   0x407a1a
4076dd:	8b f8                	mov    %eax,%edi
4076df:	85 ff                	test   %edi,%edi
4076e1:	79 26                	jns    0x407709
4076e3:	a1 00 b0 42 00       	mov    0x42b000,%eax
4076e8:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4076ed:	74 1a                	je     0x407709
4076ef:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4076f3:	74 14                	je     0x407709
4076f5:	57                   	push   %edi
4076f6:	ff 70 14             	push   0x14(%eax)
4076f9:	ba 98 1b 40 00       	mov    $0x401b98,%edx
4076fe:	ff 70 10             	push   0x10(%eax)
407701:	6a 0e                	push   $0xe
407703:	59                   	pop    %ecx
407704:	e8 c5 fc ff ff       	call   0x4073ce
407709:	6a 01                	push   $0x1
40770b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40770e:	e8 12 55 00 00       	call   0x40cc25
407713:	8d 8d 50 fe ff ff    	lea    -0x1b0(%ebp),%ecx
407719:	e8 c2 00 00 00       	call   0x4077e0
40771e:	e9 99 00 00 00       	jmp    0x4077bc
407723:	83 7b 10 02          	cmpl   $0x2,0x10(%ebx)
407727:	75 66                	jne    0x40778f
407729:	8d 8d 60 fb ff ff    	lea    -0x4a0(%ebp),%ecx
40772f:	e8 a0 3c 00 00       	call   0x40b3d4
407734:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40773b:	83 7b 10 02          	cmpl   $0x2,0x10(%ebx)
40773f:	75 03                	jne    0x407744
407741:	8b 73 0c             	mov    0xc(%ebx),%esi
407744:	ff b5 5c fb ff ff    	push   -0x4a4(%ebp)
40774a:	8d 8d 60 fb ff ff    	lea    -0x4a0(%ebp),%ecx
407750:	56                   	push   %esi
407751:	e8 dc 13 00 00       	call   0x408b32
407756:	8b f8                	mov    %eax,%edi
407758:	85 ff                	test   %edi,%edi
40775a:	79 26                	jns    0x407782
40775c:	a1 00 b0 42 00       	mov    0x42b000,%eax
407761:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
407766:	74 1a                	je     0x407782
407768:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40776c:	74 14                	je     0x407782
40776e:	57                   	push   %edi
40776f:	ff 70 14             	push   0x14(%eax)
407772:	ba 98 1b 40 00       	mov    $0x401b98,%edx
407777:	ff 70 10             	push   0x10(%eax)
40777a:	6a 0f                	push   $0xf
40777c:	59                   	pop    %ecx
40777d:	e8 4c fc ff ff       	call   0x4073ce
407782:	8d 8d 60 fb ff ff    	lea    -0x4a0(%ebp),%ecx
407788:	e8 bb 3c 00 00       	call   0x40b448
40778d:	eb 2d                	jmp    0x4077bc
40778f:	bf 05 40 00 80       	mov    $0x80004005,%edi
407794:	a1 00 b0 42 00       	mov    0x42b000,%eax
407799:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40779e:	74 1c                	je     0x4077bc
4077a0:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4077a4:	74 16                	je     0x4077bc
4077a6:	ff 73 10             	push   0x10(%ebx)
4077a9:	ff 70 14             	push   0x14(%eax)
4077ac:	ff 70 10             	push   0x10(%eax)
4077af:	6a 10                	push   $0x10
4077b1:	ba 98 1b 40 00       	mov    $0x401b98,%edx
4077b6:	59                   	pop    %ecx
4077b7:	e8 12 fc ff ff       	call   0x4073ce
4077bc:	8b c7                	mov    %edi,%eax
4077be:	e8 87 08 02 00       	call   0x42804a
4077c3:	c2 08 00             	ret    $0x8
4077c6:	8b ff                	mov    %edi,%edi
4077c8:	56                   	push   %esi
4077c9:	8b f1                	mov    %ecx,%esi
4077cb:	6a 01                	push   $0x1
4077cd:	8d 8e 90 01 00 00    	lea    0x190(%esi),%ecx
4077d3:	e8 4d 54 00 00       	call   0x40cc25
4077d8:	8b ce                	mov    %esi,%ecx
4077da:	5e                   	pop    %esi
4077db:	e9 00 00 00 00       	jmp    0x4077e0
4077e0:	8b ff                	mov    %edi,%edi
4077e2:	55                   	push   %ebp
4077e3:	8b ec                	mov    %esp,%ebp
4077e5:	6a ff                	push   $0xffffffff
4077e7:	68 f1 83 42 00       	push   $0x4283f1