4309b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4309ba:	33 cd                	xor    %ebp,%ecx
4309bc:	e8 8f c5 01 00       	call   0x44cf50
4309c1:	8b e5                	mov    %ebp,%esp
4309c3:	5d                   	pop    %ebp
4309c4:	c2 08 00             	ret    $0x8
4309c7:	8d 48 fe             	lea    -0x2(%eax),%ecx
4309ca:	3b d9                	cmp    %ecx,%ebx
4309cc:	72 02                	jb     0x4309d0
4309ce:	8b d9                	mov    %ecx,%ebx
4309d0:	83 fb 01             	cmp    $0x1,%ebx
4309d3:	77 05                	ja     0x4309da
4309d5:	bb 01 00 00 00       	mov    $0x1,%ebx
4309da:	8d 48 ff             	lea    -0x1(%eax),%ecx
4309dd:	3b f9                	cmp    %ecx,%edi
4309df:	72 02                	jb     0x4309e3
4309e1:	8b f9                	mov    %ecx,%edi
4309e3:	8d 4b 01             	lea    0x1(%ebx),%ecx
4309e6:	3b f9                	cmp    %ecx,%edi
4309e8:	77 02                	ja     0x4309ec
4309ea:	8b f9                	mov    %ecx,%edi
4309ec:	50                   	push   %eax
4309ed:	8b ce                	mov    %esi,%ecx
4309ef:	e8 5c 12 00 00       	call   0x431c50
4309f4:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
4309fa:	85 c0                	test   %eax,%eax
4309fc:	79 20                	jns    0x430a1e
4309fe:	8b ce                	mov    %esi,%ecx
430a00:	e8 cb 11 00 00       	call   0x431bd0
430a05:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
430a0b:	5f                   	pop    %edi
430a0c:	5e                   	pop    %esi
430a0d:	5b                   	pop    %ebx
430a0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430a11:	33 cd                	xor    %ebp,%ecx
430a13:	e8 38 c5 01 00       	call   0x44cf50
430a18:	8b e5                	mov    %ebp,%esp
430a1a:	5d                   	pop    %ebp
430a1b:	c2 08 00             	ret    $0x8
430a1e:	b8 67 66 66 66       	mov    $0x66666667,%eax
430a23:	89 5e 70             	mov    %ebx,0x70(%esi)
430a26:	f7 eb                	imul   %ebx
430a28:	c1 fa 03             	sar    $0x3,%edx
430a2b:	8b c2                	mov    %edx,%eax
430a2d:	c1 e8 1f             	shr    $0x1f,%eax
430a30:	03 c2                	add    %edx,%eax
430a32:	83 f8 01             	cmp    $0x1,%eax
430a35:	7f 05                	jg     0x430a3c
430a37:	b8 01 00 00 00       	mov    $0x1,%eax
430a3c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
430a3f:	53                   	push   %ebx
430a40:	68 e4 21 41 00       	push   $0x4121e4
430a45:	89 46 74             	mov    %eax,0x74(%esi)
430a48:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
430a4e:	68 08 02 00 00       	push   $0x208
430a53:	50                   	push   %eax
430a54:	89 7e 7c             	mov    %edi,0x7c(%esi)
430a57:	e8 44 84 ff ff       	call   0x428ea0
430a5c:	83 c4 10             	add    $0x10,%esp
430a5f:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
430a65:	6a 00                	push   $0x0
430a67:	6a 00                	push   $0x0
430a69:	6a 03                	push   $0x3
430a6b:	6a 00                	push   $0x0
430a6d:	6a 01                	push   $0x1
430a6f:	6a 00                	push   $0x0
430a71:	51                   	push   %ecx
430a72:	ff 15 ec 20 45 00    	call   *0x4520ec
430a78:	8b b5 e8 fd ff ff    	mov    -0x218(%ebp),%esi
430a7e:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
430a84:	53                   	push   %ebx
430a85:	51                   	push   %ecx
430a86:	8b ce                	mov    %esi,%ecx
430a88:	89 86 b8 03 00 00    	mov    %eax,0x3b8(%esi)
430a8e:	e8 ad ec ff ff       	call   0x42f740
430a93:	c7 46 08 02 00 00 00 	movl   $0x2,0x8(%esi)
430a9a:	33 c0                	xor    %eax,%eax
430a9c:	5f                   	pop    %edi
430a9d:	5e                   	pop    %esi
430a9e:	5b                   	pop    %ebx
430a9f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430aa2:	33 cd                	xor    %ebp,%ecx
430aa4:	e8 a7 c4 01 00       	call   0x44cf50
430aa9:	8b e5                	mov    %ebp,%esp
430aab:	5d                   	pop    %ebp
430aac:	c2 08 00             	ret    $0x8
430aaf:	e8 3c d2 00 00       	call   0x43dcf0
430ab4:	83 c0 10             	add    $0x10,%eax
430ab7:	74 0a                	je     0x430ac3
430ab9:	e8 32 d2 00 00       	call   0x43dcf0
430abe:	83 c0 14             	add    $0x14,%eax
430ac1:	eb 02                	jmp    0x430ac5
430ac3:	33 c0                	xor    %eax,%eax
430ac5:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
430acc:	fc ff ff
430acf:	c7 00 60 19 41 00    	movl   $0x411960,(%eax)
430ad5:	c7 40 04 c7 0b 00 00 	movl   $0xbc7,0x4(%eax)
430adc:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
430ae3:	75 06                	jne    0x430aeb
430ae5:	ff 15 58 20 45 00    	call   *0x452058
430aeb:	b8 0d fc ff ff       	mov    $0xfffffc0d,%eax
430af0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430af3:	5f                   	pop    %edi
430af4:	5e                   	pop    %esi
430af5:	33 cd                	xor    %ebp,%ecx
430af7:	5b                   	pop    %ebx
430af8:	e8 53 c4 01 00       	call   0x44cf50
430afd:	8b e5                	mov    %ebp,%esp
430aff:	5d                   	pop    %ebp
430b00:	c2 08 00             	ret    $0x8
430b03:	cc                   	int3
430b04:	cc                   	int3
430b05:	cc                   	int3
430b06:	cc                   	int3
430b07:	cc                   	int3
430b08:	cc                   	int3
430b09:	cc                   	int3
430b0a:	cc                   	int3
430b0b:	cc                   	int3
430b0c:	cc                   	int3
430b0d:	cc                   	int3
430b0e:	cc                   	int3
430b0f:	cc                   	int3
430b10:	8b ff                	mov    %edi,%edi
430b12:	56                   	push   %esi
430b13:	8b f1                	mov    %ecx,%esi
430b15:	57                   	push   %edi
430b16:	8b be b0 03 00 00    	mov    0x3b0(%esi),%edi
430b1c:	85 ff                	test   %edi,%edi
430b1e:	0f 84 ba 00 00 00    	je     0x430bde
430b24:	8b cf                	mov    %edi,%ecx
430b26:	e8 a5 10 00 00       	call   0x431bd0
430b2b:	8b 57 6c             	mov    0x6c(%edi),%edx
430b2e:	85 d2                	test   %edx,%edx
430b30:	74 16                	je     0x430b48
430b32:	ff 72 14             	push   0x14(%edx)
430b35:	8d 4f 6c             	lea    0x6c(%edi),%ecx
430b38:	e8 43 75 00 00       	call   0x438080
430b3d:	ff 72 18             	push   0x18(%edx)
430b40:	8d 4f 6c             	lea    0x6c(%edi),%ecx
430b43:	e8 38 75 00 00       	call   0x438080
430b48:	c7 47 6c 00 00 00 00 	movl   $0x0,0x6c(%edi)
430b4f:	8b 57 68             	mov    0x68(%edi),%edx
430b52:	85 d2                	test   %edx,%edx
430b54:	74 16                	je     0x430b6c
430b56:	ff 72 14             	push   0x14(%edx)
430b59:	8d 4f 68             	lea    0x68(%edi),%ecx
430b5c:	e8 1f 75 00 00       	call   0x438080
430b61:	ff 72 18             	push   0x18(%edx)
430b64:	8d 4f 68             	lea    0x68(%edi),%ecx
430b67:	e8 14 75 00 00       	call   0x438080
430b6c:	c7 47 68 00 00 00 00 	movl   $0x0,0x68(%edi)
430b73:	8b 57 54             	mov    0x54(%edi),%edx
430b76:	85 d2                	test   %edx,%edx
430b78:	74 16                	je     0x430b90
430b7a:	ff 72 14             	push   0x14(%edx)
430b7d:	8d 4f 54             	lea    0x54(%edi),%ecx
430b80:	e8 fb 74 00 00       	call   0x438080
430b85:	ff 72 18             	push   0x18(%edx)
430b88:	8d 4f 54             	lea    0x54(%edi),%ecx
430b8b:	e8 f0 74 00 00       	call   0x438080
430b90:	c7 47 54 00 00 00 00 	movl   $0x0,0x54(%edi)
430b97:	8b 57 50             	mov    0x50(%edi),%edx
430b9a:	85 d2                	test   %edx,%edx
430b9c:	74 16                	je     0x430bb4
430b9e:	ff 72 14             	push   0x14(%edx)
430ba1:	8d 4f 50             	lea    0x50(%edi),%ecx
430ba4:	e8 d7 74 00 00       	call   0x438080
430ba9:	ff 72 18             	push   0x18(%edx)
430bac:	8d 4f 50             	lea    0x50(%edi),%ecx
430baf:	e8 cc 74 00 00       	call   0x438080
430bb4:	57                   	push   %edi
430bb5:	6a 00                	push   $0x0
430bb7:	ff 35 00 12 45 00    	push   0x451200
430bbd:	c7 47 50 00 00 00 00 	movl   $0x0,0x50(%edi)
430bc4:	ff 15 18 21 45 00    	call   *0x452118
430bca:	85 c0                	test   %eax,%eax
430bcc:	75 06                	jne    0x430bd4
430bce:	ff 15 6c 20 45 00    	call   *0x45206c
430bd4:	c7 86 b0 03 00 00 00 	movl   $0x0,0x3b0(%esi)
430bdb:	00 00 00
430bde:	8b 86 b8 03 00 00    	mov    0x3b8(%esi),%eax
430be4:	83 f8 ff             	cmp    $0xffffffff,%eax
430be7:	74 11                	je     0x430bfa
430be9:	50                   	push   %eax
430bea:	ff 15 10 21 45 00    	call   *0x452110
430bf0:	c7 86 b8 03 00 00 ff 	movl   $0xffffffff,0x3b8(%esi)
430bf7:	ff ff ff
430bfa:	56                   	push   %esi
430bfb:	6a 00                	push   $0x0
430bfd:	ff 35 00 12 45 00    	push   0x451200
430c03:	ff 15 18 21 45 00    	call   *0x452118
430c09:	85 c0                	test   %eax,%eax
430c0b:	75 06                	jne    0x430c13
430c0d:	ff 15 6c 20 45 00    	call   *0x45206c
430c13:	5f                   	pop    %edi
430c14:	8b c6                	mov    %esi,%eax
430c16:	5e                   	pop    %esi
430c17:	c2 04 00             	ret    $0x4
430c1a:	cc                   	int3
430c1b:	cc                   	int3
430c1c:	cc                   	int3
430c1d:	cc                   	int3
430c1e:	cc                   	int3
430c1f:	cc                   	int3
430c20:	8b ff                	mov    %edi,%edi
430c22:	55                   	push   %ebp
430c23:	8b ec                	mov    %esp,%ebp
430c25:	51                   	push   %ecx
430c26:	53                   	push   %ebx
430c27:	8b da                	mov    %edx,%ebx
430c29:	8b c1                	mov    %ecx,%eax
430c2b:	56                   	push   %esi
430c2c:	8b 35 e8 14 45 00    	mov    0x4514e8,%esi
430c32:	89 45 fc             	mov    %eax,-0x4(%ebp)
430c35:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
430c3b:	57                   	push   %edi
430c3c:	bf 93 ff ff ff       	mov    $0xffffff93,%edi
430c41:	85 f6                	test   %esi,%esi
430c43:	74 1d                	je     0x430c62
430c45:	51                   	push   %ecx
430c46:	8d 4e 18             	lea    0x18(%esi),%ecx
430c49:	8b d0                	mov    %eax,%edx
430c4b:	e8 a0 81 ff ff       	call   0x428df0
430c50:	85 c0                	test   %eax,%eax
430c52:	75 04                	jne    0x430c58
430c54:	89 33                	mov    %esi,(%ebx)
430c56:	33 ff                	xor    %edi,%edi
430c58:	8b 76 04             	mov    0x4(%esi),%esi
430c5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
430c5e:	85 f6                	test   %esi,%esi
430c60:	75 e3                	jne    0x430c45
430c62:	8b c7                	mov    %edi,%eax
430c64:	5f                   	pop    %edi
430c65:	5e                   	pop    %esi
430c66:	5b                   	pop    %ebx
430c67:	8b e5                	mov    %ebp,%esp
430c69:	5d                   	pop    %ebp
430c6a:	c3                   	ret
430c6b:	cc                   	int3
430c6c:	cc                   	int3
430c6d:	cc                   	int3
430c6e:	cc                   	int3
430c6f:	cc                   	int3
430c70:	8b ff                	mov    %edi,%edi
430c72:	55                   	push   %ebp
430c73:	8b ec                	mov    %esp,%ebp
430c75:	83 e4 f8             	and    $0xfffffff8,%esp
430c78:	83 ec 14             	sub    $0x14,%esp
430c7b:	53                   	push   %ebx
430c7c:	56                   	push   %esi
430c7d:	57                   	push   %edi
430c7e:	89 54 24 1c          	mov    %edx,0x1c(%esp)
430c82:	89 4c 24 14          	mov    %ecx,0x14(%esp)
430c86:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
430c8d:	00
430c8e:	e8 6d c5 ff ff       	call   0x42d200
430c93:	8b 35 e8 14 45 00    	mov    0x4514e8,%esi
430c99:	33 ff                	xor    %edi,%edi
430c9b:	89 7c 24 10          	mov    %edi,0x10(%esp)
430c9f:	bb 93 ff ff ff       	mov    $0xffffff93,%ebx
430ca4:	85 f6                	test   %esi,%esi
430ca6:	74 20                	je     0x430cc8
430ca8:	8b 54 24 14          	mov    0x14(%esp),%edx
430cac:	51                   	push   %ecx
430cad:	8d 4e 18             	lea    0x18(%esi),%ecx
430cb0:	e8 3b 81 ff ff       	call   0x428df0
430cb5:	85 c0                	test   %eax,%eax
430cb7:	75 08                	jne    0x430cc1
430cb9:	8b fe                	mov    %esi,%edi
430cbb:	33 db                	xor    %ebx,%ebx
430cbd:	89 7c 24 10          	mov    %edi,0x10(%esp)
430cc1:	8b 76 04             	mov    0x4(%esi),%esi
430cc4:	85 f6                	test   %esi,%esi
430cc6:	75 e0                	jne    0x430ca8
430cc8:	85 ff                	test   %edi,%edi
430cca:	0f 85 06 02 00 00    	jne    0x430ed6
430cd0:	e8 4b c4 ff ff       	call   0x42d120
430cd5:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430cda:	e8 d1 c0 ff ff       	call   0x42cdb0
430cdf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
430ce3:	8d 54 24 10          	lea    0x10(%esp),%edx
430ce7:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
430cee:	00
430cef:	e8 2c ff ff ff       	call   0x430c20
430cf4:	8b 7c 24 10          	mov    0x10(%esp),%edi
430cf8:	8b d8                	mov    %eax,%ebx
430cfa:	85 ff                	test   %edi,%edi
430cfc:	0f 85 d4 01 00 00    	jne    0x430ed6
430d02:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430d07:	e8 a4 c1 ff ff       	call   0x42ceb0
430d0c:	83 f8 03             	cmp    $0x3,%eax
430d0f:	75 0a                	jne    0x430d1b
430d11:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430d16:	e8 c5 c2 ff ff       	call   0x42cfe0
430d1b:	68 c8 03 00 00       	push   $0x3c8
430d20:	6a 00                	push   $0x0
430d22:	ff 35 00 12 45 00    	push   0x451200
430d28:	ff 15 24 21 45 00    	call   *0x452124
430d2e:	8b f0                	mov    %eax,%esi
430d30:	85 f6                	test   %esi,%esi
430d32:	0f 84 e9 00 00 00    	je     0x430e21
430d38:	68 c8 03 00 00       	push   $0x3c8
430d3d:	6a 00                	push   $0x0
430d3f:	56                   	push   %esi
430d40:	e8 1c cd 01 00       	call   0x44da61
430d45:	83 c4 0c             	add    $0xc,%esp
430d48:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
430d4e:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
430d55:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
430d5c:	e8 2f c8 ff ff       	call   0x42d590
430d61:	8d 8e b4 03 00 00    	lea    0x3b4(%esi),%ecx
430d67:	89 86 a0 03 00 00    	mov    %eax,0x3a0(%esi)
430d6d:	89 96 a4 03 00 00    	mov    %edx,0x3a4(%esi)
430d73:	6a 01                	push   $0x1
430d75:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
430d7b:	e8 c0 40 fe ff       	call   0x414e40
430d80:	c7 86 b8 03 00 00 ff 	movl   $0xffffffff,0x3b8(%esi)
430d87:	ff ff ff
430d8a:	e8 71 c6 ff ff       	call   0x42d400
430d8f:	83 e8 64             	sub    $0x64,%eax
430d92:	89 86 bc 03 00 00    	mov    %eax,0x3bc(%esi)
430d98:	33 c0                	xor    %eax,%eax
430d9a:	68 60 01 00 00       	push   $0x160
430d9f:	50                   	push   %eax
430da0:	66 89 46 18          	mov    %ax,0x18(%esi)
430da4:	8d 86 20 02 00 00    	lea    0x220(%esi),%eax
430daa:	50                   	push   %eax
430dab:	e8 b1 cc 01 00       	call   0x44da61
430db0:	83 c4 0c             	add    $0xc,%esp
430db3:	8b ce                	mov    %esi,%ecx
430db5:	ff 74 24 1c          	push   0x1c(%esp)
430db9:	ff 74 24 18          	push   0x18(%esp)
430dbd:	e8 de fa ff ff       	call   0x4308a0
430dc2:	8b d8                	mov    %eax,%ebx
430dc4:	85 db                	test   %ebx,%ebx
430dc6:	78 4f                	js     0x430e17
430dc8:	b9 01 00 00 00       	mov    $0x1,%ecx
430dcd:	8d 46 0c             	lea    0xc(%esi),%eax
430dd0:	f0 0f c1 08          	lock xadd %ecx,(%eax)
430dd4:	83 3d e8 14 45 00 00 	cmpl   $0x0,0x4514e8
430ddb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
430de1:	75 19                	jne    0x430dfc
430de3:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
430dea:	8b fe                	mov    %esi,%edi
430dec:	89 35 ec 14 45 00    	mov    %esi,0x4514ec
430df2:	33 db                	xor    %ebx,%ebx
430df4:	89 35 e8 14 45 00    	mov    %esi,0x4514e8
430dfa:	eb 66                	jmp    0x430e62
430dfc:	a1 e8 14 45 00       	mov    0x4514e8,%eax