4055c6:	0f 84 93 00 00 00    	je     0x40565f
4055cc:	6a 01                	push   $0x1
4055ce:	ff 35 80 25 43 00    	push   0x432580
4055d4:	6a 30                	push   $0x30
4055d6:	59                   	pop    %ecx
4055d7:	51                   	push   %ecx
4055d8:	50                   	push   %eax
4055d9:	ff 15 10 33 43 00    	call   *0x433310
4055df:	85 ff                	test   %edi,%edi
4055e1:	74 67                	je     0x40564a
4055e3:	8b 06                	mov    (%esi),%eax
4055e5:	03 c3                	add    %ebx,%eax
4055e7:	6a 30                	push   $0x30
4055e9:	59                   	pop    %ecx
4055ea:	66 39 08             	cmp    %cx,(%eax)
4055ed:	75 27                	jne    0x405616
4055ef:	68 ff 00 00 00       	push   $0xff
4055f4:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
4055fa:	51                   	push   %ecx
4055fb:	50                   	push   %eax
4055fc:	ff 15 fc 33 43 00    	call   *0x4333fc
405602:	59                   	pop    %ecx
405603:	50                   	push   %eax
405604:	ff 35 0c 19 41 00    	push   0x41190c
40560a:	ff 15 20 33 43 00    	call   *0x433320
405610:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
405616:	50                   	push   %eax
405617:	6a 00                	push   $0x0
405619:	68 80 01 00 00       	push   $0x180
40561e:	ff 35 8c 25 43 00    	push   0x43258c
405624:	ff 15 10 33 43 00    	call   *0x433310
40562a:	83 f8 ff             	cmp    $0xffffffff,%eax
40562d:	74 13                	je     0x405642
40562f:	56                   	push   %esi
405630:	50                   	push   %eax
405631:	68 9a 01 00 00       	push   $0x19a
405636:	ff 35 8c 25 43 00    	push   0x43258c
40563c:	ff 15 10 33 43 00    	call   *0x433310
405642:	83 c6 10             	add    $0x10,%esi
405645:	83 ef 01             	sub    $0x1,%edi
405648:	75 99                	jne    0x4055e3
40564a:	6a 00                	push   $0x0
40564c:	6a 00                	push   $0x0
40564e:	68 86 01 00 00       	push   $0x186
405653:	ff 35 8c 25 43 00    	push   0x43258c
405659:	ff 15 10 33 43 00    	call   *0x433310
40565f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405662:	5f                   	pop    %edi
405663:	5e                   	pop    %esi
405664:	33 cd                	xor    %ebp,%ecx
405666:	5b                   	pop    %ebx
405667:	e8 c4 ad 00 00       	call   0x410430
40566c:	c9                   	leave
40566d:	c3                   	ret
40566e:	8b ff                	mov    %edi,%edi
405670:	55                   	push   %ebp
405671:	8b ec                	mov    %esp,%ebp
405673:	a1 8c 25 43 00       	mov    0x43258c,%eax
405678:	53                   	push   %ebx
405679:	8b 5a 08             	mov    0x8(%edx),%ebx
40567c:	56                   	push   %esi
40567d:	33 f6                	xor    %esi,%esi
40567f:	57                   	push   %edi
405680:	85 c0                	test   %eax,%eax
405682:	75 1b                	jne    0x40569f
405684:	8b 53 04             	mov    0x4(%ebx),%edx
405687:	03 d3                	add    %ebx,%edx
405689:	e8 12 fa ff ff       	call   0x4050a0
40568e:	85 c0                	test   %eax,%eax
405690:	74 09                	je     0x40569b
405692:	a1 8c 25 43 00       	mov    0x43258c,%eax
405697:	85 c0                	test   %eax,%eax
405699:	75 04                	jne    0x40569f
40569b:	33 c0                	xor    %eax,%eax
40569d:	eb 7c                	jmp    0x40571b
40569f:	56                   	push   %esi
4056a0:	56                   	push   %esi
4056a1:	68 88 01 00 00       	push   $0x188
4056a6:	50                   	push   %eax
4056a7:	ff 15 10 33 43 00    	call   *0x433310
4056ad:	83 f8 ff             	cmp    $0xffffffff,%eax
4056b0:	74 67                	je     0x405719
4056b2:	56                   	push   %esi
4056b3:	50                   	push   %eax
4056b4:	68 99 01 00 00       	push   $0x199
4056b9:	ff 35 8c 25 43 00    	push   0x43258c
4056bf:	ff 15 10 33 43 00    	call   *0x433310
4056c5:	ff 75 10             	push   0x10(%ebp)
4056c8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4056cb:	8b f0                	mov    %eax,%esi
4056cd:	57                   	push   %edi
4056ce:	8b 4e 08             	mov    0x8(%esi),%ecx
4056d1:	8b 56 04             	mov    0x4(%esi),%edx
4056d4:	51                   	push   %ecx
4056d5:	03 d3                	add    %ebx,%edx
4056d7:	89 0f                	mov    %ecx,(%edi)
4056d9:	e8 92 14 00 00       	call   0x406b70
4056de:	81 3e b2 6d 01 00    	cmpl   $0x16db2,(%esi)
4056e4:	75 30                	jne    0x405716
4056e6:	8b 17                	mov    (%edi),%edx
4056e8:	be dc 00 00 00       	mov    $0xdc,%esi
4056ed:	8b ca                	mov    %edx,%ecx
4056ef:	eb 11                	jmp    0x405702
4056f1:	66 8b 04 4d 0e 19 41 	mov    0x41190e(,%ecx,2),%ax
4056f8:	00
4056f9:	66 89 04 4d 10 19 41 	mov    %ax,0x411910(,%ecx,2)
405700:	00
405701:	49                   	dec    %ecx
405702:	3b ce                	cmp    %esi,%ecx
405704:	77 eb                	ja     0x4056f1
405706:	b8 ff 32 00 00       	mov    $0x32ff,%eax
40570b:	66 a3 c8 1a 41 00    	mov    %ax,0x411ac8
405711:	8d 42 01             	lea    0x1(%edx),%eax
405714:	89 07                	mov    %eax,(%edi)
405716:	33 f6                	xor    %esi,%esi
405718:	46                   	inc    %esi
405719:	8b c6                	mov    %esi,%eax
40571b:	5f                   	pop    %edi
40571c:	5e                   	pop    %esi
40571d:	5b                   	pop    %ebx
40571e:	5d                   	pop    %ebp
40571f:	c2 0c 00             	ret    $0xc
405722:	8b ff                	mov    %edi,%edi
405724:	55                   	push   %ebp
405725:	8b ec                	mov    %esp,%ebp
405727:	81 ec c8 00 00 00    	sub    $0xc8,%esp
40572d:	a1 64 10 41 00       	mov    0x411064,%eax
405732:	33 c5                	xor    %ebp,%eax
405734:	89 45 f8             	mov    %eax,-0x8(%ebp)
405737:	53                   	push   %ebx
405738:	8b 5d 08             	mov    0x8(%ebp),%ebx
40573b:	56                   	push   %esi
40573c:	57                   	push   %edi
40573d:	6a fe                	push   $0xfffffffe
40573f:	8b f9                	mov    %ecx,%edi
405741:	ff 15 e4 31 43 00    	call   *0x4331e4
405747:	83 3d 88 25 43 00 00 	cmpl   $0x0,0x432588
40574e:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
405754:	0f 85 44 02 00 00    	jne    0x40599e
40575a:	8b cf                	mov    %edi,%ecx
40575c:	e8 41 f7 ff ff       	call   0x404ea2
405761:	8b 43 08             	mov    0x8(%ebx),%eax
405764:	8b 48 04             	mov    0x4(%eax),%ecx
405767:	03 c8                	add    %eax,%ecx
405769:	89 0d c0 18 41 00    	mov    %ecx,0x4118c0
40576f:	66 83 39 30          	cmpw   $0x30,(%ecx)
405773:	75 26                	jne    0x40579b
405775:	68 00 01 00 00       	push   $0x100
40577a:	be c0 16 41 00       	mov    $0x4116c0,%esi
40577f:	56                   	push   %esi
405780:	51                   	push   %ecx
405781:	ff 15 fc 33 43 00    	call   *0x4333fc
405787:	59                   	pop    %ecx
405788:	50                   	push   %eax
405789:	ff 35 0c 19 41 00    	push   0x41190c
40578f:	ff 15 20 33 43 00    	call   *0x433320
405795:	89 35 c0 18 41 00    	mov    %esi,0x4118c0
40579b:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
4057a1:	50                   	push   %eax
4057a2:	57                   	push   %edi
4057a3:	ff 15 e0 31 43 00    	call   *0x4331e0
4057a9:	6a ec                	push   $0xffffffec
4057ab:	57                   	push   %edi
4057ac:	ff 15 fc 32 43 00    	call   *0x4332fc
4057b2:	51                   	push   %ecx
4057b3:	8b f0                	mov    %eax,%esi
4057b5:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
4057bb:	51                   	push   %ecx
4057bc:	81 e6 00 00 40 00    	and    $0x400000,%esi
4057c2:	8b cb                	mov    %ebx,%ecx
4057c4:	50                   	push   %eax
4057c5:	81 ce 00 02 00 00    	or     $0x200,%esi
4057cb:	56                   	push   %esi
4057cc:	e8 f2 01 00 00       	call   0x4059c3
4057d1:	6a 40                	push   $0x40
4057d3:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4057d9:	89 1d 74 25 43 00    	mov    %ebx,0x432574
4057df:	50                   	push   %eax
4057e0:	6a 72                	push   $0x72
4057e2:	ff 35 0c 19 41 00    	push   0x41190c
4057e8:	ff 15 20 33 43 00    	call   *0x433320
4057ee:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
4057f4:	8b cf                	mov    %edi,%ecx
4057f6:	e8 1e f8 ff ff       	call   0x405019
4057fb:	33 db                	xor    %ebx,%ebx
4057fd:	53                   	push   %ebx
4057fe:	ff 35 0c 19 41 00    	push   0x41190c
405804:	53                   	push   %ebx
405805:	57                   	push   %edi
405806:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
40580c:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
405812:	ff b5 4c ff ff ff    	push   -0xb4(%ebp)
405818:	50                   	push   %eax
405819:	68 00 00 c8 00       	push   $0xc80000
40581e:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
405824:	50                   	push   %eax
405825:	68 24 15 40 00       	push   $0x401524
40582a:	56                   	push   %esi
40582b:	ff 15 e8 31 43 00    	call   *0x4331e8
405831:	8b f0                	mov    %eax,%esi
405833:	85 f6                	test   %esi,%esi
405835:	0f 84 63 01 00 00    	je     0x40599e
40583b:	bf 5c 15 40 00       	mov    $0x40155c,%edi
405840:	c7 85 58 ff ff ff 1c 	movl   $0x1c,-0xa8(%ebp)
405847:	00 00 00
40584a:	89 35 88 25 43 00    	mov    %esi,0x432588
405850:	39 1d 6c 25 43 00    	cmp    %ebx,0x43256c
405856:	0f 84 92 00 00 00    	je     0x4058ee
40585c:	8b 0d f0 18 41 00    	mov    0x4118f0,%ecx
405862:	a1 f4 18 41 00       	mov    0x4118f4,%eax
405867:	0f af 0d 68 25 43 00 	imul   0x432568,%ecx
40586e:	0f af 05 64 25 43 00 	imul   0x432564,%eax
405875:	53                   	push   %ebx
405876:	ff 35 0c 19 41 00    	push   0x41190c
40587c:	03 0d f8 18 41 00    	add    0x4118f8,%ecx
405882:	68 2e 01 00 00       	push   $0x12e
405887:	56                   	push   %esi
405888:	53                   	push   %ebx
405889:	50                   	push   %eax
40588a:	51                   	push   %ecx
40588b:	ff 35 dc 18 41 00    	push   0x4118dc
405891:	68 02 00 00 50       	push   $0x50000002
405896:	57                   	push   %edi
405897:	68 10 15 40 00       	push   $0x401510
40589c:	53                   	push   %ebx
40589d:	ff 15 e8 31 43 00    	call   *0x4331e8
4058a3:	8b 0d 6c 25 43 00    	mov    0x43256c,%ecx
4058a9:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4058af:	8b 0d 64 25 43 00    	mov    0x432564,%ecx
4058b5:	6a 01                	push   $0x1
4058b7:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
4058bd:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4058c3:	51                   	push   %ecx
4058c4:	6a 02                	push   $0x2
4058c6:	50                   	push   %eax
4058c7:	a3 c8 18 41 00       	mov    %eax,0x4118c8
4058cc:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
4058d2:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
4058d8:	c7 85 5c ff ff ff 07 	movl   $0x7,-0xa4(%ebp)
4058df:	00 00 00
4058e2:	ff 15 18 32 43 00    	call   *0x433218
4058e8:	89 1d 6c 25 43 00    	mov    %ebx,0x43256c
4058ee:	39 1d 70 25 43 00    	cmp    %ebx,0x432570
4058f4:	0f 84 9b 00 00 00    	je     0x405995
4058fa:	a1 f0 18 41 00       	mov    0x4118f0,%eax
4058ff:	0f af 05 68 25 43 00 	imul   0x432568,%eax
405906:	8b 0d f4 18 41 00    	mov    0x4118f4,%ecx
40590c:	0f af 0d 64 25 43 00 	imul   0x432564,%ecx
405913:	53                   	push   %ebx
405914:	ff 35 0c 19 41 00    	push   0x41190c
40591a:	68 2f 01 00 00       	push   $0x12f
40591f:	03 0d e8 18 41 00    	add    0x4118e8,%ecx
405925:	03 0d dc 18 41 00    	add    0x4118dc,%ecx
40592b:	56                   	push   %esi
40592c:	50                   	push   %eax
40592d:	53                   	push   %ebx
40592e:	ff 35 f8 18 41 00    	push   0x4118f8
405934:	51                   	push   %ecx
405935:	68 03 00 00 50       	push   $0x50000003
40593a:	57                   	push   %edi
40593b:	68 10 15 40 00       	push   $0x401510
405940:	53                   	push   %ebx
405941:	ff 15 e8 31 43 00    	call   *0x4331e8
405947:	8b 0d 70 25 43 00    	mov    0x432570,%ecx
40594d:	8b 15 68 25 43 00    	mov    0x432568,%edx
405953:	49                   	dec    %ecx
405954:	03 ca                	add    %edx,%ecx
405956:	a3 c4 18 41 00       	mov    %eax,0x4118c4
40595b:	6a 01                	push   $0x1
40595d:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
405963:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
405969:	51                   	push   %ecx
40596a:	6a 02                	push   $0x2
40596c:	50                   	push   %eax
40596d:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
405973:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
405979:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
40597f:	c7 85 5c ff ff ff 07 	movl   $0x7,-0xa4(%ebp)
405986:	00 00 00
405989:	ff 15 18 32 43 00    	call   *0x433218
40598f:	89 1d 70 25 43 00    	mov    %ebx,0x432570
405995:	6a 01                	push   $0x1
405997:	56                   	push   %esi
405998:	ff 15 f4 31 43 00    	call   *0x4331f4
40599e:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
4059a4:	8b 35 88 25 43 00    	mov    0x432588,%esi
4059aa:	ff 15 e4 31 43 00    	call   *0x4331e4
4059b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4059b3:	8b c6                	mov    %esi,%eax
4059b5:	5f                   	pop    %edi
4059b6:	5e                   	pop    %esi
4059b7:	33 cd                	xor    %ebp,%ecx
4059b9:	5b                   	pop    %ebx
4059ba:	e8 71 aa 00 00       	call   0x410430
4059bf:	c9                   	leave
4059c0:	c2 04 00             	ret    $0x4
4059c3:	8b ff                	mov    %edi,%edi
4059c5:	55                   	push   %ebp
4059c6:	8b ec                	mov    %esp,%ebp
4059c8:	83 ec 2c             	sub    $0x2c,%esp
4059cb:	a1 64 10 41 00       	mov    0x411064,%eax
4059d0:	33 c5                	xor    %ebp,%eax
4059d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4059d5:	33 c0                	xor    %eax,%eax
4059d7:	53                   	push   %ebx
4059d8:	8b 59 08             	mov    0x8(%ecx),%ebx
4059db:	a3 70 25 43 00       	mov    %eax,0x432570
4059e0:	a3 6c 25 43 00       	mov    %eax,0x43256c
4059e5:	89 45 e0             	mov    %eax,-0x20(%ebp)
4059e8:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
4059ec:	a3 ac 10 41 00       	mov    %eax,0x4110ac
4059f1:	8b ca                	mov    %edx,%ecx
4059f3:	0f af 0d f4 18 41 00 	imul   0x4118f4,%ecx
4059fa:	a3 a8 10 41 00       	mov    %eax,0x4110a8
4059ff:	a3 68 25 43 00       	mov    %eax,0x432568
405a04:	a3 60 25 43 00       	mov    %eax,0x432560
405a09:	a3 c4 18 41 00       	mov    %eax,0x4118c4
405a0e:	a3 c8 18 41 00       	mov    %eax,0x4118c8
405a13:	a1 ec 18 41 00       	mov    0x4118ec,%eax
405a18:	03 05 f8 18 41 00    	add    0x4118f8,%eax
405a1e:	56                   	push   %esi
405a1f:	8b 75 0c             	mov    0xc(%ebp),%esi
405a22:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405a25:	a1 fc 18 41 00       	mov    0x4118fc,%eax
405a2a:	57                   	push   %edi
405a2b:	6a 0a                	push   $0xa
405a2d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405a30:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
405a33:	89 15 64 25 43 00    	mov    %edx,0x432564
405a39:	0f b7 43 0c          	movzwl 0xc(%ebx),%eax
405a3d:	5b                   	pop    %ebx
405a3e:	66 3b c3             	cmp    %bx,%ax
405a41:	76 27                	jbe    0x405a6a
405a43:	6a 02                	push   $0x2
405a45:	ff 15 ec 31 43 00    	call   *0x4331ec
405a4b:	03 f8                	add    %eax,%edi
405a4d:	8b 45 e8             	mov    -0x18(%ebp),%eax
405a50:	03 3d e8 18 41 00    	add    0x4118e8,%edi
405a56:	0f b7 40 0c          	movzwl 0xc(%eax),%eax
405a5a:	2b c3                	sub    %ebx,%eax
405a5c:	a3 70 25 43 00       	mov    %eax,0x432570
405a61:	6b 05 f0 18 41 00 0a 	imul   $0xa,0x4118f0,%eax
405a68:	eb 09                	jmp    0x405a73
405a6a:	8b d8                	mov    %eax,%ebx
405a6c:	0f af 05 f0 18 41 00 	imul   0x4118f0,%eax
405a73:	03 45 e4             	add    -0x1c(%ebp),%eax
405a76:	89 45 e8             	mov    %eax,-0x18(%ebp)
405a79:	33 c0                	xor    %eax,%eax
405a7b:	50                   	push   %eax
405a7c:	89 1d 68 25 43 00    	mov    %ebx,0x432568