4064bc:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
4064c2:	83 f9 08             	cmp    $0x8,%ecx
4064c5:	72 31                	jb     0x4064f8
4064c7:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
4064cd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4064d4:	8b c2                	mov    %edx,%eax
4064d6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4064dc:	72 10                	jb     0x4064ee
4064de:	8b 50 fc             	mov    -0x4(%eax),%edx
4064e1:	83 c1 23             	add    $0x23,%ecx
4064e4:	2b c2                	sub    %edx,%eax
4064e6:	83 c0 fc             	add    $0xfffffffc,%eax
4064e9:	83 f8 1f             	cmp    $0x1f,%eax
4064ec:	77 37                	ja     0x406525
4064ee:	51                   	push   %ecx
4064ef:	52                   	push   %edx
4064f0:	e8 19 54 01 00       	call   0x41b90e
4064f5:	83 c4 08             	add    $0x8,%esp
4064f8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4064fb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406502:	59                   	pop    %ecx
406503:	5f                   	pop    %edi
406504:	5e                   	pop    %esi
406505:	5b                   	pop    %ebx
406506:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406509:	33 cd                	xor    %ebp,%ecx
40650b:	e8 c0 53 01 00       	call   0x41b8d0
406510:	8b e5                	mov    %ebp,%esp
406512:	5d                   	pop    %ebp
406513:	c2 2c 00             	ret    $0x2c
406516:	e8 85 ad ff ff       	call   0x4012a0
40651b:	e8 5f a5 01 00       	call   0x420a7f
406520:	e8 5a a5 01 00       	call   0x420a7f
406525:	e8 55 a5 01 00       	call   0x420a7f
40652a:	66 90                	xchg   %ax,%ax
40652c:	ca 5b 40             	lret   $0x405b
40652f:	00 c1                	add    %al,%cl
406531:	5b                   	pop    %ebx
406532:	40                   	inc    %eax
406533:	00 b8 5b 40 00 4a    	add    %bh,0x4a00405b(%eax)
406539:	5b                   	pop    %ebx
40653a:	40                   	inc    %eax
40653b:	00 af 5b 40 00 a6    	add    %ch,-0x59ffbfa5(%edi)
406541:	5b                   	pop    %ebx
406542:	40                   	inc    %eax
406543:	00 d3                	add    %dl,%bl
406545:	5b                   	pop    %ebx
406546:	40                   	inc    %eax
406547:	00 dc                	add    %bl,%ah
406549:	5b                   	pop    %ebx
40654a:	40                   	inc    %eax
40654b:	00 00                	add    %al,(%eax)
40654d:	07                   	pop    %es
40654e:	07                   	pop    %es
40654f:	07                   	pop    %es
406550:	07                   	pop    %es
406551:	07                   	pop    %es
406552:	07                   	pop    %es
406553:	07                   	pop    %es
406554:	07                   	pop    %es
406555:	07                   	pop    %es
406556:	01 07                	add    %eax,(%edi)
406558:	07                   	pop    %es
406559:	07                   	pop    %es
40655a:	07                   	pop    %es
40655b:	07                   	pop    %es
40655c:	07                   	pop    %es
40655d:	07                   	pop    %es
40655e:	07                   	pop    %es
40655f:	07                   	pop    %es
406560:	02 07                	add    (%edi),%al
406562:	07                   	pop    %es
406563:	07                   	pop    %es
406564:	07                   	pop    %es
406565:	07                   	pop    %es
406566:	07                   	pop    %es
406567:	07                   	pop    %es
406568:	07                   	pop    %es
406569:	07                   	pop    %es
40656a:	03 07                	add    (%edi),%eax
40656c:	07                   	pop    %es
40656d:	07                   	pop    %es
40656e:	07                   	pop    %es
40656f:	07                   	pop    %es
406570:	07                   	pop    %es
406571:	07                   	pop    %es
406572:	07                   	pop    %es
406573:	07                   	pop    %es
406574:	04 07                	add    $0x7,%al
406576:	07                   	pop    %es
406577:	07                   	pop    %es
406578:	07                   	pop    %es
406579:	07                   	pop    %es
40657a:	07                   	pop    %es
40657b:	07                   	pop    %es
40657c:	07                   	pop    %es
40657d:	07                   	pop    %es
40657e:	05 07 07 07 07       	add    $0x7070707,%eax
406583:	07                   	pop    %es
406584:	07                   	pop    %es
406585:	07                   	pop    %es
406586:	07                   	pop    %es
406587:	07                   	pop    %es
406588:	06                   	push   %es
406589:	cc                   	int3
40658a:	cc                   	int3
40658b:	cc                   	int3
40658c:	cc                   	int3
40658d:	cc                   	int3
40658e:	cc                   	int3
40658f:	cc                   	int3
406590:	55                   	push   %ebp
406591:	8b ec                	mov    %esp,%ebp
406593:	6a ff                	push   $0xffffffff
406595:	68 4b d7 43 00       	push   $0x43d74b
40659a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4065a0:	50                   	push   %eax
4065a1:	b8 5c 20 00 00       	mov    $0x205c,%eax
4065a6:	e8 85 63 01 00       	call   0x41c930
4065ab:	a1 14 40 45 00       	mov    0x454014,%eax
4065b0:	33 c5                	xor    %ebp,%eax
4065b2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4065b5:	53                   	push   %ebx
4065b6:	56                   	push   %esi
4065b7:	57                   	push   %edi
4065b8:	50                   	push   %eax
4065b9:	8d 45 f4             	lea    -0xc(%ebp),%eax
4065bc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4065c2:	8b f9                	mov    %ecx,%edi
4065c4:	8b 45 14             	mov    0x14(%ebp),%eax
4065c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4065ca:	8b 55 10             	mov    0x10(%ebp),%edx
4065cd:	8b 75 28             	mov    0x28(%ebp),%esi
4065d0:	89 85 ac df ff ff    	mov    %eax,-0x2054(%ebp)
4065d6:	8b 45 18             	mov    0x18(%ebp),%eax
4065d9:	89 85 b0 df ff ff    	mov    %eax,-0x2050(%ebp)
4065df:	8b 45 1c             	mov    0x1c(%ebp),%eax
4065e2:	89 85 a0 df ff ff    	mov    %eax,-0x2060(%ebp)
4065e8:	8b 45 20             	mov    0x20(%ebp),%eax
4065eb:	89 85 a4 df ff ff    	mov    %eax,-0x205c(%ebp)
4065f1:	8b 45 24             	mov    0x24(%ebp),%eax
4065f4:	89 85 b4 df ff ff    	mov    %eax,-0x204c(%ebp)
4065fa:	8b 45 08             	mov    0x8(%ebp),%eax
4065fd:	89 8d b8 df ff ff    	mov    %ecx,-0x2048(%ebp)
406603:	89 95 bc df ff ff    	mov    %edx,-0x2044(%ebp)
406609:	89 b5 a8 df ff ff    	mov    %esi,-0x2058(%ebp)
40660f:	39 47 64             	cmp    %eax,0x64(%edi)
406612:	0f 8f 99 02 00 00    	jg     0x4068b1
406618:	8a 5d 34             	mov    0x34(%ebp),%bl
40661b:	84 db                	test   %bl,%bl
40661d:	0f 84 98 00 00 00    	je     0x4066bb
406623:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
406629:	85 c0                	test   %eax,%eax
40662b:	74 76                	je     0x4066a3
40662d:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
406634:	74 6d                	je     0x4066a3
406636:	8b 00                	mov    (%eax),%eax
406638:	85 c0                	test   %eax,%eax
40663a:	74 67                	je     0x4066a3
40663c:	68 d0 07 00 00       	push   $0x7d0
406641:	50                   	push   %eax
406642:	ff 15 d0 f0 43 00    	call   *0x43f0d0
406648:	85 c0                	test   %eax,%eax
40664a:	74 07                	je     0x406653
40664c:	3d 80 00 00 00       	cmp    $0x80,%eax
406651:	75 50                	jne    0x4066a3
406653:	8b 8f f8 00 00 00    	mov    0xf8(%edi),%ecx
406659:	2b 8f f0 00 00 00    	sub    0xf0(%edi),%ecx
40665f:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
406665:	1b 87 f4 00 00 00    	sbb    0xf4(%edi),%eax
40666b:	78 42                	js     0x4066af
40666d:	7f 08                	jg     0x406677
40666f:	81 f9 84 03 00 00    	cmp    $0x384,%ecx
406675:	72 38                	jb     0x4066af
406677:	51                   	push   %ecx
406678:	8b cf                	mov    %edi,%ecx
40667a:	e8 91 e9 00 00       	call   0x415010
40667f:	8b 95 bc df ff ff    	mov    -0x2044(%ebp),%edx
406685:	84 c0                	test   %al,%al
406687:	74 2c                	je     0x4066b5
406689:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
40668f:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
406695:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
40669b:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
4066a1:	eb 12                	jmp    0x4066b5
4066a3:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
4066aa:	e9 02 02 00 00       	jmp    0x4068b1
4066af:	8b 95 bc df ff ff    	mov    -0x2044(%ebp),%edx
4066b5:	8b 8d b8 df ff ff    	mov    -0x2048(%ebp),%ecx
4066bb:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
4066c2:	74 2b                	je     0x4066ef
4066c4:	8b 37                	mov    (%edi),%esi
4066c6:	6a 00                	push   $0x0
4066c8:	6a 00                	push   $0x0
4066ca:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
4066d0:	8b 76 18             	mov    0x18(%esi),%esi
4066d3:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
4066d9:	52                   	push   %edx
4066da:	51                   	push   %ecx
4066db:	6a 1e                	push   $0x1e
4066dd:	8b ce                	mov    %esi,%ecx
4066df:	ff 15 3c f2 43 00    	call   *0x43f23c
4066e5:	8b cf                	mov    %edi,%ecx
4066e7:	ff d6                	call   *%esi
4066e9:	8b b5 a8 df ff ff    	mov    -0x2058(%ebp),%esi
4066ef:	33 c0                	xor    %eax,%eax
4066f1:	c7 85 d8 df ff ff 00 	movl   $0x0,-0x2028(%ebp)
4066f8:	00 00 00
4066fb:	c7 85 e8 df ff ff 00 	movl   $0x0,-0x2018(%ebp)
406702:	00 00 00
406705:	c7 85 ec df ff ff 07 	movl   $0x7,-0x2014(%ebp)
40670c:	00 00 00
40670f:	66 89 85 d8 df ff ff 	mov    %ax,-0x2028(%ebp)
406716:	89 45 fc             	mov    %eax,-0x4(%ebp)
406719:	85 f6                	test   %esi,%esi
40671b:	75 08                	jne    0x406725
40671d:	8b 85 b4 df ff ff    	mov    -0x204c(%ebp),%eax
406723:	eb 2f                	jmp    0x406754
406725:	56                   	push   %esi
406726:	6a 00                	push   $0x0
406728:	ff b5 b4 df ff ff    	push   -0x204c(%ebp)
40672e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
406734:	6a ff                	push   $0xffffffff
406736:	68 ff 0f 00 00       	push   $0xfff
40673b:	50                   	push   %eax
40673c:	e8 9f d4 ff ff       	call   0x403be0
406741:	ff 70 04             	push   0x4(%eax)
406744:	ff 30                	push   (%eax)
406746:	e8 3a e0 01 00       	call   0x424785
40674b:	83 c4 20             	add    $0x20,%esp
40674e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
406754:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40675a:	51                   	push   %ecx
40675b:	50                   	push   %eax
40675c:	ff b5 a4 df ff ff    	push   -0x205c(%ebp)
406762:	8b cf                	mov    %edi,%ecx
406764:	ff b5 a0 df ff ff    	push   -0x2060(%ebp)
40676a:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
406770:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
406776:	ff b5 bc df ff ff    	push   -0x2044(%ebp)
40677c:	ff b5 b8 df ff ff    	push   -0x2048(%ebp)
406782:	ff 75 08             	push   0x8(%ebp)
406785:	ff 75 30             	push   0x30(%ebp)
406788:	ff 75 2c             	push   0x2c(%ebp)
40678b:	e8 90 f2 ff ff       	call   0x405a20
406790:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
406797:	0f 85 9c 00 00 00    	jne    0x406839
40679d:	c7 85 c0 df ff ff 00 	movl   $0x0,-0x2040(%ebp)
4067a4:	00 00 00
4067a7:	c7 85 d0 df ff ff 00 	movl   $0x0,-0x2030(%ebp)
4067ae:	00 00 00
4067b1:	c7 85 d4 df ff ff 0f 	movl   $0xf,-0x202c(%ebp)
4067b8:	00 00 00
4067bb:	c6 85 c0 df ff ff 00 	movb   $0x0,-0x2040(%ebp)
4067c2:	8d 95 c0 df ff ff    	lea    -0x2040(%ebp),%edx
4067c8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4067cc:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
4067d2:	e8 e9 db 00 00       	call   0x4143c0
4067d7:	8b 07                	mov    (%edi),%eax
4067d9:	8d 8d c0 df ff ff    	lea    -0x2040(%ebp),%ecx
4067df:	83 bd d4 df ff ff 10 	cmpl   $0x10,-0x202c(%ebp)
4067e6:	0f 43 8d c0 df ff ff 	cmovae -0x2040(%ebp),%ecx
4067ed:	8b 70 1c             	mov    0x1c(%eax),%esi
4067f0:	51                   	push   %ecx
4067f1:	8b ce                	mov    %esi,%ecx
4067f3:	ff 15 3c f2 43 00    	call   *0x43f23c
4067f9:	8b cf                	mov    %edi,%ecx
4067fb:	ff d6                	call   *%esi
4067fd:	8b 8d d4 df ff ff    	mov    -0x202c(%ebp),%ecx
406803:	83 f9 10             	cmp    $0x10,%ecx
406806:	72 57                	jb     0x40685f
406808:	8b 95 c0 df ff ff    	mov    -0x2040(%ebp),%edx
40680e:	41                   	inc    %ecx
40680f:	8b c2                	mov    %edx,%eax
406811:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406817:	72 14                	jb     0x40682d
406819:	8b 50 fc             	mov    -0x4(%eax),%edx
40681c:	83 c1 23             	add    $0x23,%ecx
40681f:	2b c2                	sub    %edx,%eax
406821:	83 c0 fc             	add    $0xfffffffc,%eax
406824:	83 f8 1f             	cmp    $0x1f,%eax
406827:	0f 87 a4 00 00 00    	ja     0x4068d1
40682d:	51                   	push   %ecx
40682e:	52                   	push   %edx
40682f:	e8 da 50 01 00       	call   0x41b90e
406834:	83 c4 08             	add    $0x8,%esp
406837:	eb 26                	jmp    0x40685f
406839:	8b 07                	mov    (%edi),%eax
40683b:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
406841:	83 bd ec df ff ff 08 	cmpl   $0x8,-0x2014(%ebp)
406848:	0f 43 8d d8 df ff ff 	cmovae -0x2028(%ebp),%ecx
40684f:	8b 70 20             	mov    0x20(%eax),%esi
406852:	51                   	push   %ecx
406853:	8b ce                	mov    %esi,%ecx
406855:	ff 15 3c f2 43 00    	call   *0x43f23c
40685b:	8b cf                	mov    %edi,%ecx
40685d:	ff d6                	call   *%esi
40685f:	84 db                	test   %bl,%bl
406861:	74 12                	je     0x406875
406863:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
406869:	85 c0                	test   %eax,%eax
40686b:	74 08                	je     0x406875
40686d:	ff 30                	push   (%eax)
40686f:	ff 15 d4 f0 43 00    	call   *0x43f0d4
406875:	8b 8d ec df ff ff    	mov    -0x2014(%ebp),%ecx
40687b:	83 f9 08             	cmp    $0x8,%ecx
40687e:	72 31                	jb     0x4068b1
406880:	8b 95 d8 df ff ff    	mov    -0x2028(%ebp),%edx
406886:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40688d:	8b c2                	mov    %edx,%eax
40688f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406895:	72 10                	jb     0x4068a7
406897:	8b 50 fc             	mov    -0x4(%eax),%edx
40689a:	83 c1 23             	add    $0x23,%ecx
40689d:	2b c2                	sub    %edx,%eax
40689f:	83 c0 fc             	add    $0xfffffffc,%eax
4068a2:	83 f8 1f             	cmp    $0x1f,%eax
4068a5:	77 2f                	ja     0x4068d6
4068a7:	51                   	push   %ecx
4068a8:	52                   	push   %edx
4068a9:	e8 60 50 01 00       	call   0x41b90e
4068ae:	83 c4 08             	add    $0x8,%esp
4068b1:	b0 01                	mov    $0x1,%al
4068b3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4068b6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4068bd:	59                   	pop    %ecx
4068be:	5f                   	pop    %edi
4068bf:	5e                   	pop    %esi
4068c0:	5b                   	pop    %ebx
4068c1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4068c4:	33 cd                	xor    %ebp,%ecx
4068c6:	e8 05 50 01 00       	call   0x41b8d0
4068cb:	8b e5                	mov    %ebp,%esp
4068cd:	5d                   	pop    %ebp
4068ce:	c2 30 00             	ret    $0x30
4068d1:	e8 a9 a1 01 00       	call   0x420a7f
4068d6:	e8 a4 a1 01 00       	call   0x420a7f
4068db:	cc                   	int3
4068dc:	cc                   	int3
4068dd:	cc                   	int3
4068de:	cc                   	int3
4068df:	cc                   	int3
4068e0:	55                   	push   %ebp
4068e1:	8b ec                	mov    %esp,%ebp
4068e3:	6a ff                	push   $0xffffffff
4068e5:	68 4c d8 43 00       	push   $0x43d84c
4068ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4068f0:	50                   	push   %eax
4068f1:	81 ec cc 03 00 00    	sub    $0x3cc,%esp
4068f7:	a1 14 40 45 00       	mov    0x454014,%eax