405427:	74 09                	je     0x405432
405429:	8b 45 08             	mov    0x8(%ebp),%eax
40542c:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
405430:	75 08                	jne    0x40543a
405432:	8b 45 f8             	mov    -0x8(%ebp),%eax
405435:	e9 c1 00 00 00       	jmp    0x4054fb
40543a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40543d:	8b 51 10             	mov    0x10(%ecx),%edx
405440:	c1 e2 02             	shl    $0x2,%edx
405443:	52                   	push   %edx
405444:	e8 37 14 00 00       	call   0x406880
405449:	83 c4 04             	add    $0x4,%esp
40544c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40544f:	8b 45 0c             	mov    0xc(%ebp),%eax
405452:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405455:	89 08                	mov    %ecx,(%eax)
405457:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40545b:	0f 84 97 00 00 00    	je     0x4054f8
405461:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405468:	eb 09                	jmp    0x405473
40546a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40546d:	83 c2 01             	add    $0x1,%edx
405470:	89 55 fc             	mov    %edx,-0x4(%ebp)
405473:	8b 45 08             	mov    0x8(%ebp),%eax
405476:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405479:	3b 48 10             	cmp    0x10(%eax),%ecx
40547c:	73 65                	jae    0x4054e3
40547e:	8b 55 fc             	mov    -0x4(%ebp),%edx
405481:	52                   	push   %edx
405482:	8b 45 08             	mov    0x8(%ebp),%eax
405485:	50                   	push   %eax
405486:	e8 a5 ca 00 00       	call   0x411f30
40548b:	83 c4 08             	add    $0x8,%esp
40548e:	89 45 f0             	mov    %eax,-0x10(%ebp)
405491:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
405495:	74 4a                	je     0x4054e1
405497:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40549a:	8b 51 08             	mov    0x8(%ecx),%edx
40549d:	89 55 ec             	mov    %edx,-0x14(%ebp)
4054a0:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4054a4:	74 3b                	je     0x4054e1
4054a6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4054ad:	8d 45 e8             	lea    -0x18(%ebp),%eax
4054b0:	50                   	push   %eax
4054b1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4054b4:	51                   	push   %ecx
4054b5:	e8 16 1f 00 00       	call   0x4073d0
4054ba:	83 c4 08             	add    $0x8,%esp
4054bd:	85 c0                	test   %eax,%eax
4054bf:	74 20                	je     0x4054e1
4054c1:	8b 55 0c             	mov    0xc(%ebp),%edx
4054c4:	8b 42 04             	mov    0x4(%edx),%eax
4054c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4054ca:	8b 11                	mov    (%ecx),%edx
4054cc:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4054cf:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
4054d2:	8b 55 0c             	mov    0xc(%ebp),%edx
4054d5:	8b 42 04             	mov    0x4(%edx),%eax
4054d8:	83 c0 01             	add    $0x1,%eax
4054db:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4054de:	89 41 04             	mov    %eax,0x4(%ecx)
4054e1:	eb 87                	jmp    0x40546a
4054e3:	8b 55 0c             	mov    0xc(%ebp),%edx
4054e6:	8b 45 08             	mov    0x8(%ebp),%eax
4054e9:	8b 4a 04             	mov    0x4(%edx),%ecx
4054ec:	3b 48 10             	cmp    0x10(%eax),%ecx
4054ef:	75 07                	jne    0x4054f8
4054f1:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4054f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4054fb:	8b e5                	mov    %ebp,%esp
4054fd:	5d                   	pop    %ebp
4054fe:	c3                   	ret
4054ff:	cc                   	int3
405500:	55                   	push   %ebp
405501:	8b ec                	mov    %esp,%ebp
405503:	51                   	push   %ecx
405504:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405508:	74 17                	je     0x405521
40550a:	8b 45 08             	mov    0x8(%ebp),%eax
40550d:	83 38 00             	cmpl   $0x0,(%eax)
405510:	74 0f                	je     0x405521
405512:	8b 4d 08             	mov    0x8(%ebp),%ecx
405515:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
405519:	74 06                	je     0x405521
40551b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40551f:	75 04                	jne    0x405525
405521:	33 c0                	xor    %eax,%eax
405523:	eb 74                	jmp    0x405599
405525:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40552c:	eb 09                	jmp    0x405537
40552e:	8b 55 fc             	mov    -0x4(%ebp),%edx
405531:	83 c2 01             	add    $0x1,%edx
405534:	89 55 fc             	mov    %edx,-0x4(%ebp)
405537:	8b 45 08             	mov    0x8(%ebp),%eax
40553a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40553d:	3b 48 04             	cmp    0x4(%eax),%ecx
405540:	73 55                	jae    0x405597
405542:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
405546:	74 25                	je     0x40556d
405548:	8b 55 0c             	mov    0xc(%ebp),%edx
40554b:	52                   	push   %edx
40554c:	8b 45 08             	mov    0x8(%ebp),%eax
40554f:	8b 08                	mov    (%eax),%ecx
405551:	8b 55 fc             	mov    -0x4(%ebp),%edx
405554:	8b 04 91             	mov    (%ecx,%edx,4),%eax
405557:	50                   	push   %eax
405558:	e8 e3 1a 00 00       	call   0x407040
40555d:	83 c4 08             	add    $0x8,%esp
405560:	85 c0                	test   %eax,%eax
405562:	74 07                	je     0x40556b
405564:	b8 01 00 00 00       	mov    $0x1,%eax
405569:	eb 2e                	jmp    0x405599
40556b:	eb 28                	jmp    0x405595
40556d:	8b 4d 08             	mov    0x8(%ebp),%ecx
405570:	8b 11                	mov    (%ecx),%edx
405572:	8b 45 fc             	mov    -0x4(%ebp),%eax
405575:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
405578:	51                   	push   %ecx
405579:	8b 55 0c             	mov    0xc(%ebp),%edx
40557c:	52                   	push   %edx
40557d:	e8 3e d0 ff ff       	call   0x4025c0
405582:	8b 40 38             	mov    0x38(%eax),%eax
405585:	ff d0                	call   *%eax
405587:	83 c4 08             	add    $0x8,%esp
40558a:	85 c0                	test   %eax,%eax
40558c:	74 07                	je     0x405595
40558e:	b8 01 00 00 00       	mov    $0x1,%eax
405593:	eb 04                	jmp    0x405599
405595:	eb 97                	jmp    0x40552e
405597:	33 c0                	xor    %eax,%eax
405599:	8b e5                	mov    %ebp,%esp
40559b:	5d                   	pop    %ebp
40559c:	c3                   	ret
40559d:	cc                   	int3
40559e:	cc                   	int3
40559f:	cc                   	int3
4055a0:	55                   	push   %ebp
4055a1:	8b ec                	mov    %esp,%ebp
4055a3:	6a 01                	push   $0x1
4055a5:	8b 45 0c             	mov    0xc(%ebp),%eax
4055a8:	50                   	push   %eax
4055a9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4055ac:	51                   	push   %ecx
4055ad:	e8 4e ff ff ff       	call   0x405500
4055b2:	83 c4 0c             	add    $0xc,%esp
4055b5:	5d                   	pop    %ebp
4055b6:	c3                   	ret
4055b7:	cc                   	int3
4055b8:	cc                   	int3
4055b9:	cc                   	int3
4055ba:	cc                   	int3
4055bb:	cc                   	int3
4055bc:	cc                   	int3
4055bd:	cc                   	int3
4055be:	cc                   	int3
4055bf:	cc                   	int3
4055c0:	55                   	push   %ebp
4055c1:	8b ec                	mov    %esp,%ebp
4055c3:	6a 00                	push   $0x0
4055c5:	8b 45 0c             	mov    0xc(%ebp),%eax
4055c8:	50                   	push   %eax
4055c9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4055cc:	51                   	push   %ecx
4055cd:	e8 2e ff ff ff       	call   0x405500
4055d2:	83 c4 0c             	add    $0xc,%esp
4055d5:	5d                   	pop    %ebp
4055d6:	c3                   	ret
4055d7:	cc                   	int3
4055d8:	cc                   	int3
4055d9:	cc                   	int3
4055da:	cc                   	int3
4055db:	cc                   	int3
4055dc:	cc                   	int3
4055dd:	cc                   	int3
4055de:	cc                   	int3
4055df:	cc                   	int3
4055e0:	55                   	push   %ebp
4055e1:	8b ec                	mov    %esp,%ebp
4055e3:	83 ec 08             	sub    $0x8,%esp
4055e6:	83 3d ac 73 41 00 00 	cmpl   $0x0,0x4173ac
4055ed:	74 06                	je     0x4055f5
4055ef:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4055f3:	75 07                	jne    0x4055fc
4055f5:	33 c0                	xor    %eax,%eax
4055f7:	e9 e8 00 00 00       	jmp    0x4056e4
4055fc:	8b 45 08             	mov    0x8(%ebp),%eax
4055ff:	50                   	push   %eax
405600:	e8 7b e5 ff ff       	call   0x403b80
405605:	8b 48 74             	mov    0x74(%eax),%ecx
405608:	51                   	push   %ecx
405609:	e8 32 1a 00 00       	call   0x407040
40560e:	83 c4 08             	add    $0x8,%esp
405611:	85 c0                	test   %eax,%eax
405613:	75 32                	jne    0x405647
405615:	8b 55 08             	mov    0x8(%ebp),%edx
405618:	52                   	push   %edx
405619:	e8 62 e5 ff ff       	call   0x403b80
40561e:	8b 40 2c             	mov    0x2c(%eax),%eax
405621:	50                   	push   %eax
405622:	e8 19 1a 00 00       	call   0x407040
405627:	83 c4 08             	add    $0x8,%esp
40562a:	85 c0                	test   %eax,%eax
40562c:	75 19                	jne    0x405647
40562e:	8b 4d 08             	mov    0x8(%ebp),%ecx
405631:	51                   	push   %ecx
405632:	e8 49 e5 ff ff       	call   0x403b80
405637:	8b 50 68             	mov    0x68(%eax),%edx
40563a:	52                   	push   %edx
40563b:	e8 00 1a 00 00       	call   0x407040
405640:	83 c4 08             	add    $0x8,%esp
405643:	85 c0                	test   %eax,%eax
405645:	74 0a                	je     0x405651
405647:	b8 01 00 00 00       	mov    $0x1,%eax
40564c:	e9 93 00 00 00       	jmp    0x4056e4
405651:	8b 45 08             	mov    0x8(%ebp),%eax
405654:	50                   	push   %eax
405655:	8b 0d a8 73 41 00    	mov    0x4173a8,%ecx
40565b:	83 c1 40             	add    $0x40,%ecx
40565e:	51                   	push   %ecx
40565f:	e8 3c ff ff ff       	call   0x4055a0
405664:	83 c4 08             	add    $0x8,%esp
405667:	85 c0                	test   %eax,%eax
405669:	74 09                	je     0x405674
40566b:	b8 01 00 00 00       	mov    $0x1,%eax
405670:	eb 72                	jmp    0x4056e4
405672:	eb 6e                	jmp    0x4056e2
405674:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40567b:	8b 55 08             	mov    0x8(%ebp),%edx
40567e:	52                   	push   %edx
40567f:	e8 dc 13 00 00       	call   0x406a60
405684:	83 c4 04             	add    $0x4,%esp
405687:	89 45 fc             	mov    %eax,-0x4(%ebp)
40568a:	eb 09                	jmp    0x405695
40568c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40568f:	83 e8 01             	sub    $0x1,%eax
405692:	89 45 fc             	mov    %eax,-0x4(%ebp)
405695:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405699:	76 20                	jbe    0x4056bb
40569b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40569e:	8b 55 08             	mov    0x8(%ebp),%edx
4056a1:	0f b7 04 4a          	movzwl (%edx,%ecx,2),%eax
4056a5:	83 f8 2e             	cmp    $0x2e,%eax
4056a8:	75 0f                	jne    0x4056b9
4056aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4056ad:	8b 55 08             	mov    0x8(%ebp),%edx
4056b0:	8d 44 4a 02          	lea    0x2(%edx,%ecx,2),%eax
4056b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4056b7:	eb 02                	jmp    0x4056bb
4056b9:	eb d1                	jmp    0x40568c
4056bb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4056bf:	74 21                	je     0x4056e2
4056c1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4056c4:	51                   	push   %ecx
4056c5:	8b 15 a8 73 41 00    	mov    0x4173a8,%edx
4056cb:	83 c2 48             	add    $0x48,%edx
4056ce:	52                   	push   %edx
4056cf:	e8 cc fe ff ff       	call   0x4055a0
4056d4:	83 c4 08             	add    $0x8,%esp
4056d7:	85 c0                	test   %eax,%eax
4056d9:	74 07                	je     0x4056e2
4056db:	b8 01 00 00 00       	mov    $0x1,%eax
4056e0:	eb 02                	jmp    0x4056e4
4056e2:	33 c0                	xor    %eax,%eax
4056e4:	8b e5                	mov    %ebp,%esp
4056e6:	5d                   	pop    %ebp
4056e7:	c3                   	ret
4056e8:	cc                   	int3
4056e9:	cc                   	int3
4056ea:	cc                   	int3
4056eb:	cc                   	int3
4056ec:	cc                   	int3
4056ed:	cc                   	int3
4056ee:	cc                   	int3
4056ef:	cc                   	int3
4056f0:	55                   	push   %ebp
4056f1:	8b ec                	mov    %esp,%ebp
4056f3:	83 3d ac 73 41 00 00 	cmpl   $0x0,0x4173ac
4056fa:	74 06                	je     0x405702
4056fc:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405700:	75 04                	jne    0x405706
405702:	33 c0                	xor    %eax,%eax
405704:	eb 42                	jmp    0x405748
405706:	8b 45 08             	mov    0x8(%ebp),%eax
405709:	50                   	push   %eax
40570a:	e8 71 e4 ff ff       	call   0x403b80
40570f:	8b 48 2c             	mov    0x2c(%eax),%ecx
405712:	51                   	push   %ecx
405713:	e8 28 19 00 00       	call   0x407040
405718:	83 c4 08             	add    $0x8,%esp
40571b:	85 c0                	test   %eax,%eax
40571d:	74 07                	je     0x405726
40571f:	b8 01 00 00 00       	mov    $0x1,%eax
405724:	eb 22                	jmp    0x405748
405726:	8b 55 08             	mov    0x8(%ebp),%edx
405729:	52                   	push   %edx
40572a:	a1 a8 73 41 00       	mov    0x4173a8,%eax
40572f:	83 c0 38             	add    $0x38,%eax
405732:	50                   	push   %eax
405733:	e8 68 fe ff ff       	call   0x4055a0
405738:	83 c4 08             	add    $0x8,%esp
40573b:	85 c0                	test   %eax,%eax
40573d:	74 07                	je     0x405746
40573f:	b8 01 00 00 00       	mov    $0x1,%eax
405744:	eb 02                	jmp    0x405748
405746:	33 c0                	xor    %eax,%eax
405748:	5d                   	pop    %ebp
405749:	c3                   	ret
40574a:	cc                   	int3
40574b:	cc                   	int3
40574c:	cc                   	int3
40574d:	cc                   	int3
40574e:	cc                   	int3
40574f:	cc                   	int3
405750:	55                   	push   %ebp
405751:	8b ec                	mov    %esp,%ebp
405753:	83 ec 08             	sub    $0x8,%esp
405756:	83 3d ac 73 41 00 00 	cmpl   $0x0,0x4173ac
40575d:	74 11                	je     0x405770
40575f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405763:	74 0b                	je     0x405770
405765:	a1 a8 73 41 00       	mov    0x4173a8,%eax
40576a:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
40576e:	75 04                	jne    0x405774
405770:	33 c0                	xor    %eax,%eax
405772:	eb 70                	jmp    0x4057e4
405774:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40577b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40577e:	51                   	push   %ecx
40577f:	e8 dc 12 00 00       	call   0x406a60
405784:	83 c4 04             	add    $0x4,%esp
405787:	89 45 fc             	mov    %eax,-0x4(%ebp)
40578a:	eb 09                	jmp    0x405795
40578c:	8b 55 fc             	mov    -0x4(%ebp),%edx
40578f:	83 ea 01             	sub    $0x1,%edx
405792:	89 55 fc             	mov    %edx,-0x4(%ebp)
405795:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405799:	76 20                	jbe    0x4057bb
40579b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40579e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4057a1:	0f b7 14 41          	movzwl (%ecx,%eax,2),%edx
4057a5:	83 fa 2e             	cmp    $0x2e,%edx
4057a8:	75 0f                	jne    0x4057b9
4057aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4057ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
4057b0:	8d 54 41 02          	lea    0x2(%ecx,%eax,2),%edx
4057b4:	89 55 f8             	mov    %edx,-0x8(%ebp)
4057b7:	eb 02                	jmp    0x4057bb
4057b9:	eb d1                	jmp    0x40578c
4057bb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4057bf:	74 21                	je     0x4057e2