40c45b:	74 05                	je     0x40c462
40c45d:	5f                   	pop    %edi
40c45e:	8b c3                	mov    %ebx,%eax
40c460:	5b                   	pop    %ebx
40c461:	c3                   	ret
40c462:	e8 c3 e0 ff ff       	call   0x40a52a
40c467:	cc                   	int3
40c468:	a1 20 12 42 00       	mov    0x421220,%eax
40c46d:	56                   	push   %esi
40c46e:	83 f8 ff             	cmp    $0xffffffff,%eax
40c471:	74 18                	je     0x40c48b
40c473:	50                   	push   %eax
40c474:	e8 19 e6 ff ff       	call   0x40aa92
40c479:	8b f0                	mov    %eax,%esi
40c47b:	85 f6                	test   %esi,%esi
40c47d:	74 07                	je     0x40c486
40c47f:	83 fe ff             	cmp    $0xffffffff,%esi
40c482:	74 74                	je     0x40c4f8
40c484:	eb 6e                	jmp    0x40c4f4
40c486:	a1 20 12 42 00       	mov    0x421220,%eax
40c48b:	6a ff                	push   $0xffffffff
40c48d:	50                   	push   %eax
40c48e:	e8 3e e6 ff ff       	call   0x40aad1
40c493:	85 c0                	test   %eax,%eax
40c495:	74 61                	je     0x40c4f8
40c497:	68 64 03 00 00       	push   $0x364
40c49c:	6a 01                	push   $0x1
40c49e:	e8 9f e2 ff ff       	call   0x40a742
40c4a3:	8b f0                	mov    %eax,%esi
40c4a5:	59                   	pop    %ecx
40c4a6:	59                   	pop    %ecx
40c4a7:	85 f6                	test   %esi,%esi
40c4a9:	75 15                	jne    0x40c4c0
40c4ab:	50                   	push   %eax
40c4ac:	ff 35 20 12 42 00    	push   0x421220
40c4b2:	e8 1a e6 ff ff       	call   0x40aad1
40c4b7:	56                   	push   %esi
40c4b8:	e8 e2 e2 ff ff       	call   0x40a79f
40c4bd:	59                   	pop    %ecx
40c4be:	eb 38                	jmp    0x40c4f8
40c4c0:	56                   	push   %esi
40c4c1:	ff 35 20 12 42 00    	push   0x421220
40c4c7:	e8 05 e6 ff ff       	call   0x40aad1
40c4cc:	85 c0                	test   %eax,%eax
40c4ce:	75 0f                	jne    0x40c4df
40c4d0:	50                   	push   %eax
40c4d1:	ff 35 20 12 42 00    	push   0x421220
40c4d7:	e8 f5 e5 ff ff       	call   0x40aad1
40c4dc:	56                   	push   %esi
40c4dd:	eb d9                	jmp    0x40c4b8
40c4df:	68 b4 23 42 00       	push   $0x4223b4
40c4e4:	56                   	push   %esi
40c4e5:	e8 f1 fc ff ff       	call   0x40c1db
40c4ea:	6a 00                	push   $0x0
40c4ec:	e8 ae e2 ff ff       	call   0x40a79f
40c4f1:	83 c4 0c             	add    $0xc,%esp
40c4f4:	8b c6                	mov    %esi,%eax
40c4f6:	5e                   	pop    %esi
40c4f7:	c3                   	ret
40c4f8:	e8 2d e0 ff ff       	call   0x40a52a
40c4fd:	cc                   	int3
40c4fe:	8b ff                	mov    %edi,%edi
40c500:	53                   	push   %ebx
40c501:	57                   	push   %edi
40c502:	ff 15 28 90 41 00    	call   *0x419028
40c508:	8b f8                	mov    %eax,%edi
40c50a:	a1 20 12 42 00       	mov    0x421220,%eax
40c50f:	83 f8 ff             	cmp    $0xffffffff,%eax
40c512:	74 1a                	je     0x40c52e
40c514:	50                   	push   %eax
40c515:	e8 78 e5 ff ff       	call   0x40aa92
40c51a:	85 c0                	test   %eax,%eax
40c51c:	74 0b                	je     0x40c529
40c51e:	8d 58 01             	lea    0x1(%eax),%ebx
40c521:	f7 db                	neg    %ebx
40c523:	1b db                	sbb    %ebx,%ebx
40c525:	23 d8                	and    %eax,%ebx
40c527:	eb 7a                	jmp    0x40c5a3
40c529:	a1 20 12 42 00       	mov    0x421220,%eax
40c52e:	6a ff                	push   $0xffffffff
40c530:	50                   	push   %eax
40c531:	e8 9b e5 ff ff       	call   0x40aad1
40c536:	85 c0                	test   %eax,%eax
40c538:	75 04                	jne    0x40c53e
40c53a:	33 db                	xor    %ebx,%ebx
40c53c:	eb 65                	jmp    0x40c5a3
40c53e:	56                   	push   %esi
40c53f:	68 64 03 00 00       	push   $0x364
40c544:	6a 01                	push   $0x1
40c546:	e8 f7 e1 ff ff       	call   0x40a742
40c54b:	8b f0                	mov    %eax,%esi
40c54d:	59                   	pop    %ecx
40c54e:	59                   	pop    %ecx
40c54f:	85 f6                	test   %esi,%esi
40c551:	75 11                	jne    0x40c564
40c553:	33 db                	xor    %ebx,%ebx
40c555:	53                   	push   %ebx
40c556:	ff 35 20 12 42 00    	push   0x421220
40c55c:	e8 70 e5 ff ff       	call   0x40aad1
40c561:	53                   	push   %ebx
40c562:	eb 1f                	jmp    0x40c583
40c564:	56                   	push   %esi
40c565:	ff 35 20 12 42 00    	push   0x421220
40c56b:	e8 61 e5 ff ff       	call   0x40aad1
40c570:	85 c0                	test   %eax,%eax
40c572:	75 17                	jne    0x40c58b
40c574:	33 db                	xor    %ebx,%ebx
40c576:	53                   	push   %ebx
40c577:	ff 35 20 12 42 00    	push   0x421220
40c57d:	e8 4f e5 ff ff       	call   0x40aad1
40c582:	56                   	push   %esi
40c583:	e8 17 e2 ff ff       	call   0x40a79f
40c588:	59                   	pop    %ecx
40c589:	eb 17                	jmp    0x40c5a2
40c58b:	68 b4 23 42 00       	push   $0x4223b4
40c590:	56                   	push   %esi
40c591:	e8 45 fc ff ff       	call   0x40c1db
40c596:	6a 00                	push   $0x0
40c598:	e8 02 e2 ff ff       	call   0x40a79f
40c59d:	83 c4 0c             	add    $0xc,%esp
40c5a0:	8b de                	mov    %esi,%ebx
40c5a2:	5e                   	pop    %esi
40c5a3:	57                   	push   %edi
40c5a4:	ff 15 88 90 41 00    	call   *0x419088
40c5aa:	5f                   	pop    %edi
40c5ab:	8b c3                	mov    %ebx,%eax
40c5ad:	5b                   	pop    %ebx
40c5ae:	c3                   	ret
40c5af:	8b ff                	mov    %edi,%edi
40c5b1:	55                   	push   %ebp
40c5b2:	8b ec                	mov    %esp,%ebp
40c5b4:	a1 20 12 42 00       	mov    0x421220,%eax
40c5b9:	56                   	push   %esi
40c5ba:	57                   	push   %edi
40c5bb:	33 ff                	xor    %edi,%edi
40c5bd:	83 f8 ff             	cmp    $0xffffffff,%eax
40c5c0:	74 18                	je     0x40c5da
40c5c2:	50                   	push   %eax
40c5c3:	e8 ca e4 ff ff       	call   0x40aa92
40c5c8:	8b f0                	mov    %eax,%esi
40c5ca:	85 f6                	test   %esi,%esi
40c5cc:	74 07                	je     0x40c5d5
40c5ce:	83 fe ff             	cmp    $0xffffffff,%esi
40c5d1:	74 79                	je     0x40c64c
40c5d3:	eb 6e                	jmp    0x40c643
40c5d5:	a1 20 12 42 00       	mov    0x421220,%eax
40c5da:	6a ff                	push   $0xffffffff
40c5dc:	50                   	push   %eax
40c5dd:	e8 ef e4 ff ff       	call   0x40aad1
40c5e2:	85 c0                	test   %eax,%eax
40c5e4:	74 66                	je     0x40c64c
40c5e6:	68 64 03 00 00       	push   $0x364
40c5eb:	6a 01                	push   $0x1
40c5ed:	e8 50 e1 ff ff       	call   0x40a742
40c5f2:	8b f0                	mov    %eax,%esi
40c5f4:	59                   	pop    %ecx
40c5f5:	59                   	pop    %ecx
40c5f6:	85 f6                	test   %esi,%esi
40c5f8:	75 15                	jne    0x40c60f
40c5fa:	57                   	push   %edi
40c5fb:	ff 35 20 12 42 00    	push   0x421220
40c601:	e8 cb e4 ff ff       	call   0x40aad1
40c606:	57                   	push   %edi
40c607:	e8 93 e1 ff ff       	call   0x40a79f
40c60c:	59                   	pop    %ecx
40c60d:	eb 3d                	jmp    0x40c64c
40c60f:	56                   	push   %esi
40c610:	ff 35 20 12 42 00    	push   0x421220
40c616:	e8 b6 e4 ff ff       	call   0x40aad1
40c61b:	85 c0                	test   %eax,%eax
40c61d:	75 0f                	jne    0x40c62e
40c61f:	57                   	push   %edi
40c620:	ff 35 20 12 42 00    	push   0x421220
40c626:	e8 a6 e4 ff ff       	call   0x40aad1
40c62b:	56                   	push   %esi
40c62c:	eb d9                	jmp    0x40c607
40c62e:	68 b4 23 42 00       	push   $0x4223b4
40c633:	56                   	push   %esi
40c634:	e8 a2 fb ff ff       	call   0x40c1db
40c639:	6a 00                	push   $0x0
40c63b:	e8 5f e1 ff ff       	call   0x40a79f
40c640:	83 c4 0c             	add    $0xc,%esp
40c643:	69 7d 0c 64 03 00 00 	imul   $0x364,0xc(%ebp),%edi
40c64a:	03 fe                	add    %esi,%edi
40c64c:	8b c7                	mov    %edi,%eax
40c64e:	5f                   	pop    %edi
40c64f:	5e                   	pop    %esi
40c650:	5d                   	pop    %ebp
40c651:	c3                   	ret
40c652:	68 74 c2 40 00       	push   $0x40c274
40c657:	e8 b8 e3 ff ff       	call   0x40aa14
40c65c:	a3 20 12 42 00       	mov    %eax,0x421220
40c661:	83 f8 ff             	cmp    $0xffffffff,%eax
40c664:	75 03                	jne    0x40c669
40c666:	32 c0                	xor    %al,%al
40c668:	c3                   	ret
40c669:	e8 90 fe ff ff       	call   0x40c4fe
40c66e:	85 c0                	test   %eax,%eax
40c670:	75 09                	jne    0x40c67b
40c672:	50                   	push   %eax
40c673:	e8 06 00 00 00       	call   0x40c67e
40c678:	59                   	pop    %ecx
40c679:	eb eb                	jmp    0x40c666
40c67b:	b0 01                	mov    $0x1,%al
40c67d:	c3                   	ret
40c67e:	a1 20 12 42 00       	mov    0x421220,%eax
40c683:	83 f8 ff             	cmp    $0xffffffff,%eax
40c686:	74 0d                	je     0x40c695
40c688:	50                   	push   %eax
40c689:	e8 c5 e3 ff ff       	call   0x40aa53
40c68e:	83 0d 20 12 42 00 ff 	orl    $0xffffffff,0x421220
40c695:	b0 01                	mov    $0x1,%al
40c697:	c3                   	ret
40c698:	6a 0c                	push   $0xc
40c69a:	68 68 01 42 00       	push   $0x420168
40c69f:	e8 fc 77 ff ff       	call   0x403ea0
40c6a4:	33 ff                	xor    %edi,%edi
40c6a6:	8b 75 08             	mov    0x8(%ebp),%esi
40c6a9:	89 3e                	mov    %edi,(%esi)
40c6ab:	6a 08                	push   $0x8
40c6ad:	e8 da 18 00 00       	call   0x40df8c
40c6b2:	59                   	pop    %ecx
40c6b3:	89 7d fc             	mov    %edi,-0x4(%ebp)
40c6b6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c6b9:	50                   	push   %eax
40c6ba:	e8 7d 00 00 00       	call   0x40c73c
40c6bf:	59                   	pop    %ecx
40c6c0:	8b 00                	mov    (%eax),%eax
40c6c2:	89 06                	mov    %eax,(%esi)
40c6c4:	85 c0                	test   %eax,%eax
40c6c6:	74 0f                	je     0x40c6d7
40c6c8:	89 78 08             	mov    %edi,0x8(%eax)
40c6cb:	89 78 1c             	mov    %edi,0x1c(%eax)
40c6ce:	89 38                	mov    %edi,(%eax)
40c6d0:	89 78 04             	mov    %edi,0x4(%eax)
40c6d3:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40c6d7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c6de:	e8 15 00 00 00       	call   0x40c6f8
40c6e3:	8b c6                	mov    %esi,%eax
40c6e5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c6e8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c6ef:	59                   	pop    %ecx
40c6f0:	5f                   	pop    %edi
40c6f1:	5e                   	pop    %esi
40c6f2:	5b                   	pop    %ebx
40c6f3:	c9                   	leave
40c6f4:	c3                   	ret
40c6f5:	8b 75 08             	mov    0x8(%ebp),%esi
40c6f8:	6a 08                	push   $0x8
40c6fa:	e8 d5 18 00 00       	call   0x40dfd4
40c6ff:	59                   	pop    %ecx
40c700:	c3                   	ret
40c701:	8b ff                	mov    %edi,%edi
40c703:	55                   	push   %ebp
40c704:	8b ec                	mov    %esp,%ebp
40c706:	8b 45 08             	mov    0x8(%ebp),%eax
40c709:	33 c9                	xor    %ecx,%ecx
40c70b:	89 08                	mov    %ecx,(%eax)
40c70d:	8b 45 08             	mov    0x8(%ebp),%eax
40c710:	89 48 04             	mov    %ecx,0x4(%eax)
40c713:	8b 45 08             	mov    0x8(%ebp),%eax
40c716:	89 48 08             	mov    %ecx,0x8(%eax)
40c719:	8b 45 08             	mov    0x8(%ebp),%eax
40c71c:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40c720:	8b 45 08             	mov    0x8(%ebp),%eax
40c723:	89 48 14             	mov    %ecx,0x14(%eax)
40c726:	8b 45 08             	mov    0x8(%ebp),%eax
40c729:	89 48 18             	mov    %ecx,0x18(%eax)
40c72c:	8b 45 08             	mov    0x8(%ebp),%eax
40c72f:	89 48 1c             	mov    %ecx,0x1c(%eax)
40c732:	8b 45 08             	mov    0x8(%ebp),%eax
40c735:	83 c0 0c             	add    $0xc,%eax
40c738:	87 08                	xchg   %ecx,(%eax)
40c73a:	5d                   	pop    %ebp
40c73b:	c3                   	ret
40c73c:	8b ff                	mov    %edi,%edi
40c73e:	55                   	push   %ebp
40c73f:	8b ec                	mov    %esp,%ebp
40c741:	51                   	push   %ecx
40c742:	53                   	push   %ebx
40c743:	8b 1d 3c 1e 42 00    	mov    0x421e3c,%ebx
40c749:	56                   	push   %esi
40c74a:	57                   	push   %edi
40c74b:	8b 3d 40 1e 42 00    	mov    0x421e40,%edi
40c751:	83 c7 0c             	add    $0xc,%edi
40c754:	83 c3 fd             	add    $0xfffffffd,%ebx
40c757:	8d 1c 9f             	lea    (%edi,%ebx,4),%ebx
40c75a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c75d:	eb 42                	jmp    0x40c7a1
40c75f:	8b 37                	mov    (%edi),%esi
40c761:	85 f6                	test   %esi,%esi
40c763:	74 52                	je     0x40c7b7
40c765:	8b 46 0c             	mov    0xc(%esi),%eax
40c768:	90                   	nop
40c769:	c1 e8 0d             	shr    $0xd,%eax
40c76c:	a8 01                	test   $0x1,%al
40c76e:	75 2e                	jne    0x40c79e
40c770:	56                   	push   %esi
40c771:	e8 71 9f ff ff       	call   0x4066e7
40c776:	59                   	pop    %ecx
40c777:	8d 56 0c             	lea    0xc(%esi),%edx
40c77a:	bb 00 20 00 00       	mov    $0x2000,%ebx
40c77f:	8b 02                	mov    (%edx),%eax
40c781:	8b c8                	mov    %eax,%ecx
40c783:	0b cb                	or     %ebx,%ecx
40c785:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
40c789:	75 f6                	jne    0x40c781
40c78b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40c78e:	c1 e8 0d             	shr    $0xd,%eax
40c791:	f6 d0                	not    %al
40c793:	a8 01                	test   $0x1,%al
40c795:	75 19                	jne    0x40c7b0
40c797:	56                   	push   %esi
40c798:	e8 5e 9f ff ff       	call   0x4066fb
40c79d:	59                   	pop    %ecx
40c79e:	83 c7 04             	add    $0x4,%edi
40c7a1:	3b fb                	cmp    %ebx,%edi
40c7a3:	75 ba                	jne    0x40c75f
40c7a5:	8b 45 08             	mov    0x8(%ebp),%eax
40c7a8:	83 20 00             	andl   $0x0,(%eax)
40c7ab:	5f                   	pop    %edi
40c7ac:	5e                   	pop    %esi
40c7ad:	5b                   	pop    %ebx
40c7ae:	c9                   	leave
40c7af:	c3                   	ret
40c7b0:	8b 45 08             	mov    0x8(%ebp),%eax
40c7b3:	89 30                	mov    %esi,(%eax)
40c7b5:	eb f4                	jmp    0x40c7ab
40c7b7:	6a 38                	push   $0x38
40c7b9:	6a 01                	push   $0x1
40c7bb:	e8 82 df ff ff       	call   0x40a742
40c7c0:	6a 00                	push   $0x0
40c7c2:	89 07                	mov    %eax,(%edi)
40c7c4:	e8 d6 df ff ff       	call   0x40a79f
40c7c9:	8b 07                	mov    (%edi),%eax
40c7cb:	83 c4 0c             	add    $0xc,%esp
40c7ce:	85 c0                	test   %eax,%eax
40c7d0:	74 d3                	je     0x40c7a5
40c7d2:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
40c7d6:	8b 07                	mov    (%edi),%eax
40c7d8:	6a 00                	push   $0x0
40c7da:	68 a0 0f 00 00       	push   $0xfa0
40c7df:	83 c0 20             	add    $0x20,%eax
40c7e2:	50                   	push   %eax
40c7e3:	e8 2b e3 ff ff       	call   0x40ab13
40c7e8:	8b 37                	mov    (%edi),%esi
40c7ea:	b9 00 20 00 00       	mov    $0x2000,%ecx
40c7ef:	8d 46 0c             	lea    0xc(%esi),%eax
40c7f2:	f0 09 08             	lock or %ecx,(%eax)
40c7f5:	56                   	push   %esi