40e534:	8b 00                	mov    (%eax),%eax
40e536:	8b 48 48             	mov    0x48(%eax),%ecx
40e539:	85 c9                	test   %ecx,%ecx
40e53b:	74 18                	je     0x40e555
40e53d:	83 c8 ff             	or     $0xffffffff,%eax
40e540:	f0 0f c1 01          	lock xadd %eax,(%ecx)
40e544:	75 0f                	jne    0x40e555
40e546:	81 f9 60 60 42 00    	cmp    $0x426060,%ecx
40e54c:	74 07                	je     0x40e555
40e54e:	51                   	push   %ecx
40e54f:	e8 ef 07 00 00       	call   0x40ed43
40e554:	59                   	pop    %ecx
40e555:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e55c:	e8 12 00 00 00       	call   0x40e573
40e561:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e564:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e56b:	59                   	pop    %ecx
40e56c:	5f                   	pop    %edi
40e56d:	5e                   	pop    %esi
40e56e:	5b                   	pop    %ebx
40e56f:	c9                   	leave
40e570:	c2 0c 00             	ret    $0xc
40e573:	8b 45 10             	mov    0x10(%ebp),%eax
40e576:	ff 30                	push   (%eax)
40e578:	e8 d4 1c 00 00       	call   0x410251
40e57d:	59                   	pop    %ecx
40e57e:	c3                   	ret
40e57f:	6a 08                	push   $0x8
40e581:	68 60 3f 42 00       	push   $0x423f60
40e586:	e8 45 a4 ff ff       	call   0x4089d0
40e58b:	8b 45 08             	mov    0x8(%ebp),%eax
40e58e:	ff 30                	push   (%eax)
40e590:	e8 6c 1c 00 00       	call   0x410201
40e595:	59                   	pop    %ecx
40e596:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e59a:	6a 00                	push   $0x0
40e59c:	8b 45 0c             	mov    0xc(%ebp),%eax
40e59f:	8b 00                	mov    (%eax),%eax
40e5a1:	ff 30                	push   (%eax)
40e5a3:	e8 16 02 00 00       	call   0x40e7be
40e5a8:	59                   	pop    %ecx
40e5a9:	59                   	pop    %ecx
40e5aa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e5b1:	e8 12 00 00 00       	call   0x40e5c8
40e5b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e5b9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e5c0:	59                   	pop    %ecx
40e5c1:	5f                   	pop    %edi
40e5c2:	5e                   	pop    %esi
40e5c3:	5b                   	pop    %ebx
40e5c4:	c9                   	leave
40e5c5:	c2 0c 00             	ret    $0xc
40e5c8:	8b 45 10             	mov    0x10(%ebp),%eax
40e5cb:	ff 30                	push   (%eax)
40e5cd:	e8 7f 1c 00 00       	call   0x410251
40e5d2:	59                   	pop    %ecx
40e5d3:	c3                   	ret
40e5d4:	6a 08                	push   $0x8
40e5d6:	68 20 3f 42 00       	push   $0x423f20
40e5db:	e8 f0 a3 ff ff       	call   0x4089d0
40e5e0:	8b 45 08             	mov    0x8(%ebp),%eax
40e5e3:	ff 30                	push   (%eax)
40e5e5:	e8 17 1c 00 00       	call   0x410201
40e5ea:	59                   	pop    %ecx
40e5eb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e5ef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e5f2:	8b 41 04             	mov    0x4(%ecx),%eax
40e5f5:	8b 00                	mov    (%eax),%eax
40e5f7:	ff 30                	push   (%eax)
40e5f9:	8b 01                	mov    (%ecx),%eax
40e5fb:	ff 30                	push   (%eax)
40e5fd:	e8 bc 01 00 00       	call   0x40e7be
40e602:	59                   	pop    %ecx
40e603:	59                   	pop    %ecx
40e604:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e60b:	e8 12 00 00 00       	call   0x40e622
40e610:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e613:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e61a:	59                   	pop    %ecx
40e61b:	5f                   	pop    %edi
40e61c:	5e                   	pop    %esi
40e61d:	5b                   	pop    %ebx
40e61e:	c9                   	leave
40e61f:	c2 0c 00             	ret    $0xc
40e622:	8b 45 10             	mov    0x10(%ebp),%eax
40e625:	ff 30                	push   (%eax)
40e627:	e8 25 1c 00 00       	call   0x410251
40e62c:	59                   	pop    %ecx
40e62d:	c3                   	ret
40e62e:	8b ff                	mov    %edi,%edi
40e630:	55                   	push   %ebp
40e631:	8b ec                	mov    %esp,%ebp
40e633:	83 ec 14             	sub    $0x14,%esp
40e636:	8b 45 08             	mov    0x8(%ebp),%eax
40e639:	33 c9                	xor    %ecx,%ecx
40e63b:	41                   	inc    %ecx
40e63c:	6a 43                	push   $0x43
40e63e:	89 48 18             	mov    %ecx,0x18(%eax)
40e641:	8b 45 08             	mov    0x8(%ebp),%eax
40e644:	c7 00 e8 cf 41 00    	movl   $0x41cfe8,(%eax)
40e64a:	8b 45 08             	mov    0x8(%ebp),%eax
40e64d:	89 88 50 03 00 00    	mov    %ecx,0x350(%eax)
40e653:	8b 45 08             	mov    0x8(%ebp),%eax
40e656:	59                   	pop    %ecx
40e657:	6a 05                	push   $0x5
40e659:	c7 40 48 60 60 42 00 	movl   $0x426060,0x48(%eax)
40e660:	8b 45 08             	mov    0x8(%ebp),%eax
40e663:	66 89 48 6c          	mov    %cx,0x6c(%eax)
40e667:	8b 45 08             	mov    0x8(%ebp),%eax
40e66a:	66 89 88 72 01 00 00 	mov    %cx,0x172(%eax)
40e671:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40e674:	8b 45 08             	mov    0x8(%ebp),%eax
40e677:	83 a0 4c 03 00 00 00 	andl   $0x0,0x34c(%eax)
40e67e:	8d 45 08             	lea    0x8(%ebp),%eax
40e681:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e684:	58                   	pop    %eax
40e685:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e688:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e68b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e68e:	50                   	push   %eax
40e68f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e692:	50                   	push   %eax
40e693:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e696:	50                   	push   %eax
40e697:	e8 26 fe ff ff       	call   0x40e4c2
40e69c:	8d 45 08             	lea    0x8(%ebp),%eax
40e69f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e6a2:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40e6a5:	6a 04                	push   $0x4
40e6a7:	8d 45 0c             	lea    0xc(%ebp),%eax
40e6aa:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e6ad:	58                   	pop    %eax
40e6ae:	89 45 ec             	mov    %eax,-0x14(%ebp)
40e6b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e6b4:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e6b7:	50                   	push   %eax
40e6b8:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e6bb:	50                   	push   %eax
40e6bc:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e6bf:	50                   	push   %eax
40e6c0:	e8 0f ff ff ff       	call   0x40e5d4
40e6c5:	c9                   	leave
40e6c6:	c3                   	ret
40e6c7:	cc                   	int3
40e6c8:	cc                   	int3
40e6c9:	cc                   	int3
40e6ca:	cc                   	int3
40e6cb:	cc                   	int3
40e6cc:	cc                   	int3
40e6cd:	cc                   	int3
40e6ce:	cc                   	int3
40e6cf:	cc                   	int3
40e6d0:	8b ff                	mov    %edi,%edi
40e6d2:	55                   	push   %ebp
40e6d3:	8b ec                	mov    %esp,%ebp
40e6d5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40e6d9:	74 12                	je     0x40e6ed
40e6db:	ff 75 08             	push   0x8(%ebp)
40e6de:	e8 0e 00 00 00       	call   0x40e6f1
40e6e3:	ff 75 08             	push   0x8(%ebp)
40e6e6:	e8 58 06 00 00       	call   0x40ed43
40e6eb:	59                   	pop    %ecx
40e6ec:	59                   	pop    %ecx
40e6ed:	5d                   	pop    %ebp
40e6ee:	c2 04 00             	ret    $0x4
40e6f1:	8b ff                	mov    %edi,%edi
40e6f3:	55                   	push   %ebp
40e6f4:	8b ec                	mov    %esp,%ebp
40e6f6:	8b 45 08             	mov    0x8(%ebp),%eax
40e6f9:	83 ec 10             	sub    $0x10,%esp
40e6fc:	8b 08                	mov    (%eax),%ecx
40e6fe:	81 f9 e8 cf 41 00    	cmp    $0x41cfe8,%ecx
40e704:	74 0a                	je     0x40e710
40e706:	51                   	push   %ecx
40e707:	e8 37 06 00 00       	call   0x40ed43
40e70c:	8b 45 08             	mov    0x8(%ebp),%eax
40e70f:	59                   	pop    %ecx
40e710:	ff 70 3c             	push   0x3c(%eax)
40e713:	e8 2b 06 00 00       	call   0x40ed43
40e718:	8b 45 08             	mov    0x8(%ebp),%eax
40e71b:	ff 70 30             	push   0x30(%eax)
40e71e:	e8 20 06 00 00       	call   0x40ed43
40e723:	8b 45 08             	mov    0x8(%ebp),%eax
40e726:	ff 70 34             	push   0x34(%eax)
40e729:	e8 15 06 00 00       	call   0x40ed43
40e72e:	8b 45 08             	mov    0x8(%ebp),%eax
40e731:	ff 70 38             	push   0x38(%eax)
40e734:	e8 0a 06 00 00       	call   0x40ed43
40e739:	8b 45 08             	mov    0x8(%ebp),%eax
40e73c:	ff 70 28             	push   0x28(%eax)
40e73f:	e8 ff 05 00 00       	call   0x40ed43
40e744:	8b 45 08             	mov    0x8(%ebp),%eax
40e747:	ff 70 2c             	push   0x2c(%eax)
40e74a:	e8 f4 05 00 00       	call   0x40ed43
40e74f:	8b 45 08             	mov    0x8(%ebp),%eax
40e752:	ff 70 40             	push   0x40(%eax)
40e755:	e8 e9 05 00 00       	call   0x40ed43
40e75a:	8b 45 08             	mov    0x8(%ebp),%eax
40e75d:	ff 70 44             	push   0x44(%eax)
40e760:	e8 de 05 00 00       	call   0x40ed43
40e765:	8b 45 08             	mov    0x8(%ebp),%eax
40e768:	ff b0 60 03 00 00    	push   0x360(%eax)
40e76e:	e8 d0 05 00 00       	call   0x40ed43
40e773:	83 c4 24             	add    $0x24,%esp
40e776:	8d 45 08             	lea    0x8(%ebp),%eax
40e779:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e77c:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40e77f:	6a 05                	push   $0x5
40e781:	58                   	pop    %eax
40e782:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e785:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e788:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e78b:	50                   	push   %eax
40e78c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e78f:	50                   	push   %eax
40e790:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e793:	50                   	push   %eax
40e794:	e8 7b fd ff ff       	call   0x40e514
40e799:	6a 04                	push   $0x4
40e79b:	8d 45 08             	lea    0x8(%ebp),%eax
40e79e:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e7a1:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40e7a4:	58                   	pop    %eax
40e7a5:	89 45 f0             	mov    %eax,-0x10(%ebp)
40e7a8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e7ab:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e7ae:	50                   	push   %eax
40e7af:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e7b2:	50                   	push   %eax
40e7b3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e7b6:	50                   	push   %eax
40e7b7:	e8 c3 fd ff ff       	call   0x40e57f
40e7bc:	c9                   	leave
40e7bd:	c3                   	ret
40e7be:	8b ff                	mov    %edi,%edi
40e7c0:	55                   	push   %ebp
40e7c1:	8b ec                	mov    %esp,%ebp
40e7c3:	56                   	push   %esi
40e7c4:	8b 75 08             	mov    0x8(%ebp),%esi
40e7c7:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
40e7cb:	74 28                	je     0x40e7f5
40e7cd:	ff 76 4c             	push   0x4c(%esi)
40e7d0:	e8 a0 28 00 00       	call   0x411075
40e7d5:	8b 46 4c             	mov    0x4c(%esi),%eax
40e7d8:	59                   	pop    %ecx
40e7d9:	3b 05 1c 72 42 00    	cmp    0x42721c,%eax
40e7df:	74 14                	je     0x40e7f5
40e7e1:	3d 80 65 42 00       	cmp    $0x426580,%eax
40e7e6:	74 0d                	je     0x40e7f5
40e7e8:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40e7ec:	75 07                	jne    0x40e7f5
40e7ee:	50                   	push   %eax
40e7ef:	e8 b5 26 00 00       	call   0x410ea9
40e7f4:	59                   	pop    %ecx
40e7f5:	8b 45 0c             	mov    0xc(%ebp),%eax
40e7f8:	89 46 4c             	mov    %eax,0x4c(%esi)
40e7fb:	5e                   	pop    %esi
40e7fc:	85 c0                	test   %eax,%eax
40e7fe:	74 07                	je     0x40e807
40e800:	50                   	push   %eax
40e801:	e8 26 26 00 00       	call   0x410e2c
40e806:	59                   	pop    %ecx
40e807:	5d                   	pop    %ebp
40e808:	c3                   	ret
40e809:	8b ff                	mov    %edi,%edi
40e80b:	53                   	push   %ebx
40e80c:	56                   	push   %esi
40e80d:	57                   	push   %edi
40e80e:	ff 15 48 c1 41 00    	call   *0x41c148
40e814:	8b f0                	mov    %eax,%esi
40e816:	a1 50 60 42 00       	mov    0x426050,%eax
40e81b:	83 f8 ff             	cmp    $0xffffffff,%eax
40e81e:	74 1c                	je     0x40e83c
40e820:	50                   	push   %eax
40e821:	e8 16 2c 00 00       	call   0x41143c
40e826:	8b f8                	mov    %eax,%edi
40e828:	85 ff                	test   %edi,%edi
40e82a:	74 0b                	je     0x40e837
40e82c:	83 ff ff             	cmp    $0xffffffff,%edi
40e82f:	75 78                	jne    0x40e8a9
40e831:	33 db                	xor    %ebx,%ebx
40e833:	8b fb                	mov    %ebx,%edi
40e835:	eb 74                	jmp    0x40e8ab
40e837:	a1 50 60 42 00       	mov    0x426050,%eax
40e83c:	6a ff                	push   $0xffffffff
40e83e:	50                   	push   %eax
40e83f:	e8 37 2c 00 00       	call   0x41147b
40e844:	85 c0                	test   %eax,%eax
40e846:	74 e9                	je     0x40e831
40e848:	68 64 03 00 00       	push   $0x364
40e84d:	6a 01                	push   $0x1
40e84f:	e8 92 04 00 00       	call   0x40ece6
40e854:	8b f8                	mov    %eax,%edi
40e856:	59                   	pop    %ecx
40e857:	59                   	pop    %ecx
40e858:	85 ff                	test   %edi,%edi
40e85a:	75 17                	jne    0x40e873
40e85c:	33 db                	xor    %ebx,%ebx
40e85e:	53                   	push   %ebx
40e85f:	ff 35 50 60 42 00    	push   0x426050
40e865:	e8 11 2c 00 00       	call   0x41147b
40e86a:	53                   	push   %ebx
40e86b:	e8 d3 04 00 00       	call   0x40ed43
40e870:	59                   	pop    %ecx
40e871:	eb c0                	jmp    0x40e833
40e873:	57                   	push   %edi
40e874:	ff 35 50 60 42 00    	push   0x426050
40e87a:	e8 fc 2b 00 00       	call   0x41147b
40e87f:	85 c0                	test   %eax,%eax
40e881:	75 11                	jne    0x40e894
40e883:	33 db                	xor    %ebx,%ebx
40e885:	53                   	push   %ebx
40e886:	ff 35 50 60 42 00    	push   0x426050
40e88c:	e8 ea 2b 00 00       	call   0x41147b
40e891:	57                   	push   %edi
40e892:	eb d7                	jmp    0x40e86b
40e894:	68 1c 72 42 00       	push   $0x42721c
40e899:	57                   	push   %edi
40e89a:	e8 8f fd ff ff       	call   0x40e62e
40e89f:	6a 00                	push   $0x0
40e8a1:	e8 9d 04 00 00       	call   0x40ed43
40e8a6:	83 c4 0c             	add    $0xc,%esp
40e8a9:	8b df                	mov    %edi,%ebx
40e8ab:	56                   	push   %esi
40e8ac:	ff 15 44 c1 41 00    	call   *0x41c144
40e8b2:	f7 df                	neg    %edi
40e8b4:	1b ff                	sbb    %edi,%edi
40e8b6:	23 fb                	and    %ebx,%edi
40e8b8:	74 06                	je     0x40e8c0
40e8ba:	8b c7                	mov    %edi,%eax
40e8bc:	5f                   	pop    %edi
40e8bd:	5e                   	pop    %esi
40e8be:	5b                   	pop    %ebx
40e8bf:	c3                   	ret
40e8c0:	e8 36 da ff ff       	call   0x40c2fb
40e8c5:	cc                   	int3
40e8c6:	a1 50 60 42 00       	mov    0x426050,%eax
40e8cb:	56                   	push   %esi
40e8cc:	83 f8 ff             	cmp    $0xffffffff,%eax
40e8cf:	74 18                	je     0x40e8e9
40e8d1:	50                   	push   %eax
40e8d2:	e8 65 2b 00 00       	call   0x41143c
40e8d7:	8b f0                	mov    %eax,%esi
40e8d9:	85 f6                	test   %esi,%esi
40e8db:	74 07                	je     0x40e8e4
40e8dd:	83 fe ff             	cmp    $0xffffffff,%esi
40e8e0:	74 78                	je     0x40e95a
40e8e2:	eb 6e                	jmp    0x40e952
40e8e4:	a1 50 60 42 00       	mov    0x426050,%eax
40e8e9:	6a ff                	push   $0xffffffff