42e8b3:	85 ff                	test   %edi,%edi
42e8b5:	0f 85 a7 01 00 00    	jne    0x42ea62
42e8bb:	85 c9                	test   %ecx,%ecx
42e8bd:	75 05                	jne    0x42e8c4
42e8bf:	8d 51 fe             	lea    -0x2(%ecx),%edx
42e8c2:	eb 11                	jmp    0x42e8d5
42e8c4:	8b d6                	mov    %esi,%edx
42e8c6:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
42e8cc:	72 05                	jb     0x42e8d3
42e8ce:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
42e8d3:	f7 da                	neg    %edx
42e8d5:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
42e8dc:	00
42e8dd:	8b f9                	mov    %ecx,%edi
42e8df:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
42e8e6:	00
42e8e7:	8b 4c 24 18          	mov    0x18(%esp),%ecx
42e8eb:	8b 44 24 10          	mov    0x10(%esp),%eax
42e8ef:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
42e8f3:	3b 44 24 10          	cmp    0x10(%esp),%eax
42e8f7:	74 08                	je     0x42e901
42e8f9:	52                   	push   %edx
42e8fa:	8b cb                	mov    %ebx,%ecx
42e8fc:	e8 3f 65 ff ff       	call   0x424e40
42e901:	f3 90                	pause
42e903:	83 3d d4 14 45 00 00 	cmpl   $0x0,0x4514d4
42e90a:	74 96                	je     0x42e8a2
42e90c:	33 c0                	xor    %eax,%eax
42e90e:	85 c0                	test   %eax,%eax
42e910:	0f 84 74 05 00 00    	je     0x42ee8a
42e916:	e8 e5 ea ff ff       	call   0x42d400
42e91b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
42e91f:	8d 54 24 20          	lea    0x20(%esp),%edx
42e923:	33 c0                	xor    %eax,%eax
42e925:	c7 44 24 38 8c 00 00 	movl   $0x8c,0x38(%esp)
42e92c:	00
42e92d:	89 44 24 24          	mov    %eax,0x24(%esp)
42e931:	b9 70 e5 42 00       	mov    $0x42e570,%ecx
42e936:	89 44 24 28          	mov    %eax,0x28(%esp)
42e93a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
42e93e:	89 44 24 30          	mov    %eax,0x30(%esp)
42e942:	89 44 24 34          	mov    %eax,0x34(%esp)
42e946:	a1 5c 0c 45 00       	mov    0x450c5c,%eax
42e94b:	c7 44 24 3c 8c 00 00 	movl   $0x8c,0x3c(%esp)
42e952:	00
42e953:	89 44 24 20          	mov    %eax,0x20(%esp)
42e957:	e8 54 f6 ff ff       	call   0x42dfb0
42e95c:	8b 74 24 38          	mov    0x38(%esp),%esi
42e960:	33 ff                	xor    %edi,%edi
42e962:	33 c0                	xor    %eax,%eax
42e964:	89 7c 24 0c          	mov    %edi,0xc(%esp)
42e968:	33 db                	xor    %ebx,%ebx
42e96a:	89 44 24 14          	mov    %eax,0x14(%esp)
42e96e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
42e972:	81 c6 74 ff ff ff    	add    $0xffffff74,%esi
42e978:	0f 84 36 04 00 00    	je     0x42edb4
42e97e:	8b ff                	mov    %edi,%edi
42e980:	43                   	inc    %ebx
42e981:	8d 4e 28             	lea    0x28(%esi),%ecx
42e984:	89 5c 24 10          	mov    %ebx,0x10(%esp)
42e988:	e8 03 5e ff ff       	call   0x424790
42e98d:	85 c0                	test   %eax,%eax
42e98f:	75 0a                	jne    0x42e99b
42e991:	6a ff                	push   $0xffffffff
42e993:	8d 4e 28             	lea    0x28(%esi),%ecx
42e996:	e8 45 61 ff ff       	call   0x424ae0
42e99b:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
42e99f:	0f 84 cf 02 00 00    	je     0x42ec74
42e9a5:	8b 46 24             	mov    0x24(%esi),%eax
42e9a8:	83 f8 02             	cmp    $0x2,%eax
42e9ab:	0f 86 c3 02 00 00    	jbe    0x42ec74
42e9b1:	69 c0 a0 0f 00 00    	imul   $0xfa0,%eax,%eax
42e9b7:	05 c0 e0 ff ff       	add    $0xffffe0c0,%eax
42e9bc:	3b 44 24 20          	cmp    0x20(%esp),%eax
42e9c0:	0f 86 ae 02 00 00    	jbe    0x42ec74
42e9c6:	f6 05 c0 1a 45 00 01 	testb  $0x1,0x451ac0
42e9cd:	0f 84 3b 01 00 00    	je     0x42eb0e
42e9d3:	8b 46 30             	mov    0x30(%esi),%eax
42e9d6:	a8 01                	test   $0x1,%al
42e9d8:	0f 85 30 01 00 00    	jne    0x42eb0e
42e9de:	8b 46 24             	mov    0x24(%esi),%eax
42e9e1:	83 f8 02             	cmp    $0x2,%eax
42e9e4:	0f 86 24 01 00 00    	jbe    0x42eb0e
42e9ea:	69 c0 a0 0f 00 00    	imul   $0xfa0,%eax,%eax
42e9f0:	05 c0 e0 ff ff       	add    $0xffffe0c0,%eax
42e9f5:	3b 44 24 20          	cmp    0x20(%esp),%eax
42e9f9:	0f 86 0f 01 00 00    	jbe    0x42eb0e
42e9ff:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
42ea06:	0f 84 cf 00 00 00    	je     0x42eadb
42ea0c:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
42ea13:	0f 85 c2 00 00 00    	jne    0x42eadb
42ea19:	83 3d 4c 14 45 00 00 	cmpl   $0x0,0x45144c
42ea20:	0f 84 b5 00 00 00    	je     0x42eadb
42ea26:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64
42ea2d:	74 12                	je     0x42ea41
42ea2f:	ff 15 b4 21 45 00    	call   *0x4521b4
42ea35:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
42ea3b:	0f 85 9a 00 00 00    	jne    0x42eadb
42ea41:	e8 ea b6 ff ff       	call   0x42a130
42ea46:	85 c0                	test   %eax,%eax
42ea48:	74 03                	je     0x42ea4d
42ea4a:	ff 40 18             	incl   0x18(%eax)
42ea4d:	8b 46 24             	mov    0x24(%esi),%eax
42ea50:	83 f8 02             	cmp    $0x2,%eax
42ea53:	76 17                	jbe    0x42ea6c
42ea55:	69 c0 a0 0f 00 00    	imul   $0xfa0,%eax,%eax
42ea5b:	2d 40 1f 00 00       	sub    $0x1f40,%eax
42ea60:	eb 0c                	jmp    0x42ea6e
42ea62:	b8 01 00 00 00       	mov    $0x1,%eax
42ea67:	e9 a2 fe ff ff       	jmp    0x42e90e
42ea6c:	33 c0                	xor    %eax,%eax
42ea6e:	50                   	push   %eax
42ea6f:	8b 46 24             	mov    0x24(%esi),%eax
42ea72:	50                   	push   %eax
42ea73:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
42ea77:	50                   	push   %eax
42ea78:	0f be 46 2c          	movsbl 0x2c(%esi),%eax
42ea7c:	50                   	push   %eax
42ea7d:	56                   	push   %esi
42ea7e:	68 00 1a 41 00       	push   $0x411a00
42ea83:	e8 48 c1 ff ff       	call   0x42abd0
42ea88:	83 c4 18             	add    $0x18,%esp
42ea8b:	8b f8                	mov    %eax,%edi
42ea8d:	83 3d 54 1a 45 00 00 	cmpl   $0x0,0x451a54
42ea94:	74 10                	je     0x42eaa6
42ea96:	ff 35 48 14 45 00    	push   0x451448
42ea9c:	57                   	push   %edi
42ea9d:	6a 00                	push   $0x0
42ea9f:	6a 29                	push   $0x29
42eaa1:	e8 0a ba ff ff       	call   0x42a4b0
42eaa6:	ff 35 48 14 45 00    	push   0x451448
42eaac:	57                   	push   %edi
42eaad:	8b 3d 58 1a 45 00    	mov    0x451a58,%edi
42eab3:	8b cf                	mov    %edi,%ecx
42eab5:	6a 00                	push   $0x0
42eab7:	6a 29                	push   $0x29
42eab9:	ff 15 84 23 45 00    	call   *0x452384
42eabf:	ff d7                	call   *%edi
42eac1:	e8 6a b6 ff ff       	call   0x42a130
42eac6:	85 c0                	test   %eax,%eax
42eac8:	74 0d                	je     0x42ead7
42eaca:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
42eace:	75 07                	jne    0x42ead7
42ead0:	8b c8                	mov    %eax,%ecx
42ead2:	e8 79 b5 ff ff       	call   0x42a050
42ead7:	8b 7c 24 0c          	mov    0xc(%esp),%edi
42eadb:	8b 46 24             	mov    0x24(%esi),%eax
42eade:	83 f8 02             	cmp    $0x2,%eax
42eae1:	76 0e                	jbe    0x42eaf1
42eae3:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42eae9:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42eaef:	eb 02                	jmp    0x42eaf3
42eaf1:	33 c9                	xor    %ecx,%ecx
42eaf3:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
42eaf8:	f7 e1                	mul    %ecx
42eafa:	51                   	push   %ecx
42eafb:	c1 ea 06             	shr    $0x6,%edx
42eafe:	8b ce                	mov    %esi,%ecx
42eb00:	e8 7b fb ff ff       	call   0x42e680
42eb05:	8b 46 30             	mov    0x30(%esi),%eax
42eb08:	83 c8 01             	or     $0x1,%eax
42eb0b:	89 46 30             	mov    %eax,0x30(%esi)
42eb0e:	f6 05 c0 1a 45 00 08 	testb  $0x8,0x451ac0
42eb15:	0f 84 ac 00 00 00    	je     0x42ebc7
42eb1b:	8b 46 30             	mov    0x30(%esi),%eax
42eb1e:	a8 08                	test   $0x8,%al
42eb20:	0f 85 a1 00 00 00    	jne    0x42ebc7
42eb26:	8b 46 24             	mov    0x24(%esi),%eax
42eb29:	83 f8 02             	cmp    $0x2,%eax
42eb2c:	76 0e                	jbe    0x42eb3c
42eb2e:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42eb34:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42eb3a:	eb 02                	jmp    0x42eb3e
42eb3c:	33 c9                	xor    %ecx,%ecx
42eb3e:	8b 44 24 20          	mov    0x20(%esp),%eax
42eb42:	8d 04 c0             	lea    (%eax,%eax,8),%eax
42eb45:	3b c8                	cmp    %eax,%ecx
42eb47:	76 7e                	jbe    0x42ebc7
42eb49:	8b 46 24             	mov    0x24(%esi),%eax
42eb4c:	83 f8 02             	cmp    $0x2,%eax
42eb4f:	76 0e                	jbe    0x42eb5f
42eb51:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42eb57:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42eb5d:	eb 02                	jmp    0x42eb61
42eb5f:	33 c9                	xor    %ecx,%ecx
42eb61:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
42eb66:	f7 e1                	mul    %ecx
42eb68:	51                   	push   %ecx
42eb69:	c1 ea 06             	shr    $0x6,%edx
42eb6c:	8b ce                	mov    %esi,%ecx
42eb6e:	e8 0d fb ff ff       	call   0x42e680
42eb73:	e8 b8 b5 ff ff       	call   0x42a130
42eb78:	85 c0                	test   %eax,%eax
42eb7a:	74 03                	je     0x42eb7f
42eb7c:	ff 40 18             	incl   0x18(%eax)
42eb7f:	68 80 1a 41 00       	push   $0x411a80
42eb84:	68 50 0d 41 00       	push   $0x410d50
42eb89:	68 98 28 41 00       	push   $0x412898
42eb8e:	e8 3d c0 ff ff       	call   0x42abd0
42eb93:	83 c4 0c             	add    $0xc,%esp
42eb96:	68 c7 07 00 00       	push   $0x7c7
42eb9b:	68 60 19 41 00       	push   $0x411960
42eba0:	50                   	push   %eax
42eba1:	6a 00                	push   $0x0
42eba3:	e8 68 9a ff ff       	call   0x428610
42eba8:	e8 83 b5 ff ff       	call   0x42a130
42ebad:	85 c0                	test   %eax,%eax
42ebaf:	74 0d                	je     0x42ebbe
42ebb1:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
42ebb5:	75 07                	jne    0x42ebbe
42ebb7:	8b c8                	mov    %eax,%ecx
42ebb9:	e8 92 b4 ff ff       	call   0x42a050
42ebbe:	8b 46 30             	mov    0x30(%esi),%eax
42ebc1:	83 c8 08             	or     $0x8,%eax
42ebc4:	89 46 30             	mov    %eax,0x30(%esi)
42ebc7:	f6 05 c0 1a 45 00 10 	testb  $0x10,0x451ac0
42ebce:	74 60                	je     0x42ec30
42ebd0:	8b 46 30             	mov    0x30(%esi),%eax
42ebd3:	a8 10                	test   $0x10,%al
42ebd5:	75 59                	jne    0x42ec30
42ebd7:	8b 46 24             	mov    0x24(%esi),%eax
42ebda:	83 f8 02             	cmp    $0x2,%eax
42ebdd:	76 0e                	jbe    0x42ebed
42ebdf:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42ebe5:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42ebeb:	eb 02                	jmp    0x42ebef
42ebed:	33 c9                	xor    %ecx,%ecx
42ebef:	8b 44 24 20          	mov    0x20(%esp),%eax
42ebf3:	8d 04 40             	lea    (%eax,%eax,2),%eax
42ebf6:	c1 e0 02             	shl    $0x2,%eax
42ebf9:	3b c8                	cmp    %eax,%ecx
42ebfb:	76 33                	jbe    0x42ec30
42ebfd:	8b 46 24             	mov    0x24(%esi),%eax
42ec00:	83 f8 02             	cmp    $0x2,%eax
42ec03:	76 0e                	jbe    0x42ec13
42ec05:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42ec0b:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42ec11:	eb 02                	jmp    0x42ec15
42ec13:	33 c9                	xor    %ecx,%ecx
42ec15:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
42ec1a:	f7 e1                	mul    %ecx
42ec1c:	51                   	push   %ecx
42ec1d:	c1 ea 06             	shr    $0x6,%edx
42ec20:	8b ce                	mov    %esi,%ecx
42ec22:	e8 59 fa ff ff       	call   0x42e680
42ec27:	8b 46 30             	mov    0x30(%esi),%eax
42ec2a:	83 c8 10             	or     $0x10,%eax
42ec2d:	89 46 30             	mov    %eax,0x30(%esi)
42ec30:	8b 46 24             	mov    0x24(%esi),%eax
42ec33:	83 f8 02             	cmp    $0x2,%eax
42ec36:	76 0e                	jbe    0x42ec46
42ec38:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
42ec3e:	81 e9 40 1f 00 00    	sub    $0x1f40,%ecx
42ec44:	eb 02                	jmp    0x42ec48
42ec46:	33 c9                	xor    %ecx,%ecx
42ec48:	8b 44 24 20          	mov    0x20(%esp),%eax
42ec4c:	8d 04 40             	lea    (%eax,%eax,2),%eax
42ec4f:	c1 e0 02             	shl    $0x2,%eax
42ec52:	3b c8                	cmp    %eax,%ecx
42ec54:	76 1e                	jbe    0x42ec74
42ec56:	85 ff                	test   %edi,%edi
42ec58:	75 09                	jne    0x42ec63
42ec5a:	8b 7e 40             	mov    0x40(%esi),%edi
42ec5d:	89 7c 24 0c          	mov    %edi,0xc(%esp)
42ec61:	eb 11                	jmp    0x42ec74
42ec63:	3b 7e 40             	cmp    0x40(%esi),%edi
42ec66:	74 0c                	je     0x42ec74
42ec68:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
42ec6f:	00
42ec70:	89 74 24 18          	mov    %esi,0x18(%esp)
42ec74:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
42ec7a:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
42ec80:	81 f9 8c 00 00 00    	cmp    $0x8c,%ecx
42ec86:	74 04                	je     0x42ec8c
42ec88:	89 01                	mov    %eax,(%ecx)
42ec8a:	eb 04                	jmp    0x42ec90
42ec8c:	89 44 24 3c          	mov    %eax,0x3c(%esp)
42ec90:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
42ec96:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
42ec9c:	81 f9 8c 00 00 00    	cmp    $0x8c,%ecx
42eca2:	74 05                	je     0x42eca9
42eca4:	89 41 04             	mov    %eax,0x4(%ecx)
42eca7:	eb 04                	jmp    0x42ecad
42eca9:	89 44 24 38          	mov    %eax,0x38(%esp)
42ecad:	6a 01                	push   $0x1
42ecaf:	8d 4e 28             	lea    0x28(%esi),%ecx
42ecb2:	c7 86 8c 00 00 00 ff 	movl   $0xffffffff,0x8c(%esi)
42ecb9:	ff ff ff
42ecbc:	c7 86 90 00 00 00 ff 	movl   $0xffffffff,0x90(%esi)
42ecc3:	ff ff ff
42ecc6:	e8 75 61 fe ff       	call   0x414e40
42eccb:	8b 74 24 38          	mov    0x38(%esp),%esi
42eccf:	8b 5c 24 10          	mov    0x10(%esp),%ebx
42ecd3:	81 c6 74 ff ff ff    	add    $0xffffff74,%esi
42ecd9:	0f 85 a1 fc ff ff    	jne    0x42e980
42ecdf:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
42ece4:	0f 84 c6 00 00 00    	je     0x42edb0
42ecea:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
42ecf1:	0f 84 92 00 00 00    	je     0x42ed89
42ecf7:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
42ecfe:	0f 85 85 00 00 00    	jne    0x42ed89
42ed04:	83 3d 4c 14 45 00 00 	cmpl   $0x0,0x45144c
42ed0b:	74 7c                	je     0x42ed89
42ed0d:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64
42ed14:	74 0e                	je     0x42ed24
42ed16:	ff 15 b4 21 45 00    	call   *0x4521b4
42ed1c:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
42ed22:	75 65                	jne    0x42ed89
42ed24:	e8 07 b4 ff ff       	call   0x42a130
42ed29:	85 c0                	test   %eax,%eax
42ed2b:	74 03                	je     0x42ed30
42ed2d:	ff 40 18             	incl   0x18(%eax)
42ed30:	68 94 1a 41 00       	push   $0x411a94
42ed35:	e8 96 be ff ff       	call   0x42abd0
42ed3a:	83 c4 04             	add    $0x4,%esp
42ed3d:	8b f0                	mov    %eax,%esi
42ed3f:	83 3d 54 1a 45 00 00 	cmpl   $0x0,0x451a54
42ed46:	74 10                	je     0x42ed58
42ed48:	ff 35 48 14 45 00    	push   0x451448
42ed4e:	56                   	push   %esi
42ed4f:	6a 00                	push   $0x0
42ed51:	6a 29                	push   $0x29
42ed53:	e8 58 b7 ff ff       	call   0x42a4b0
42ed58:	ff 35 48 14 45 00    	push   0x451448
42ed5e:	56                   	push   %esi
42ed5f:	8b 35 58 1a 45 00    	mov    0x451a58,%esi
42ed65:	8b ce                	mov    %esi,%ecx
42ed67:	6a 00                	push   $0x0
42ed69:	6a 29                	push   $0x29
42ed6b:	ff 15 84 23 45 00    	call   *0x452384
42ed71:	ff d6                	call   *%esi
42ed73:	e8 b8 b3 ff ff       	call   0x42a130
42ed78:	85 c0                	test   %eax,%eax
42ed7a:	74 0d                	je     0x42ed89
42ed7c:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
42ed80:	75 07                	jne    0x42ed89
42ed82:	8b c8                	mov    %eax,%ecx
42ed84:	e8 c7 b2 ff ff       	call   0x42a050
42ed89:	8b 5c 24 18          	mov    0x18(%esp),%ebx
42ed8d:	8d 4b 28             	lea    0x28(%ebx),%ecx
42ed90:	e8 fb 59 ff ff       	call   0x424790
42ed95:	85 c0                	test   %eax,%eax
42ed97:	75 0a                	jne    0x42eda3
42ed99:	6a ff                	push   $0xffffffff
42ed9b:	8d 4b 28             	lea    0x28(%ebx),%ecx
42ed9e:	e8 3d 5d ff ff       	call   0x424ae0
42eda3:	8b 43 24             	mov    0x24(%ebx),%eax
42eda6:	8d 4b 28             	lea    0x28(%ebx),%ecx
42eda9:	6a 01                	push   $0x1
42edab:	e8 90 60 fe ff       	call   0x414e40