40e3ad:	83 66 04 00          	andl   $0x0,0x4(%esi)
40e3b1:	c7 06 f8 16 40 00    	movl   $0x4016f8,(%esi)
40e3b7:	33 c0                	xor    %eax,%eax
40e3b9:	66 89 46 08          	mov    %ax,0x8(%esi)
40e3bd:	eb 02                	jmp    0x40e3c1
40e3bf:	33 f6                	xor    %esi,%esi
40e3c1:	85 f6                	test   %esi,%esi
40e3c3:	0f 84 e7 00 00 00    	je     0x40e4b0
40e3c9:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
40e3cf:	8d 8d 0c ff ff ff    	lea    -0xf4(%ebp),%ecx
40e3d5:	e8 c6 16 00 00       	call   0x40faa0
40e3da:	85 c0                	test   %eax,%eax
40e3dc:	0f 84 ce 00 00 00    	je     0x40e4b0
40e3e2:	8b 15 18 a3 41 00    	mov    0x41a318,%edx
40e3e8:	43                   	inc    %ebx
40e3e9:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40e3ef:	6a 38                	push   $0x38
40e3f1:	59                   	pop    %ecx
40e3f2:	89 4f fc             	mov    %ecx,-0x4(%edi)
40e3f5:	89 77 18             	mov    %esi,0x18(%edi)
40e3f8:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
40e3fe:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40e404:	89 57 04             	mov    %edx,0x4(%edi)
40e407:	89 47 08             	mov    %eax,0x8(%edi)
40e40a:	c7 47 14 b0 df 40 00 	movl   $0x40dfb0,0x14(%edi)
40e411:	03 f9                	add    %ecx,%edi
40e413:	8b 0d 34 57 41 00    	mov    0x415734,%ecx
40e419:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
40e41f:	46                   	inc    %esi
40e420:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
40e426:	83 fe 04             	cmp    $0x4,%esi
40e429:	0f 8c 8a fe ff ff    	jl     0x40e2b9
40e42f:	0f b7 04 4d 04 3e 40 	movzwl 0x403e04(,%ecx,2),%eax
40e436:	00
40e437:	33 f6                	xor    %esi,%esi
40e439:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
40e43f:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
40e445:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
40e44b:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
40e451:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
40e457:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
40e45d:	50                   	push   %eax
40e45e:	c7 85 d0 fe ff ff 28 	movl   $0x28,-0x130(%ebp)
40e465:	00 00 00
40e468:	c7 85 d4 fe ff ff 8c 	movl   $0x220018c,-0x12c(%ebp)
40e46f:	01 20 02
40e472:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
40e478:	89 95 dc fe ff ff    	mov    %edx,-0x124(%ebp)
40e47e:	89 9d e8 fe ff ff    	mov    %ebx,-0x118(%ebp)
40e484:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
40e48a:	c7 85 f4 fe ff ff 60 	movl   $0x40e060,-0x10c(%ebp)
40e491:	e0 40 00
40e494:	ff 15 48 b0 41 00    	call   *0x41b048
40e49a:	a1 1c 98 41 00       	mov    0x41981c,%eax
40e49f:	85 c0                	test   %eax,%eax
40e4a1:	74 0d                	je     0x40e4b0
40e4a3:	50                   	push   %eax
40e4a4:	ff 15 80 b0 41 00    	call   *0x41b080
40e4aa:	89 35 1c 98 41 00    	mov    %esi,0x41981c
40e4b0:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
40e4b6:	ff 15 24 b3 41 00    	call   *0x41b324
40e4bc:	59                   	pop    %ecx
40e4bd:	85 db                	test   %ebx,%ebx
40e4bf:	7e 3b                	jle    0x40e4fc
40e4c1:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
40e4c7:	8d bd 38 ff ff ff    	lea    -0xc8(%ebp),%edi
40e4cd:	8b 1f                	mov    (%edi),%ebx
40e4cf:	85 db                	test   %ebx,%ebx
40e4d1:	74 1b                	je     0x40e4ee
40e4d3:	8b 03                	mov    (%ebx),%eax
40e4d5:	6a 01                	push   $0x1
40e4d7:	8b 30                	mov    (%eax),%esi
40e4d9:	8b ce                	mov    %esi,%ecx
40e4db:	ff 15 90 b3 41 00    	call   *0x41b390
40e4e1:	8b cb                	mov    %ebx,%ecx
40e4e3:	ff d6                	call   *%esi
40e4e5:	83 27 00             	andl   $0x0,(%edi)
40e4e8:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
40e4ee:	83 c7 38             	add    $0x38,%edi
40e4f1:	83 e8 01             	sub    $0x1,%eax
40e4f4:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
40e4fa:	75 d1                	jne    0x40e4cd
40e4fc:	5f                   	pop    %edi
40e4fd:	5e                   	pop    %esi
40e4fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e501:	33 c0                	xor    %eax,%eax
40e503:	33 cd                	xor    %ebp,%ecx
40e505:	40                   	inc    %eax
40e506:	5b                   	pop    %ebx
40e507:	e8 d4 53 00 00       	call   0x4138e0
40e50c:	c9                   	leave
40e50d:	c3                   	ret
40e50e:	cc                   	int3
40e50f:	cc                   	int3
40e510:	8b ff                	mov    %edi,%edi
40e512:	55                   	push   %ebp
40e513:	8b ec                	mov    %esp,%ebp
40e515:	56                   	push   %esi
40e516:	8b f1                	mov    %ecx,%esi
40e518:	e8 65 02 00 00       	call   0x40e782
40e51d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40e521:	74 08                	je     0x40e52b
40e523:	56                   	push   %esi
40e524:	ff 15 cc b2 41 00    	call   *0x41b2cc
40e52a:	59                   	pop    %ecx
40e52b:	8b c6                	mov    %esi,%eax
40e52d:	5e                   	pop    %esi
40e52e:	5d                   	pop    %ebp
40e52f:	c2 04 00             	ret    $0x4
40e532:	cc                   	int3
40e533:	cc                   	int3
40e534:	cc                   	int3
40e535:	cc                   	int3
40e536:	cc                   	int3
40e537:	cc                   	int3
40e538:	cc                   	int3
40e539:	cc                   	int3
40e53a:	cc                   	int3
40e53b:	cc                   	int3
40e53c:	cc                   	int3
40e53d:	cc                   	int3
40e53e:	cc                   	int3
40e53f:	cc                   	int3
40e540:	8b ff                	mov    %edi,%edi
40e542:	55                   	push   %ebp
40e543:	8b ec                	mov    %esp,%ebp
40e545:	a1 30 57 41 00       	mov    0x415730,%eax
40e54a:	56                   	push   %esi
40e54b:	8b 75 08             	mov    0x8(%ebp),%esi
40e54e:	57                   	push   %edi
40e54f:	8b f9                	mov    %ecx,%edi
40e551:	8b 56 08             	mov    0x8(%esi),%edx
40e554:	89 15 30 57 41 00    	mov    %edx,0x415730
40e55a:	3b c2                	cmp    %edx,%eax
40e55c:	74 14                	je     0x40e572
40e55e:	8b 07                	mov    (%edi),%eax
40e560:	56                   	push   %esi
40e561:	6a 00                	push   $0x0
40e563:	8b 70 08             	mov    0x8(%eax),%esi
40e566:	8b ce                	mov    %esi,%ecx
40e568:	ff 15 90 b3 41 00    	call   *0x41b390
40e56e:	8b cf                	mov    %edi,%ecx
40e570:	ff d6                	call   *%esi
40e572:	5f                   	pop    %edi
40e573:	b0 01                	mov    $0x1,%al
40e575:	5e                   	pop    %esi
40e576:	5d                   	pop    %ebp
40e577:	c2 04 00             	ret    $0x4
40e57a:	cc                   	int3
40e57b:	cc                   	int3
40e57c:	cc                   	int3
40e57d:	cc                   	int3
40e57e:	cc                   	int3
40e57f:	cc                   	int3
40e580:	c2 00 00             	ret    $0x0
40e583:	8b ff                	mov    %edi,%edi
40e585:	55                   	push   %ebp
40e586:	8b ec                	mov    %esp,%ebp
40e588:	83 ec 48             	sub    $0x48,%esp
40e58b:	56                   	push   %esi
40e58c:	8b 71 04             	mov    0x4(%ecx),%esi
40e58f:	83 3e 02             	cmpl   $0x2,(%esi)
40e592:	0f 86 c7 00 00 00    	jbe    0x40e65f
40e598:	68 00 20 00 00       	push   $0x2000
40e59d:	6a 00                	push   $0x0
40e59f:	8b ce                	mov    %esi,%ecx
40e5a1:	e8 da 6c ff ff       	call   0x405280
40e5a6:	84 c0                	test   %al,%al
40e5a8:	0f 84 b1 00 00 00    	je     0x40e65f
40e5ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e5b1:	ba 31 47 40 00       	mov    $0x404731,%edx
40e5b6:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
40e5ba:	c7 45 b8 00 00 00 01 	movl   $0x1000000,-0x48(%ebp)
40e5c1:	8b 41 40             	mov    0x40(%ecx),%eax
40e5c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e5c7:	8b 41 3c             	mov    0x3c(%ecx),%eax
40e5ca:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e5cd:	8b 41 38             	mov    0x38(%ecx),%eax
40e5d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e5d3:	8b 41 34             	mov    0x34(%ecx),%eax
40e5d6:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e5d9:	8b 41 30             	mov    0x30(%ecx),%eax
40e5dc:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e5df:	8b 41 2c             	mov    0x2c(%ecx),%eax
40e5e2:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e5e5:	8b 41 28             	mov    0x28(%ecx),%eax
40e5e8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e5eb:	8b 41 10             	mov    0x10(%ecx),%eax
40e5ee:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e5f1:	8b 41 0c             	mov    0xc(%ecx),%eax
40e5f4:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e5f7:	8b 01                	mov    (%ecx),%eax
40e5f9:	89 45 d8             	mov    %eax,-0x28(%ebp)
40e5fc:	8b 41 44             	mov    0x44(%ecx),%eax
40e5ff:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40e602:	8b 41 20             	mov    0x20(%ecx),%eax
40e605:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e608:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e60b:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e60e:	8b 41 04             	mov    0x4(%ecx),%eax
40e611:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e614:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e617:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40e61a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e61d:	50                   	push   %eax
40e61e:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e621:	50                   	push   %eax
40e622:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e625:	50                   	push   %eax
40e626:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e629:	50                   	push   %eax
40e62a:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e62d:	50                   	push   %eax
40e62e:	8d 45 e8             	lea    -0x18(%ebp),%eax
40e631:	50                   	push   %eax
40e632:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40e635:	50                   	push   %eax
40e636:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e639:	50                   	push   %eax
40e63a:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e63d:	50                   	push   %eax
40e63e:	8d 45 d8             	lea    -0x28(%ebp),%eax
40e641:	50                   	push   %eax
40e642:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e645:	50                   	push   %eax
40e646:	8d 45 d0             	lea    -0x30(%ebp),%eax
40e649:	50                   	push   %eax
40e64a:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e64d:	50                   	push   %eax
40e64e:	8d 45 c8             	lea    -0x38(%ebp),%eax
40e651:	50                   	push   %eax
40e652:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40e655:	50                   	push   %eax
40e656:	51                   	push   %ecx
40e657:	51                   	push   %ecx
40e658:	8b ce                	mov    %esi,%ecx
40e65a:	e8 3c 68 ff ff       	call   0x404e9b
40e65f:	5e                   	pop    %esi
40e660:	c9                   	leave
40e661:	c2 04 00             	ret    $0x4
40e664:	8b ff                	mov    %edi,%edi
40e666:	55                   	push   %ebp
40e667:	8b ec                	mov    %esp,%ebp
40e669:	83 ec 50             	sub    $0x50,%esp
40e66c:	56                   	push   %esi
40e66d:	8b 71 04             	mov    0x4(%ecx),%esi
40e670:	83 3e 02             	cmpl   $0x2,(%esi)
40e673:	0f 86 cf 00 00 00    	jbe    0x40e748
40e679:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e67c:	ba 44 48 40 00       	mov    $0x404844,%edx
40e681:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
40e685:	c7 45 b0 00 00 00 01 	movl   $0x1000000,-0x50(%ebp)
40e68c:	8b 41 18             	mov    0x18(%ecx),%eax
40e68f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e692:	8b 41 24             	mov    0x24(%ecx),%eax
40e695:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e698:	8b 41 08             	mov    0x8(%ecx),%eax
40e69b:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e69e:	8b 41 40             	mov    0x40(%ecx),%eax
40e6a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e6a4:	8b 41 3c             	mov    0x3c(%ecx),%eax
40e6a7:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e6aa:	8b 41 38             	mov    0x38(%ecx),%eax
40e6ad:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e6b0:	8b 41 34             	mov    0x34(%ecx),%eax
40e6b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e6b6:	8b 41 30             	mov    0x30(%ecx),%eax
40e6b9:	89 45 e0             	mov    %eax,-0x20(%ebp)
40e6bc:	8b 41 2c             	mov    0x2c(%ecx),%eax
40e6bf:	89 45 dc             	mov    %eax,-0x24(%ebp)
40e6c2:	8b 41 28             	mov    0x28(%ecx),%eax
40e6c5:	89 45 d8             	mov    %eax,-0x28(%ebp)
40e6c8:	8b 41 10             	mov    0x10(%ecx),%eax
40e6cb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40e6ce:	8b 41 0c             	mov    0xc(%ecx),%eax
40e6d1:	89 45 d0             	mov    %eax,-0x30(%ebp)
40e6d4:	8b 01                	mov    (%ecx),%eax
40e6d6:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e6d9:	8b 41 44             	mov    0x44(%ecx),%eax
40e6dc:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e6df:	8b 41 20             	mov    0x20(%ecx),%eax
40e6e2:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40e6e5:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e6e8:	89 45 c0             	mov    %eax,-0x40(%ebp)
40e6eb:	8b 41 04             	mov    0x4(%ecx),%eax
40e6ee:	89 45 bc             	mov    %eax,-0x44(%ebp)
40e6f1:	8d 45 b0             	lea    -0x50(%ebp),%eax
40e6f4:	89 45 b8             	mov    %eax,-0x48(%ebp)
40e6f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e6fa:	50                   	push   %eax
40e6fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e6fe:	50                   	push   %eax
40e6ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e702:	50                   	push   %eax
40e703:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e706:	50                   	push   %eax
40e707:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e70a:	50                   	push   %eax
40e70b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40e70e:	50                   	push   %eax
40e70f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40e712:	50                   	push   %eax
40e713:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e716:	50                   	push   %eax
40e717:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e71a:	50                   	push   %eax
40e71b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40e71e:	50                   	push   %eax
40e71f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40e722:	50                   	push   %eax
40e723:	8d 45 d0             	lea    -0x30(%ebp),%eax
40e726:	50                   	push   %eax
40e727:	8d 45 cc             	lea    -0x34(%ebp),%eax
40e72a:	50                   	push   %eax
40e72b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40e72e:	50                   	push   %eax
40e72f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40e732:	50                   	push   %eax
40e733:	8d 45 c0             	lea    -0x40(%ebp),%eax
40e736:	50                   	push   %eax
40e737:	8d 45 bc             	lea    -0x44(%ebp),%eax
40e73a:	50                   	push   %eax
40e73b:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e73e:	50                   	push   %eax
40e73f:	51                   	push   %ecx
40e740:	51                   	push   %ecx
40e741:	8b ce                	mov    %esi,%ecx
40e743:	e8 3f 69 ff ff       	call   0x405087
40e748:	5e                   	pop    %esi
40e749:	c9                   	leave
40e74a:	c2 04 00             	ret    $0x4
40e74d:	cc                   	int3
40e74e:	cc                   	int3
40e74f:	cc                   	int3
40e750:	8b ff                	mov    %edi,%edi
40e752:	55                   	push   %ebp
40e753:	8b ec                	mov    %esp,%ebp
40e755:	83 e4 f8             	and    $0xfffffff8,%esp
40e758:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40e75c:	75 1e                	jne    0x40e77c
40e75e:	83 79 0c 01          	cmpl   $0x1,0xc(%ecx)
40e762:	75 0a                	jne    0x40e76e
40e764:	ff 75 0c             	push   0xc(%ebp)
40e767:	e8 17 fe ff ff       	call   0x40e583
40e76c:	eb 0e                	jmp    0x40e77c
40e76e:	83 79 0c 02          	cmpl   $0x2,0xc(%ecx)
40e772:	75 08                	jne    0x40e77c
40e774:	ff 75 0c             	push   0xc(%ebp)
40e777:	e8 e8 fe ff ff       	call   0x40e664
40e77c:	8b e5                	mov    %ebp,%esp