402548:	0f 8c 27 ff ff ff    	jl     0x402475
40254e:	85 db                	test   %ebx,%ebx
402550:	74 28                	je     0x40257a
402552:	ff b5 d4 fb ff ff    	push   -0x42c(%ebp)
402558:	8b 9d d0 fb ff ff    	mov    -0x430(%ebp),%ebx
40255e:	8d 85 50 fe ff ff    	lea    -0x1b0(%ebp),%eax
402564:	ff b5 14 fc ff ff    	push   -0x3ec(%ebp)
40256a:	8b cb                	mov    %ebx,%ecx
40256c:	50                   	push   %eax
40256d:	56                   	push   %esi
40256e:	ff 15 ec 81 40 00    	call   *0x4081ec
402574:	ff d3                	call   *%ebx
402576:	85 c0                	test   %eax,%eax
402578:	75 32                	jne    0x4025ac
40257a:	8b 85 14 fc ff ff    	mov    -0x3ec(%ebp),%eax
402580:	8d 8d 50 fe ff ff    	lea    -0x1b0(%ebp),%ecx
402586:	40                   	inc    %eax
402587:	51                   	push   %ecx
402588:	50                   	push   %eax
402589:	56                   	push   %esi
40258a:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
402590:	ff 15 14 81 40 00    	call   *0x408114
402596:	8b 9d 10 fc ff ff    	mov    -0x3f0(%ebp),%ebx
40259c:	8b bd 00 fc ff ff    	mov    -0x400(%ebp),%edi
4025a2:	85 c0                	test   %eax,%eax
4025a4:	0f 85 9f fe ff ff    	jne    0x402449
4025aa:	33 c0                	xor    %eax,%eax
4025ac:	89 85 14 fc ff ff    	mov    %eax,-0x3ec(%ebp)
4025b2:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
4025b8:	e8 30 40 00 00       	call   0x4065ed
4025bd:	59                   	pop    %ecx
4025be:	83 fe ff             	cmp    $0xffffffff,%esi
4025c1:	74 07                	je     0x4025ca
4025c3:	56                   	push   %esi
4025c4:	ff 15 fc 80 40 00    	call   *0x4080fc
4025ca:	8b 85 14 fc ff ff    	mov    -0x3ec(%ebp),%eax
4025d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4025d3:	5f                   	pop    %edi
4025d4:	5e                   	pop    %esi
4025d5:	33 cd                	xor    %ebp,%ecx
4025d7:	5b                   	pop    %ebx
4025d8:	e8 03 43 00 00       	call   0x4068e0
4025dd:	c9                   	leave
4025de:	c2 14 00             	ret    $0x14
4025e1:	cc                   	int3
4025e2:	cc                   	int3
4025e3:	cc                   	int3
4025e4:	cc                   	int3
4025e5:	cc                   	int3
4025e6:	cc                   	int3
4025e7:	8b ff                	mov    %edi,%edi
4025e9:	55                   	push   %ebp
4025ea:	8b ec                	mov    %esp,%ebp
4025ec:	83 ec 18             	sub    $0x18,%esp
4025ef:	53                   	push   %ebx
4025f0:	56                   	push   %esi
4025f1:	57                   	push   %edi
4025f2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4025f5:	33 c0                	xor    %eax,%eax
4025f7:	6a 5c                	push   $0x5c
4025f9:	33 f6                	xor    %esi,%esi
4025fb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4025fe:	46                   	inc    %esi
4025ff:	89 45 f0             	mov    %eax,-0x10(%ebp)
402602:	ff 37                	push   (%edi)
402604:	89 45 fc             	mov    %eax,-0x4(%ebp)
402607:	ff 15 c4 81 40 00    	call   *0x4081c4
40260d:	59                   	pop    %ecx
40260e:	59                   	pop    %ecx
40260f:	85 c0                	test   %eax,%eax
402611:	75 07                	jne    0x40261a
402613:	8b 1f                	mov    (%edi),%ebx
402615:	89 5d f4             	mov    %ebx,-0xc(%ebp)
402618:	eb 0c                	jmp    0x402626
40261a:	50                   	push   %eax
40261b:	ff 15 5c 81 40 00    	call   *0x40815c
402621:	8b d8                	mov    %eax,%ebx
402623:	89 45 f4             	mov    %eax,-0xc(%ebp)
402626:	8b 55 08             	mov    0x8(%ebp),%edx
402629:	c7 45 ec 2d 00 00 00 	movl   $0x2d,-0x14(%ebp)
402630:	c7 45 e8 2f 00 00 00 	movl   $0x2f,-0x18(%ebp)
402637:	83 fa 01             	cmp    $0x1,%edx
40263a:	7e 74                	jle    0x4026b0
40263c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40263f:	8b 0c b7             	mov    (%edi,%esi,4),%ecx
402642:	0f b7 01             	movzwl (%ecx),%eax
402645:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
402649:	74 06                	je     0x402651
40264b:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
40264f:	75 59                	jne    0x4026aa
402651:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
402655:	83 f8 6d             	cmp    $0x6d,%eax
402658:	74 37                	je     0x402691
40265a:	83 f8 4d             	cmp    $0x4d,%eax
40265d:	74 32                	je     0x402691
40265f:	83 f8 72             	cmp    $0x72,%eax
402662:	74 1c                	je     0x402680
402664:	83 f8 52             	cmp    $0x52,%eax
402667:	74 17                	je     0x402680
402669:	83 f8 66             	cmp    $0x66,%eax
40266c:	74 05                	je     0x402673
40266e:	83 f8 46             	cmp    $0x46,%eax
402671:	75 37                	jne    0x4026aa
402673:	33 c0                	xor    %eax,%eax
402675:	66 39 41 04          	cmp    %ax,0x4(%ecx)
402679:	75 2f                	jne    0x4026aa
40267b:	83 cb 01             	or     $0x1,%ebx
40267e:	eb 25                	jmp    0x4026a5
402680:	33 c0                	xor    %eax,%eax
402682:	66 39 41 04          	cmp    %ax,0x4(%ecx)
402686:	75 22                	jne    0x4026aa
402688:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
40268f:	eb 14                	jmp    0x4026a5
402691:	66 83 79 04 3a       	cmpw   $0x3a,0x4(%ecx)
402696:	75 12                	jne    0x4026aa
402698:	83 c1 06             	add    $0x6,%ecx
40269b:	33 c0                	xor    %eax,%eax
40269d:	66 39 01             	cmp    %ax,(%ecx)
4026a0:	74 08                	je     0x4026aa
4026a2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4026a5:	46                   	inc    %esi
4026a6:	3b d6                	cmp    %esi,%edx
4026a8:	7f 95                	jg     0x40263f
4026aa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4026ad:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4026b0:	8b c2                	mov    %edx,%eax
4026b2:	2b c6                	sub    %esi,%eax
4026b4:	83 f8 01             	cmp    $0x1,%eax
4026b7:	0f 8c d7 00 00 00    	jl     0x402794
4026bd:	8b 04 b7             	mov    (%edi,%esi,4),%eax
4026c0:	6a 2d                	push   $0x2d
4026c2:	5a                   	pop    %edx
4026c3:	89 45 f4             	mov    %eax,-0xc(%ebp)
4026c6:	0f b7 08             	movzwl (%eax),%ecx
4026c9:	66 3b ca             	cmp    %dx,%cx
4026cc:	74 08                	je     0x4026d6
4026ce:	6a 2f                	push   $0x2f
4026d0:	5a                   	pop    %edx
4026d1:	66 3b ca             	cmp    %dx,%cx
4026d4:	75 0a                	jne    0x4026e0
4026d6:	50                   	push   %eax
4026d7:	ff 15 5c 81 40 00    	call   *0x40815c
4026dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4026e0:	8b 0d 00 70 40 00    	mov    0x407000,%ecx
4026e6:	46                   	inc    %esi
4026e7:	33 ff                	xor    %edi,%edi
4026e9:	85 c9                	test   %ecx,%ecx
4026eb:	0f 84 a3 00 00 00    	je     0x402794
4026f1:	51                   	push   %ecx
4026f2:	50                   	push   %eax
4026f3:	ff 15 dc 81 40 00    	call   *0x4081dc
4026f9:	59                   	pop    %ecx
4026fa:	59                   	pop    %ecx
4026fb:	85 c0                	test   %eax,%eax
4026fd:	75 07                	jne    0x402706
4026ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
402702:	3b ce                	cmp    %esi,%ecx
402704:	7d 15                	jge    0x40271b
402706:	47                   	inc    %edi
402707:	8b c7                	mov    %edi,%eax
402709:	c1 e0 04             	shl    $0x4,%eax
40270c:	8b 88 00 70 40 00    	mov    0x407000(%eax),%ecx
402712:	85 c9                	test   %ecx,%ecx
402714:	74 7e                	je     0x402794
402716:	8b 45 f4             	mov    -0xc(%ebp),%eax
402719:	eb d6                	jmp    0x4026f1
40271b:	c1 e7 04             	shl    $0x4,%edi
40271e:	8b 97 04 70 40 00    	mov    0x407004(%edi),%edx
402724:	89 55 f4             	mov    %edx,-0xc(%ebp)
402727:	3b ce                	cmp    %esi,%ecx
402729:	75 06                	jne    0x402731
40272b:	33 c0                	xor    %eax,%eax
40272d:	50                   	push   %eax
40272e:	50                   	push   %eax
40272f:	eb 0a                	jmp    0x40273b
402731:	8b 45 0c             	mov    0xc(%ebp),%eax
402734:	2b ce                	sub    %esi,%ecx
402736:	8d 04 b0             	lea    (%eax,%esi,4),%eax
402739:	50                   	push   %eax
40273a:	51                   	push   %ecx
40273b:	ff 75 fc             	push   -0x4(%ebp)
40273e:	8b ca                	mov    %edx,%ecx
402740:	ff 75 f8             	push   -0x8(%ebp)
402743:	53                   	push   %ebx
402744:	ff 15 ec 81 40 00    	call   *0x4081ec
40274a:	ff 55 f4             	call   *-0xc(%ebp)
40274d:	8b f0                	mov    %eax,%esi
40274f:	83 e8 00             	sub    $0x0,%eax
402752:	74 3c                	je     0x402790
402754:	83 e8 01             	sub    $0x1,%eax
402757:	74 2c                	je     0x402785
402759:	ff b7 00 70 40 00    	push   0x407000(%edi)
40275f:	48                   	dec    %eax
402760:	53                   	push   %ebx
402761:	83 e8 01             	sub    $0x1,%eax
402764:	74 07                	je     0x40276d
402766:	68 61 ea 00 00       	push   $0xea61
40276b:	eb 05                	jmp    0x402772
40276d:	68 62 ea 00 00       	push   $0xea62
402772:	6a 02                	push   $0x2
402774:	e8 00 47 00 00       	call   0x406e79
402779:	59                   	pop    %ecx
40277a:	50                   	push   %eax
40277b:	e8 5d f2 ff ff       	call   0x4019dd
402780:	83 c4 10             	add    $0x10,%esp
402783:	eb 0b                	jmp    0x402790
402785:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
402789:	74 05                	je     0x402790
40278b:	e8 2e f3 ff ff       	call   0x401abe
402790:	8b c6                	mov    %esi,%eax
402792:	eb 0a                	jmp    0x40279e
402794:	8b cb                	mov    %ebx,%ecx
402796:	e8 03 f3 ff ff       	call   0x401a9e
40279b:	6a 03                	push   $0x3
40279d:	58                   	pop    %eax
40279e:	5f                   	pop    %edi
40279f:	5e                   	pop    %esi
4027a0:	5b                   	pop    %ebx
4027a1:	c9                   	leave
4027a2:	c3                   	ret
4027a3:	cc                   	int3
4027a4:	cc                   	int3
4027a5:	cc                   	int3
4027a6:	cc                   	int3
4027a7:	cc                   	int3
4027a8:	cc                   	int3
4027a9:	8b ff                	mov    %edi,%edi
4027ab:	55                   	push   %ebp
4027ac:	8b ec                	mov    %esp,%ebp
4027ae:	81 ec c0 03 00 00    	sub    $0x3c0,%esp
4027b4:	a1 b4 71 40 00       	mov    0x4071b4,%eax
4027b9:	33 c5                	xor    %ebp,%eax
4027bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4027be:	53                   	push   %ebx
4027bf:	8b 5d 08             	mov    0x8(%ebp),%ebx
4027c2:	8d 85 44 fc ff ff    	lea    -0x3bc(%ebp),%eax
4027c8:	56                   	push   %esi
4027c9:	57                   	push   %edi
4027ca:	50                   	push   %eax
4027cb:	33 ff                	xor    %edi,%edi
4027cd:	89 95 40 fc ff ff    	mov    %edx,-0x3c0(%ebp)
4027d3:	51                   	push   %ecx
4027d4:	47                   	inc    %edi
4027d5:	c7 85 44 fc ff ff 26 	movl   $0x226,-0x3bc(%ebp)
4027dc:	02 00 00
4027df:	ff 15 0c 81 40 00    	call   *0x40810c
4027e5:	be c8 00 00 00       	mov    $0xc8,%esi
4027ea:	85 c0                	test   %eax,%eax
4027ec:	74 23                	je     0x402811
4027ee:	ff b5 58 fc ff ff    	push   -0x3a8(%ebp)
4027f4:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
4027fa:	6a 00                	push   $0x0
4027fc:	56                   	push   %esi
4027fd:	50                   	push   %eax
4027fe:	8b 85 40 fc ff ff    	mov    -0x3c0(%ebp),%eax
402804:	ff 70 14             	push   0x14(%eax)
402807:	ff 15 04 81 40 00    	call   *0x408104
40280d:	85 c0                	test   %eax,%eax
40280f:	74 3b                	je     0x40284c
402811:	8d 8d 6c fe ff ff    	lea    -0x194(%ebp),%ecx
402817:	ba b8 11 40 00       	mov    $0x4011b8,%edx
40281c:	8b c1                	mov    %ecx,%eax
40281e:	2b d0                	sub    %eax,%edx
402820:	8d 86 36 ff ff 7f    	lea    0x7fffff36(%esi),%eax
402826:	85 c0                	test   %eax,%eax
402828:	74 1b                	je     0x402845
40282a:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
40282e:	66 85 c0             	test   %ax,%ax
402831:	74 0b                	je     0x40283e
402833:	66 89 01             	mov    %ax,(%ecx)
402836:	83 c1 02             	add    $0x2,%ecx
402839:	83 ee 01             	sub    $0x1,%esi
40283c:	75 e2                	jne    0x402820
40283e:	85 f6                	test   %esi,%esi
402840:	75 03                	jne    0x402845
402842:	83 e9 02             	sub    $0x2,%ecx
402845:	33 c0                	xor    %eax,%eax
402847:	33 ff                	xor    %edi,%edi
402849:	66 89 01             	mov    %ax,(%ecx)
40284c:	8d 85 6c fe ff ff    	lea    -0x194(%ebp),%eax
402852:	85 db                	test   %ebx,%ebx
402854:	74 12                	je     0x402868
402856:	53                   	push   %ebx
402857:	50                   	push   %eax
402858:	68 bc 11 40 00       	push   $0x4011bc
40285d:	ff 15 bc 81 40 00    	call   *0x4081bc
402863:	83 c4 0c             	add    $0xc,%esp
402866:	eb 0e                	jmp    0x402876
402868:	50                   	push   %eax
402869:	68 d4 11 40 00       	push   $0x4011d4
40286e:	ff 15 bc 81 40 00    	call   *0x4081bc
402874:	59                   	pop    %ecx
402875:	59                   	pop    %ecx
402876:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402879:	8b c7                	mov    %edi,%eax
40287b:	5f                   	pop    %edi
40287c:	5e                   	pop    %esi
40287d:	33 cd                	xor    %ebp,%ecx
40287f:	5b                   	pop    %ebx
402880:	e8 5b 40 00 00       	call   0x4068e0
402885:	c9                   	leave
402886:	c2 04 00             	ret    $0x4
402889:	cc                   	int3
40288a:	cc                   	int3
40288b:	cc                   	int3
40288c:	cc                   	int3
40288d:	cc                   	int3
40288e:	cc                   	int3
40288f:	8b ff                	mov    %edi,%edi
402891:	53                   	push   %ebx
402892:	56                   	push   %esi
402893:	57                   	push   %edi
402894:	6a 0c                	push   $0xc
402896:	8b fa                	mov    %edx,%edi
402898:	8b d9                	mov    %ecx,%ebx
40289a:	e8 b7 f2 ff ff       	call   0x401b56
40289f:	8b f0                	mov    %eax,%esi
4028a1:	85 f6                	test   %esi,%esi
4028a3:	75 0c                	jne    0x4028b1
4028a5:	50                   	push   %eax
4028a6:	8b d7                	mov    %edi,%edx
4028a8:	8b cb                	mov    %ebx,%ecx
4028aa:	e8 a7 f2 ff ff       	call   0x401b56
4028af:	8b f0                	mov    %eax,%esi
4028b1:	56                   	push   %esi
4028b2:	8b d7                	mov    %edi,%edx
4028b4:	8b cb                	mov    %ebx,%ecx
4028b6:	e8 ee fe ff ff       	call   0x4027a9
4028bb:	8b f8                	mov    %eax,%edi
4028bd:	85 f6                	test   %esi,%esi
4028bf:	74 07                	je     0x4028c8
4028c1:	56                   	push   %esi
4028c2:	e8 26 3d 00 00       	call   0x4065ed
4028c7:	59                   	pop    %ecx
4028c8:	8b c7                	mov    %edi,%eax
4028ca:	5f                   	pop    %edi
4028cb:	5e                   	pop    %esi
4028cc:	5b                   	pop    %ebx
4028cd:	c3                   	ret
4028ce:	cc                   	int3
4028cf:	cc                   	int3
4028d0:	cc                   	int3
4028d1:	cc                   	int3
4028d2:	cc                   	int3
4028d3:	cc                   	int3
4028d4:	8b ff                	mov    %edi,%edi
4028d6:	53                   	push   %ebx
4028d7:	56                   	push   %esi
4028d8:	57                   	push   %edi
4028d9:	6a 0c                	push   $0xc