40f3cc:	56                   	push   %esi
40f3cd:	8b da                	mov    %edx,%ebx
40f3cf:	33 f6                	xor    %esi,%esi
40f3d1:	51                   	push   %ecx
40f3d2:	6a 40                	push   $0x40
40f3d4:	89 33                	mov    %esi,(%ebx)
40f3d6:	ff 15 f0 30 43 00    	call   *0x4330f0
40f3dc:	50                   	push   %eax
40f3dd:	68 4c 19 40 00       	push   $0x40194c
40f3e2:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40f3e8:	68 04 01 00 00       	push   $0x104
40f3ed:	50                   	push   %eax
40f3ee:	e8 b5 45 ff ff       	call   0x4039a8
40f3f3:	83 c4 18             	add    $0x18,%esp
40f3f6:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
40f3fc:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40f402:	68 01 00 1f 00       	push   $0x1f0001
40f407:	56                   	push   %esi
40f408:	50                   	push   %eax
40f409:	56                   	push   %esi
40f40a:	ff 15 f4 30 43 00    	call   *0x4330f4
40f410:	50                   	push   %eax
40f411:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40f417:	e8 71 fe ff ff       	call   0x40f28d
40f41c:	39 b5 f0 fd ff ff    	cmp    %esi,-0x210(%ebp)
40f422:	75 0c                	jne    0x40f430
40f424:	e8 52 88 ff ff       	call   0x407c7b
40f429:	8b f0                	mov    %eax,%esi
40f42b:	e9 b3 00 00 00       	jmp    0x40f4e3
40f430:	57                   	push   %edi
40f431:	83 ec 0c             	sub    $0xc,%esp
40f434:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
40f43a:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40f440:	50                   	push   %eax
40f441:	e8 47 03 00 00       	call   0x40f78d
40f446:	51                   	push   %ecx
40f447:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
40f44d:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
40f453:	50                   	push   %eax
40f454:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40f45a:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
40f460:	8b fe                	mov    %esi,%edi
40f462:	e8 49 91 ff ff       	call   0x4085b0
40f467:	8b f0                	mov    %eax,%esi
40f469:	85 f6                	test   %esi,%esi
40f46b:	79 11                	jns    0x40f47e
40f46d:	56                   	push   %esi
40f46e:	51                   	push   %ecx
40f46f:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f472:	6a 62                	push   $0x62
40f474:	5a                   	pop    %edx
40f475:	e8 55 8e ff ff       	call   0x4082cf
40f47a:	8b c7                	mov    %edi,%eax
40f47c:	eb 08                	jmp    0x40f486
40f47e:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
40f484:	33 f6                	xor    %esi,%esi
40f486:	85 f6                	test   %esi,%esi
40f488:	79 0f                	jns    0x40f499
40f48a:	56                   	push   %esi
40f48b:	51                   	push   %ecx
40f48c:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f48f:	6a 6b                	push   $0x6b
40f491:	5a                   	pop    %edx
40f492:	e8 38 8e ff ff       	call   0x4082cf
40f497:	eb 07                	jmp    0x40f4a0
40f499:	8b f8                	mov    %eax,%edi
40f49b:	c1 e7 02             	shl    $0x2,%edi
40f49e:	33 f6                	xor    %esi,%esi
40f4a0:	85 f6                	test   %esi,%esi
40f4a2:	79 07                	jns    0x40f4ab
40f4a4:	ba 26 01 00 00       	mov    $0x126,%edx
40f4a9:	eb 65                	jmp    0x40f510
40f4ab:	85 ff                	test   %edi,%edi
40f4ad:	74 44                	je     0x40f4f3
40f4af:	89 3b                	mov    %edi,(%ebx)
40f4b1:	8b 0f                	mov    (%edi),%ecx
40f4b3:	8b 03                	mov    (%ebx),%eax
40f4b5:	41                   	inc    %ecx
40f4b6:	89 08                	mov    %ecx,(%eax)
40f4b8:	33 f6                	xor    %esi,%esi
40f4ba:	83 bd ec fd ff ff 00 	cmpl   $0x0,-0x214(%ebp)
40f4c1:	5f                   	pop    %edi
40f4c2:	74 0b                	je     0x40f4cf
40f4c4:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
40f4ca:	e8 e7 8e ff ff       	call   0x4083b6
40f4cf:	83 bd f0 fd ff ff 00 	cmpl   $0x0,-0x210(%ebp)
40f4d6:	74 0b                	je     0x40f4e3
40f4d8:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
40f4de:	e8 ae 8e ff ff       	call   0x408391
40f4e3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f4e6:	8b c6                	mov    %esi,%eax
40f4e8:	5e                   	pop    %esi
40f4e9:	33 cd                	xor    %ebp,%ecx
40f4eb:	5b                   	pop    %ebx
40f4ec:	e8 3f 0f 00 00       	call   0x410430
40f4f1:	c9                   	leave
40f4f2:	c3                   	ret
40f4f3:	53                   	push   %ebx
40f4f4:	8d 95 f0 fd ff ff    	lea    -0x210(%ebp),%edx
40f4fa:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40f500:	e8 03 01 00 00       	call   0x40f608
40f505:	8b f0                	mov    %eax,%esi
40f507:	85 f6                	test   %esi,%esi
40f509:	79 ad                	jns    0x40f4b8
40f50b:	ba 2e 01 00 00       	mov    $0x12e,%edx
40f510:	56                   	push   %esi
40f511:	51                   	push   %ecx
40f512:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f515:	e8 b5 8d ff ff       	call   0x4082cf
40f51a:	eb 9e                	jmp    0x40f4ba
40f51c:	8b ff                	mov    %edi,%edi
40f51e:	55                   	push   %ebp
40f51f:	8b ec                	mov    %esp,%ebp
40f521:	51                   	push   %ecx
40f522:	80 3d fc 25 43 00 00 	cmpb   $0x0,0x4325fc
40f529:	53                   	push   %ebx
40f52a:	56                   	push   %esi
40f52b:	57                   	push   %edi
40f52c:	8b d9                	mov    %ecx,%ebx
40f52e:	0f 85 ac 00 00 00    	jne    0x40f5e0
40f534:	8b 3d 00 26 43 00    	mov    0x432600,%edi
40f53a:	33 f6                	xor    %esi,%esi
40f53c:	85 ff                	test   %edi,%edi
40f53e:	74 0f                	je     0x40f54f
40f540:	8b cf                	mov    %edi,%ecx
40f542:	ff 15 18 34 43 00    	call   *0x433418
40f548:	ff d7                	call   *%edi
40f54a:	0f b6 c0             	movzbl %al,%eax
40f54d:	eb 02                	jmp    0x40f551
40f54f:	8b c6                	mov    %esi,%eax
40f551:	85 c0                	test   %eax,%eax
40f553:	0f 85 87 00 00 00    	jne    0x40f5e0
40f559:	83 ec 0c             	sub    $0xc,%esp
40f55c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40f55f:	51                   	push   %ecx
40f560:	8d 4b 04             	lea    0x4(%ebx),%ecx
40f563:	e8 25 02 00 00       	call   0x40f78d
40f568:	8b 03                	mov    (%ebx),%eax
40f56a:	83 e8 01             	sub    $0x1,%eax
40f56d:	89 03                	mov    %eax,(%ebx)
40f56f:	75 60                	jne    0x40f5d1
40f571:	8d 7b 08             	lea    0x8(%ebx),%edi
40f574:	56                   	push   %esi
40f575:	8b cf                	mov    %edi,%ecx
40f577:	e8 11 fd ff ff       	call   0x40f28d
40f57c:	56                   	push   %esi
40f57d:	8d 4f 04             	lea    0x4(%edi),%ecx
40f580:	e8 08 fd ff ff       	call   0x40f28d
40f585:	39 75 fc             	cmp    %esi,-0x4(%ebp)
40f588:	74 1a                	je     0x40f5a4
40f58a:	ff 15 4c 31 43 00    	call   *0x43314c
40f590:	ff 75 fc             	push   -0x4(%ebp)
40f593:	8b f8                	mov    %eax,%edi
40f595:	e8 1c 8e ff ff       	call   0x4083b6
40f59a:	57                   	push   %edi
40f59b:	ff 15 24 31 43 00    	call   *0x433124
40f5a1:	8d 7b 08             	lea    0x8(%ebx),%edi
40f5a4:	8d 4b 18             	lea    0x18(%ebx),%ecx
40f5a7:	e8 8c 01 00 00       	call   0x40f738
40f5ac:	8b cf                	mov    %edi,%ecx
40f5ae:	e8 34 00 00 00       	call   0x40f5e7
40f5b3:	39 73 04             	cmp    %esi,0x4(%ebx)
40f5b6:	74 08                	je     0x40f5c0
40f5b8:	ff 73 04             	push   0x4(%ebx)
40f5bb:	e8 d1 8d ff ff       	call   0x408391
40f5c0:	53                   	push   %ebx
40f5c1:	56                   	push   %esi
40f5c2:	ff 15 44 31 43 00    	call   *0x433144
40f5c8:	50                   	push   %eax
40f5c9:	ff 15 48 31 43 00    	call   *0x433148
40f5cf:	eb 03                	jmp    0x40f5d4
40f5d1:	8b 75 fc             	mov    -0x4(%ebp),%esi
40f5d4:	85 f6                	test   %esi,%esi
40f5d6:	74 0a                	je     0x40f5e2
40f5d8:	56                   	push   %esi
40f5d9:	e8 d8 8d ff ff       	call   0x4083b6
40f5de:	eb 02                	jmp    0x40f5e2
40f5e0:	ff 0b                	decl   (%ebx)
40f5e2:	5f                   	pop    %edi
40f5e3:	5e                   	pop    %esi
40f5e4:	5b                   	pop    %ebx
40f5e5:	c9                   	leave
40f5e6:	c3                   	ret
40f5e7:	8b ff                	mov    %edi,%edi
40f5e9:	56                   	push   %esi
40f5ea:	8b f1                	mov    %ecx,%esi
40f5ec:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40f5f0:	74 08                	je     0x40f5fa
40f5f2:	ff 76 04             	push   0x4(%esi)
40f5f5:	e8 97 8d ff ff       	call   0x408391
40f5fa:	83 3e 00             	cmpl   $0x0,(%esi)
40f5fd:	74 07                	je     0x40f606
40f5ff:	ff 36                	push   (%esi)
40f601:	e8 8b 8d ff ff       	call   0x408391
40f606:	5e                   	pop    %esi
40f607:	c3                   	ret
40f608:	8b ff                	mov    %edi,%edi
40f60a:	55                   	push   %ebp
40f60b:	8b ec                	mov    %esp,%ebp
40f60d:	83 e4 f8             	and    $0xfffffff8,%esp
40f610:	83 ec 14             	sub    $0x14,%esp
40f613:	8b 45 08             	mov    0x8(%ebp),%eax
40f616:	53                   	push   %ebx
40f617:	56                   	push   %esi
40f618:	57                   	push   %edi
40f619:	6a 40                	push   $0x40
40f61b:	89 54 24 14          	mov    %edx,0x14(%esp)
40f61f:	8b f1                	mov    %ecx,%esi
40f621:	5a                   	pop    %edx
40f622:	6a 08                	push   $0x8
40f624:	33 ff                	xor    %edi,%edi
40f626:	59                   	pop    %ecx
40f627:	89 38                	mov    %edi,(%eax)
40f629:	e8 49 85 ff ff       	call   0x407b77
40f62e:	8b d8                	mov    %eax,%ebx
40f630:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
40f634:	85 db                	test   %ebx,%ebx
40f636:	75 19                	jne    0x40f651
40f638:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40f63d:	ba 42 01 00 00       	mov    $0x142,%edx
40f642:	57                   	push   %edi
40f643:	51                   	push   %ecx
40f644:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f647:	e8 83 8c ff ff       	call   0x4082cf
40f64c:	e9 d6 00 00 00       	jmp    0x40f727
40f651:	89 7c 24 18          	mov    %edi,0x18(%esp)
40f655:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40f659:	f6 c3 03             	test   $0x3,%bl
40f65c:	0f 85 d0 00 00 00    	jne    0x40f732
40f662:	57                   	push   %edi
40f663:	c1 e8 02             	shr    $0x2,%eax
40f666:	50                   	push   %eax
40f667:	51                   	push   %ecx
40f668:	56                   	push   %esi
40f669:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40f66d:	e8 69 8d ff ff       	call   0x4083db
40f672:	8b f8                	mov    %eax,%edi
40f674:	85 ff                	test   %edi,%edi
40f676:	79 1d                	jns    0x40f695
40f678:	57                   	push   %edi
40f679:	51                   	push   %ecx
40f67a:	8b 4d 04             	mov    0x4(%ebp),%ecx
40f67d:	ba 45 01 00 00       	mov    $0x145,%edx
40f682:	e8 48 8c ff ff       	call   0x4082cf
40f687:	8b 74 24 0c          	mov    0xc(%esp),%esi
40f68b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40f68f:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40f693:	eb 6a                	jmp    0x40f6ff
40f695:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40f699:	8d 7b 10             	lea    0x10(%ebx),%edi
40f69c:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
40f6a2:	6a 30                	push   $0x30
40f6a4:	5e                   	pop    %esi
40f6a5:	8b 01                	mov    (%ecx),%eax
40f6a7:	89 43 04             	mov    %eax,0x4(%ebx)
40f6aa:	83 21 00             	andl   $0x0,(%ecx)
40f6ad:	8b 44 24 18          	mov    0x18(%esp),%eax
40f6b1:	89 43 08             	mov    %eax,0x8(%ebx)
40f6b4:	33 c0                	xor    %eax,%eax
40f6b6:	89 44 24 10          	mov    %eax,0x10(%esp)
40f6ba:	89 44 24 18          	mov    %eax,0x18(%esp)
40f6be:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40f6c2:	89 43 0c             	mov    %eax,0xc(%ebx)
40f6c5:	33 c0                	xor    %eax,%eax
40f6c7:	56                   	push   %esi
40f6c8:	50                   	push   %eax
40f6c9:	57                   	push   %edi
40f6ca:	89 44 24 20          	mov    %eax,0x20(%esp)
40f6ce:	89 44 24 28          	mov    %eax,0x28(%esp)
40f6d2:	e8 30 14 00 00       	call   0x410b07
40f6d7:	83 c4 0c             	add    $0xc,%esp
40f6da:	66 89 37             	mov    %si,(%edi)
40f6dd:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
40f6e4:	33 c0                	xor    %eax,%eax
40f6e6:	83 c7 08             	add    $0x8,%edi
40f6e9:	33 f6                	xor    %esi,%esi
40f6eb:	6a 0a                	push   $0xa
40f6ed:	59                   	pop    %ecx
40f6ee:	f3 ab                	rep stos %eax,%es:(%edi)
40f6f0:	8b 45 08             	mov    0x8(%ebp),%eax
40f6f3:	33 ff                	xor    %edi,%edi
40f6f5:	89 18                	mov    %ebx,(%eax)
40f6f7:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40f6fb:	8b 44 24 14          	mov    0x14(%esp),%eax
40f6ff:	85 c0                	test   %eax,%eax
40f701:	74 06                	je     0x40f709
40f703:	50                   	push   %eax
40f704:	e8 88 8c ff ff       	call   0x408391
40f709:	85 db                	test   %ebx,%ebx
40f70b:	74 06                	je     0x40f713
40f70d:	53                   	push   %ebx
40f70e:	e8 7e 8c ff ff       	call   0x408391
40f713:	85 f6                	test   %esi,%esi
40f715:	74 10                	je     0x40f727
40f717:	56                   	push   %esi
40f718:	6a 00                	push   $0x0
40f71a:	ff 15 44 31 43 00    	call   *0x433144
40f720:	50                   	push   %eax
40f721:	ff 15 48 31 43 00    	call   *0x433148
40f727:	8b c7                	mov    %edi,%eax
40f729:	5f                   	pop    %edi
40f72a:	5e                   	pop    %esi
40f72b:	5b                   	pop    %ebx
40f72c:	8b e5                	mov    %ebp,%esp
40f72e:	5d                   	pop    %ebp
40f72f:	c2 04 00             	ret    $0x4
40f732:	e8 54 8c ff ff       	call   0x40838b
40f737:	cc                   	int3
40f738:	8b ff                	mov    %edi,%edi
40f73a:	55                   	push   %ebp
40f73b:	8b ec                	mov    %esp,%ebp
40f73d:	51                   	push   %ecx
40f73e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f741:	8d 41 28             	lea    0x28(%ecx),%eax
40f744:	57                   	push   %edi
40f745:	8b 7d fc             	mov    -0x4(%ebp),%edi
40f748:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f74b:	3b f8                	cmp    %eax,%edi
40f74d:	74 3b                	je     0x40f78a
40f74f:	53                   	push   %ebx
40f750:	56                   	push   %esi
40f751:	8b 1f                	mov    (%edi),%ebx
40f753:	85 db                	test   %ebx,%ebx
40f755:	74 24                	je     0x40f77b
40f757:	8b f3                	mov    %ebx,%esi
40f759:	8b 5b 04             	mov    0x4(%ebx),%ebx
40f75c:	8d 4e 08             	lea    0x8(%esi),%ecx
40f75f:	e8 16 90 ff ff       	call   0x40877a
40f764:	56                   	push   %esi
40f765:	6a 00                	push   $0x0
40f767:	ff 15 44 31 43 00    	call   *0x433144
40f76d:	50                   	push   %eax
40f76e:	ff 15 48 31 43 00    	call   *0x433148
40f774:	85 db                	test   %ebx,%ebx
40f776:	75 df                	jne    0x40f757
40f778:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f77b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40f781:	83 c7 04             	add    $0x4,%edi
40f784:	3b f8                	cmp    %eax,%edi
40f786:	75 c9                	jne    0x40f751
40f788:	5e                   	pop    %esi
40f789:	5b                   	pop    %ebx
40f78a:	5f                   	pop    %edi
40f78b:	c9                   	leave
40f78c:	c3                   	ret
40f78d:	8b ff                	mov    %edi,%edi
40f78f:	55                   	push   %ebp
40f790:	8b ec                	mov    %esp,%ebp
40f792:	56                   	push   %esi
40f793:	57                   	push   %edi