4062f7:	89 04 24             	mov    %eax,(%esp)
4062fa:	8b 04 24             	mov    (%esp),%eax
4062fd:	5a                   	pop    %edx
4062fe:	5e                   	pop    %esi
4062ff:	5b                   	pop    %ebx
406300:	c3                   	ret
406301:	8d 40 00             	lea    0x0(%eax),%eax
406304:	53                   	push   %ebx
406305:	56                   	push   %esi
406306:	83 c4 f8             	add    $0xfffffff8,%esp
406309:	8b f2                	mov    %edx,%esi
40630b:	8b d8                	mov    %eax,%ebx
40630d:	8d 44 24 04          	lea    0x4(%esp),%eax
406311:	50                   	push   %eax
406312:	8d 44 24 04          	lea    0x4(%esp),%eax
406316:	50                   	push   %eax
406317:	6a 00                	push   $0x0
406319:	68 3f 00 0f 00       	push   $0xf003f
40631e:	6a 00                	push   $0x0
406320:	6a 00                	push   $0x0
406322:	6a 00                	push   $0x0
406324:	8b c6                	mov    %esi,%eax
406326:	e8 c9 d7 ff ff       	call   0x403af4
40632b:	50                   	push   %eax
40632c:	53                   	push   %ebx
40632d:	e8 0a eb ff ff       	call   0x404e3c
406332:	85 c0                	test   %eax,%eax
406334:	74 05                	je     0x40633b
406336:	33 c0                	xor    %eax,%eax
406338:	89 04 24             	mov    %eax,(%esp)
40633b:	8b 04 24             	mov    (%esp),%eax
40633e:	59                   	pop    %ecx
40633f:	5a                   	pop    %edx
406340:	5e                   	pop    %esi
406341:	5b                   	pop    %ebx
406342:	c3                   	ret
406343:	90                   	nop
406344:	53                   	push   %ebx
406345:	56                   	push   %esi
406346:	83 c4 f4             	add    $0xfffffff4,%esp
406349:	8b f2                	mov    %edx,%esi
40634b:	8b d8                	mov    %eax,%ebx
40634d:	c7 44 24 08 04 00 00 	movl   $0x4,0x8(%esp)
406354:	00
406355:	33 c0                	xor    %eax,%eax
406357:	89 04 24             	mov    %eax,(%esp)
40635a:	85 db                	test   %ebx,%ebx
40635c:	74 2a                	je     0x406388
40635e:	8d 44 24 08          	lea    0x8(%esp),%eax
406362:	50                   	push   %eax
406363:	8d 44 24 04          	lea    0x4(%esp),%eax
406367:	50                   	push   %eax
406368:	8d 44 24 0c          	lea    0xc(%esp),%eax
40636c:	50                   	push   %eax
40636d:	6a 00                	push   $0x0
40636f:	8b c6                	mov    %esi,%eax
406371:	e8 7e d7 ff ff       	call   0x403af4
406376:	50                   	push   %eax
406377:	53                   	push   %ebx
406378:	e8 df ea ff ff       	call   0x404e5c
40637d:	85 c0                	test   %eax,%eax
40637f:	75 07                	jne    0x406388
406381:	83 7c 24 04 04       	cmpl   $0x4,0x4(%esp)
406386:	74 05                	je     0x40638d
406388:	33 c0                	xor    %eax,%eax
40638a:	89 04 24             	mov    %eax,(%esp)
40638d:	8b 04 24             	mov    (%esp),%eax
406390:	83 c4 0c             	add    $0xc,%esp
406393:	5e                   	pop    %esi
406394:	5b                   	pop    %ebx
406395:	c3                   	ret
406396:	8b c0                	mov    %eax,%eax
406398:	55                   	push   %ebp
406399:	8b ec                	mov    %esp,%ebp
40639b:	8b 45 08             	mov    0x8(%ebp),%eax
40639e:	83 c0 f8             	add    $0xfffffff8,%eax
4063a1:	50                   	push   %eax
4063a2:	8b 45 08             	mov    0x8(%ebp),%eax
4063a5:	8b 40 ec             	mov    -0x14(%eax),%eax
4063a8:	50                   	push   %eax
4063a9:	8b 45 08             	mov    0x8(%ebp),%eax
4063ac:	83 c0 fc             	add    $0xfffffffc,%eax
4063af:	50                   	push   %eax
4063b0:	6a 00                	push   $0x0
4063b2:	8b 45 08             	mov    0x8(%ebp),%eax
4063b5:	8b 40 f0             	mov    -0x10(%eax),%eax
4063b8:	e8 37 d7 ff ff       	call   0x403af4
4063bd:	50                   	push   %eax
4063be:	8b 45 08             	mov    0x8(%ebp),%eax
4063c1:	8b 40 f4             	mov    -0xc(%eax),%eax
4063c4:	50                   	push   %eax
4063c5:	e8 92 ea ff ff       	call   0x404e5c
4063ca:	85 c0                	test   %eax,%eax
4063cc:	0f 94 c0             	sete   %al
4063cf:	5d                   	pop    %ebp
4063d0:	c3                   	ret
4063d1:	8d 40 00             	lea    0x0(%eax),%eax
4063d4:	55                   	push   %ebp
4063d5:	8b ec                	mov    %esp,%ebp
4063d7:	83 c4 ec             	add    $0xffffffec,%esp
4063da:	53                   	push   %ebx
4063db:	56                   	push   %esi
4063dc:	57                   	push   %edi
4063dd:	8b d9                	mov    %ecx,%ebx
4063df:	89 55 f0             	mov    %edx,-0x10(%ebp)
4063e2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4063e5:	8b c3                	mov    %ebx,%eax
4063e7:	e8 a8 d2 ff ff       	call   0x403694
4063ec:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4063f0:	0f 84 84 00 00 00    	je     0x40647a
4063f6:	33 c0                	xor    %eax,%eax
4063f8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4063fb:	33 c0                	xor    %eax,%eax
4063fd:	89 45 ec             	mov    %eax,-0x14(%ebp)
406400:	55                   	push   %ebp
406401:	e8 92 ff ff ff       	call   0x406398
406406:	59                   	pop    %ecx
406407:	84 c0                	test   %al,%al
406409:	74 6f                	je     0x40647a
40640b:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
40640f:	74 06                	je     0x406417
406411:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
406415:	75 63                	jne    0x40647a
406417:	8b 45 f8             	mov    -0x8(%ebp),%eax
40641a:	e8 11 c4 ff ff       	call   0x402830
40641f:	89 45 ec             	mov    %eax,-0x14(%ebp)
406422:	55                   	push   %ebp
406423:	e8 70 ff ff ff       	call   0x406398
406428:	59                   	pop    %ecx
406429:	84 c0                	test   %al,%al
40642b:	74 45                	je     0x406472
40642d:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
406431:	75 35                	jne    0x406468
406433:	6a 00                	push   $0x0
406435:	6a 00                	push   $0x0
406437:	8b 45 ec             	mov    -0x14(%ebp),%eax
40643a:	50                   	push   %eax
40643b:	e8 4c ea ff ff       	call   0x404e8c
406440:	8b f8                	mov    %eax,%edi
406442:	8b c7                	mov    %edi,%eax
406444:	e8 e7 c3 ff ff       	call   0x402830
406449:	8b f0                	mov    %eax,%esi
40644b:	57                   	push   %edi
40644c:	56                   	push   %esi
40644d:	8b 45 ec             	mov    -0x14(%ebp),%eax
406450:	50                   	push   %eax
406451:	e8 36 ea ff ff       	call   0x404e8c
406456:	8b c3                	mov    %ebx,%eax
406458:	8b d6                	mov    %esi,%edx
40645a:	e8 11 d4 ff ff       	call   0x403870
40645f:	8b c6                	mov    %esi,%eax
406461:	e8 fa c3 ff ff       	call   0x402860
406466:	eb 0a                	jmp    0x406472
406468:	8b c3                	mov    %ebx,%eax
40646a:	8b 55 ec             	mov    -0x14(%ebp),%edx
40646d:	e8 fe d3 ff ff       	call   0x403870
406472:	8b 45 ec             	mov    -0x14(%ebp),%eax
406475:	e8 e6 c3 ff ff       	call   0x402860
40647a:	5f                   	pop    %edi
40647b:	5e                   	pop    %esi
40647c:	5b                   	pop    %ebx
40647d:	8b e5                	mov    %ebp,%esp
40647f:	5d                   	pop    %ebp
406480:	c3                   	ret
406481:	8d 40 00             	lea    0x0(%eax),%eax
406484:	53                   	push   %ebx
406485:	56                   	push   %esi
406486:	51                   	push   %ecx
406487:	89 0c 24             	mov    %ecx,(%esp)
40648a:	8b f2                	mov    %edx,%esi
40648c:	8b d8                	mov    %eax,%ebx
40648e:	85 db                	test   %ebx,%ebx
406490:	74 1d                	je     0x4064af
406492:	6a 04                	push   $0x4
406494:	8d 44 24 04          	lea    0x4(%esp),%eax
406498:	50                   	push   %eax
406499:	6a 04                	push   $0x4
40649b:	6a 00                	push   $0x0
40649d:	8b c6                	mov    %esi,%eax
40649f:	e8 50 d6 ff ff       	call   0x403af4
4064a4:	50                   	push   %eax
4064a5:	53                   	push   %ebx
4064a6:	e8 b9 e9 ff ff       	call   0x404e64
4064ab:	85 c0                	test   %eax,%eax
4064ad:	74 04                	je     0x4064b3
4064af:	33 c0                	xor    %eax,%eax
4064b1:	eb 02                	jmp    0x4064b5
4064b3:	b0 01                	mov    $0x1,%al
4064b5:	5a                   	pop    %edx
4064b6:	5e                   	pop    %esi
4064b7:	5b                   	pop    %ebx
4064b8:	c3                   	ret
4064b9:	8d 40 00             	lea    0x0(%eax),%eax
4064bc:	53                   	push   %ebx
4064bd:	56                   	push   %esi
4064be:	57                   	push   %edi
4064bf:	8b f1                	mov    %ecx,%esi
4064c1:	8b fa                	mov    %edx,%edi
4064c3:	8b d8                	mov    %eax,%ebx
4064c5:	85 db                	test   %ebx,%ebx
4064c7:	74 27                	je     0x4064f0
4064c9:	8b c6                	mov    %esi,%eax
4064cb:	e8 24 d4 ff ff       	call   0x4038f4
4064d0:	40                   	inc    %eax
4064d1:	50                   	push   %eax
4064d2:	8b c6                	mov    %esi,%eax
4064d4:	e8 1b d6 ff ff       	call   0x403af4
4064d9:	50                   	push   %eax
4064da:	6a 01                	push   $0x1
4064dc:	6a 00                	push   $0x0
4064de:	8b c7                	mov    %edi,%eax
4064e0:	e8 0f d6 ff ff       	call   0x403af4
4064e5:	50                   	push   %eax
4064e6:	53                   	push   %ebx
4064e7:	e8 78 e9 ff ff       	call   0x404e64
4064ec:	85 c0                	test   %eax,%eax
4064ee:	74 04                	je     0x4064f4
4064f0:	33 c0                	xor    %eax,%eax
4064f2:	eb 02                	jmp    0x4064f6
4064f4:	b0 01                	mov    $0x1,%al
4064f6:	5f                   	pop    %edi
4064f7:	5e                   	pop    %esi
4064f8:	5b                   	pop    %ebx
4064f9:	c3                   	ret
4064fa:	8b c0                	mov    %eax,%eax
4064fc:	55                   	push   %ebp
4064fd:	8b ec                	mov    %esp,%ebp
4064ff:	51                   	push   %ecx
406500:	53                   	push   %ebx
406501:	56                   	push   %esi
406502:	57                   	push   %edi
406503:	8b f9                	mov    %ecx,%edi
406505:	89 55 fc             	mov    %edx,-0x4(%ebp)
406508:	8b f0                	mov    %eax,%esi
40650a:	bb 01 00 00 00       	mov    $0x1,%ebx
40650f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
406513:	74 05                	je     0x40651a
406515:	bb 02 00 00 00       	mov    $0x2,%ebx
40651a:	85 f6                	test   %esi,%esi
40651c:	74 27                	je     0x406545
40651e:	8b c7                	mov    %edi,%eax
406520:	e8 cf d3 ff ff       	call   0x4038f4
406525:	40                   	inc    %eax
406526:	50                   	push   %eax
406527:	8b c7                	mov    %edi,%eax
406529:	e8 c6 d5 ff ff       	call   0x403af4
40652e:	50                   	push   %eax
40652f:	53                   	push   %ebx
406530:	6a 00                	push   $0x0
406532:	8b 45 fc             	mov    -0x4(%ebp),%eax
406535:	e8 ba d5 ff ff       	call   0x403af4
40653a:	50                   	push   %eax
40653b:	56                   	push   %esi
40653c:	e8 23 e9 ff ff       	call   0x404e64
406541:	85 c0                	test   %eax,%eax
406543:	74 04                	je     0x406549
406545:	33 c0                	xor    %eax,%eax
406547:	eb 02                	jmp    0x40654b
406549:	b0 01                	mov    $0x1,%al
40654b:	5f                   	pop    %edi
40654c:	5e                   	pop    %esi
40654d:	5b                   	pop    %ebx
40654e:	59                   	pop    %ecx
40654f:	5d                   	pop    %ebp
406550:	c2 04 00             	ret    $0x4
406553:	90                   	nop
406554:	85 c0                	test   %eax,%eax
406556:	74 06                	je     0x40655e
406558:	50                   	push   %eax
406559:	e8 2a e2 ff ff       	call   0x404788
40655e:	c3                   	ret
40655f:	90                   	nop
406560:	53                   	push   %ebx
406561:	56                   	push   %esi
406562:	83 c4 f8             	add    $0xfffffff8,%esp
406565:	8b f2                	mov    %edx,%esi
406567:	8b d8                	mov    %eax,%ebx
406569:	85 db                	test   %ebx,%ebx
40656b:	74 20                	je     0x40658d
40656d:	8d 44 24 04          	lea    0x4(%esp),%eax
406571:	50                   	push   %eax
406572:	6a 00                	push   $0x0
406574:	8d 44 24 08          	lea    0x8(%esp),%eax
406578:	50                   	push   %eax
406579:	6a 00                	push   $0x0
40657b:	8b c6                	mov    %esi,%eax
40657d:	e8 72 d5 ff ff       	call   0x403af4
406582:	50                   	push   %eax
406583:	53                   	push   %ebx
406584:	e8 d3 e8 ff ff       	call   0x404e5c
406589:	85 c0                	test   %eax,%eax
40658b:	74 04                	je     0x406591
40658d:	33 c0                	xor    %eax,%eax
40658f:	eb 02                	jmp    0x406593
406591:	b0 01                	mov    $0x1,%al
406593:	59                   	pop    %ecx
406594:	5a                   	pop    %edx
406595:	5e                   	pop    %esi
406596:	5b                   	pop    %ebx
406597:	c3                   	ret
406598:	55                   	push   %ebp
406599:	8b ec                	mov    %esp,%ebp
40659b:	53                   	push   %ebx
40659c:	56                   	push   %esi
40659d:	57                   	push   %edi
40659e:	8b f9                	mov    %ecx,%edi
4065a0:	8b f2                	mov    %edx,%esi
4065a2:	8b d8                	mov    %eax,%ebx
4065a4:	85 db                	test   %ebx,%ebx
4065a6:	74 1b                	je     0x4065c3
4065a8:	8b 45 08             	mov    0x8(%ebp),%eax
4065ab:	50                   	push   %eax
4065ac:	57                   	push   %edi
4065ad:	6a 03                	push   $0x3
4065af:	6a 00                	push   $0x0
4065b1:	8b c6                	mov    %esi,%eax
4065b3:	e8 3c d5 ff ff       	call   0x403af4
4065b8:	50                   	push   %eax
4065b9:	53                   	push   %ebx
4065ba:	e8 a5 e8 ff ff       	call   0x404e64
4065bf:	85 c0                	test   %eax,%eax
4065c1:	74 04                	je     0x4065c7
4065c3:	33 c0                	xor    %eax,%eax
4065c5:	eb 02                	jmp    0x4065c9
4065c7:	b0 01                	mov    $0x1,%al
4065c9:	5f                   	pop    %edi
4065ca:	5e                   	pop    %esi
4065cb:	5b                   	pop    %ebx
4065cc:	5d                   	pop    %ebp
4065cd:	c2 04 00             	ret    $0x4
4065d0:	55                   	push   %ebp
4065d1:	8b ec                	mov    %esp,%ebp
4065d3:	83 c4 f0             	add    $0xfffffff0,%esp
4065d6:	53                   	push   %ebx
4065d7:	56                   	push   %esi
4065d8:	57                   	push   %edi
4065d9:	33 c9                	xor    %ecx,%ecx
4065db:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4065de:	89 55 fc             	mov    %edx,-0x4(%ebp)
4065e1:	8b f8                	mov    %eax,%edi
4065e3:	33 c0                	xor    %eax,%eax
4065e5:	55                   	push   %ebp
4065e6:	68 8f 66 40 00       	push   $0x40668f
4065eb:	64 ff 30             	push   %fs:(%eax)
4065ee:	64 89 20             	mov    %esp,%fs:(%eax)
4065f1:	33 db                	xor    %ebx,%ebx
4065f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4065f6:	e8 81 5e 00 00       	call   0x40c47c
4065fb:	6a 00                	push   $0x0
4065fd:	6a 00                	push   $0x0