53ea28:	6a f9                	push   $0xfffffff9
53ea2a:	57                   	push   %edi
53ea2b:	50                   	push   %eax
53ea2c:	56                   	push   %esi
53ea2d:	e8 0e b2 01 00       	call   0x559c40
53ea32:	83 c4 10             	add    $0x10,%esp
53ea35:	8b 46 6c             	mov    0x6c(%esi),%eax
53ea38:	85 c0                	test   %eax,%eax
53ea3a:	7e 10                	jle    0x53ea4c
53ea3c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
53ea3f:	ba 02 00 00 00       	mov    $0x2,%edx
53ea44:	8b 46 68             	mov    0x68(%esi),%eax
53ea47:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
53ea4c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53ea4f:	5f                   	pop    %edi
53ea50:	5e                   	pop    %esi
53ea51:	33 cd                	xor    %ebp,%ecx
53ea53:	5b                   	pop    %ebx
53ea54:	e8 81 2a 0a 00       	call   0x5e14da
53ea59:	8b e5                	mov    %ebp,%esp
53ea5b:	5d                   	pop    %ebp
53ea5c:	c3                   	ret
53ea5d:	cc                   	int3
53ea5e:	cc                   	int3
53ea5f:	cc                   	int3
53ea60:	55                   	push   %ebp
53ea61:	8b ec                	mov    %esp,%ebp
53ea63:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53ea66:	53                   	push   %ebx
53ea67:	56                   	push   %esi
53ea68:	57                   	push   %edi
53ea69:	8b 7d 08             	mov    0x8(%ebp),%edi
53ea6c:	03 c9                	add    %ecx,%ecx
53ea6e:	8b 47 10             	mov    0x10(%edi),%eax
53ea71:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53ea75:	8d 45 0c             	lea    0xc(%ebp),%eax
53ea78:	50                   	push   %eax
53ea79:	ff 75 10             	push   0x10(%ebp)
53ea7c:	83 c3 18             	add    $0x18,%ebx
53ea7f:	53                   	push   %ebx
53ea80:	e8 4b 35 fc ff       	call   0x501fd0
53ea85:	83 c4 0c             	add    $0xc,%esp
53ea88:	8b 70 08             	mov    0x8(%eax),%esi
53ea8b:	85 f6                	test   %esi,%esi
53ea8d:	74 68                	je     0x53eaf7
53ea8f:	ff 75 0c             	push   0xc(%ebp)
53ea92:	50                   	push   %eax
53ea93:	53                   	push   %ebx
53ea94:	e8 f7 37 fd ff       	call   0x512290
53ea99:	83 c4 0c             	add    $0xc,%esp
53ea9c:	85 f6                	test   %esi,%esi
53ea9e:	74 57                	je     0x53eaf7
53eaa0:	8b 56 0c             	mov    0xc(%esi),%edx
53eaa3:	8b 4a 08             	mov    0x8(%edx),%ecx
53eaa6:	3b ce                	cmp    %esi,%ecx
53eaa8:	75 19                	jne    0x53eac3
53eaaa:	8b 46 14             	mov    0x14(%esi),%eax
53eaad:	56                   	push   %esi
53eaae:	57                   	push   %edi
53eaaf:	89 42 08             	mov    %eax,0x8(%edx)
53eab2:	e8 a9 b8 fe ff       	call   0x52a360
53eab7:	83 c4 08             	add    $0x8,%esp
53eaba:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eabe:	5f                   	pop    %edi
53eabf:	5e                   	pop    %esi
53eac0:	5b                   	pop    %ebx
53eac1:	5d                   	pop    %ebp
53eac2:	c3                   	ret
53eac3:	85 c9                	test   %ecx,%ecx
53eac5:	74 26                	je     0x53eaed
53eac7:	8b 41 14             	mov    0x14(%ecx),%eax
53eaca:	3b c6                	cmp    %esi,%eax
53eacc:	74 19                	je     0x53eae7
53eace:	8b c8                	mov    %eax,%ecx
53ead0:	85 c9                	test   %ecx,%ecx
53ead2:	75 f3                	jne    0x53eac7
53ead4:	56                   	push   %esi
53ead5:	57                   	push   %edi
53ead6:	e8 85 b8 fe ff       	call   0x52a360
53eadb:	83 c4 08             	add    $0x8,%esp
53eade:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eae2:	5f                   	pop    %edi
53eae3:	5e                   	pop    %esi
53eae4:	5b                   	pop    %ebx
53eae5:	5d                   	pop    %ebp
53eae6:	c3                   	ret
53eae7:	8b 46 14             	mov    0x14(%esi),%eax
53eaea:	89 41 14             	mov    %eax,0x14(%ecx)
53eaed:	56                   	push   %esi
53eaee:	57                   	push   %edi
53eaef:	e8 6c b8 fe ff       	call   0x52a360
53eaf4:	83 c4 08             	add    $0x8,%esp
53eaf7:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eafb:	5f                   	pop    %edi
53eafc:	5e                   	pop    %esi
53eafd:	5b                   	pop    %ebx
53eafe:	5d                   	pop    %ebp
53eaff:	c3                   	ret
53eb00:	55                   	push   %ebp
53eb01:	8b ec                	mov    %esp,%ebp
53eb03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53eb06:	53                   	push   %ebx
53eb07:	56                   	push   %esi
53eb08:	8b 75 08             	mov    0x8(%ebp),%esi
53eb0b:	03 c9                	add    %ecx,%ecx
53eb0d:	57                   	push   %edi
53eb0e:	8b 46 10             	mov    0x10(%esi),%eax
53eb11:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53eb15:	8d 45 0c             	lea    0xc(%ebp),%eax
53eb18:	50                   	push   %eax
53eb19:	ff 75 10             	push   0x10(%ebp)
53eb1c:	83 c3 08             	add    $0x8,%ebx
53eb1f:	53                   	push   %ebx
53eb20:	e8 ab 34 fc ff       	call   0x501fd0
53eb25:	83 c4 0c             	add    $0xc,%esp
53eb28:	8b 78 08             	mov    0x8(%eax),%edi
53eb2b:	85 ff                	test   %edi,%edi
53eb2d:	74 2a                	je     0x53eb59
53eb2f:	ff 75 0c             	push   0xc(%ebp)
53eb32:	50                   	push   %eax
53eb33:	53                   	push   %ebx
53eb34:	e8 57 37 fd ff       	call   0x512290
53eb39:	83 c4 0c             	add    $0xc,%esp
53eb3c:	85 ff                	test   %edi,%edi
53eb3e:	74 19                	je     0x53eb59
53eb40:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
53eb47:	75 06                	jne    0x53eb4f
53eb49:	83 47 20 ff          	addl   $0xffffffff,0x20(%edi)
53eb4d:	75 0a                	jne    0x53eb59
53eb4f:	57                   	push   %edi
53eb50:	56                   	push   %esi
53eb51:	e8 aa ed fb ff       	call   0x4fd900
53eb56:	83 c4 08             	add    $0x8,%esp
53eb59:	83 4e 18 01          	orl    $0x1,0x18(%esi)
53eb5d:	5f                   	pop    %edi
53eb5e:	5e                   	pop    %esi
53eb5f:	5b                   	pop    %ebx
53eb60:	5d                   	pop    %ebp
53eb61:	c3                   	ret
53eb62:	cc                   	int3
53eb63:	cc                   	int3
53eb64:	cc                   	int3
53eb65:	cc                   	int3
53eb66:	cc                   	int3
53eb67:	cc                   	int3
53eb68:	cc                   	int3
53eb69:	cc                   	int3
53eb6a:	cc                   	int3
53eb6b:	cc                   	int3
53eb6c:	cc                   	int3
53eb6d:	cc                   	int3
53eb6e:	cc                   	int3
53eb6f:	cc                   	int3
53eb70:	55                   	push   %ebp
53eb71:	8b ec                	mov    %esp,%ebp
53eb73:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53eb76:	53                   	push   %ebx
53eb77:	56                   	push   %esi
53eb78:	57                   	push   %edi
53eb79:	8b 7d 08             	mov    0x8(%ebp),%edi
53eb7c:	03 c9                	add    %ecx,%ecx
53eb7e:	8b 47 10             	mov    0x10(%edi),%eax
53eb81:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53eb85:	8d 45 0c             	lea    0xc(%ebp),%eax
53eb88:	50                   	push   %eax
53eb89:	ff 75 10             	push   0x10(%ebp)
53eb8c:	83 c3 28             	add    $0x28,%ebx
53eb8f:	53                   	push   %ebx
53eb90:	e8 3b 34 fc ff       	call   0x501fd0
53eb95:	83 c4 0c             	add    $0xc,%esp
53eb98:	8b 70 08             	mov    0x8(%eax),%esi
53eb9b:	85 f6                	test   %esi,%esi
53eb9d:	0f 84 a8 00 00 00    	je     0x53ec4b
53eba3:	ff 75 0c             	push   0xc(%ebp)
53eba6:	50                   	push   %eax
53eba7:	53                   	push   %ebx
53eba8:	e8 e3 36 fd ff       	call   0x512290
53ebad:	83 c4 0c             	add    $0xc,%esp
53ebb0:	85 f6                	test   %esi,%esi
53ebb2:	0f 84 93 00 00 00    	je     0x53ec4b
53ebb8:	8b 46 18             	mov    0x18(%esi),%eax
53ebbb:	39 46 14             	cmp    %eax,0x14(%esi)
53ebbe:	75 36                	jne    0x53ebf6
53ebc0:	6a 00                	push   $0x0
53ebc2:	ff 76 04             	push   0x4(%esi)
53ebc5:	83 c0 08             	add    $0x8,%eax
53ebc8:	50                   	push   %eax
53ebc9:	e8 02 34 fc ff       	call   0x501fd0
53ebce:	83 c4 0c             	add    $0xc,%esp
53ebd1:	8b 48 08             	mov    0x8(%eax),%ecx
53ebd4:	85 c9                	test   %ecx,%ecx
53ebd6:	74 1e                	je     0x53ebf6
53ebd8:	83 c1 44             	add    $0x44,%ecx
53ebdb:	83 39 00             	cmpl   $0x0,(%ecx)
53ebde:	74 16                	je     0x53ebf6
53ebe0:	8b 01                	mov    (%ecx),%eax
53ebe2:	3b c6                	cmp    %esi,%eax
53ebe4:	74 0b                	je     0x53ebf1
53ebe6:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
53ebea:	8d 48 20             	lea    0x20(%eax),%ecx
53ebed:	75 f1                	jne    0x53ebe0
53ebef:	eb 05                	jmp    0x53ebf6
53ebf1:	8b 40 20             	mov    0x20(%eax),%eax
53ebf4:	89 01                	mov    %eax,(%ecx)
53ebf6:	ff 76 1c             	push   0x1c(%esi)
53ebf9:	57                   	push   %edi
53ebfa:	e8 61 36 fe ff       	call   0x522260
53ebff:	8b 06                	mov    (%esi),%eax
53ec01:	83 c4 08             	add    $0x8,%esp
53ec04:	85 c0                	test   %eax,%eax
53ec06:	74 0a                	je     0x53ec12
53ec08:	50                   	push   %eax
53ec09:	57                   	push   %edi
53ec0a:	e8 61 27 fe ff       	call   0x521370
53ec0f:	83 c4 08             	add    $0x8,%esp
53ec12:	8b 46 04             	mov    0x4(%esi),%eax
53ec15:	85 c0                	test   %eax,%eax
53ec17:	74 0a                	je     0x53ec23
53ec19:	50                   	push   %eax
53ec1a:	57                   	push   %edi
53ec1b:	e8 50 27 fe ff       	call   0x521370
53ec20:	83 c4 08             	add    $0x8,%esp
53ec23:	8b 46 0c             	mov    0xc(%esi),%eax
53ec26:	85 c0                	test   %eax,%eax
53ec28:	74 0a                	je     0x53ec34
53ec2a:	50                   	push   %eax
53ec2b:	57                   	push   %edi
53ec2c:	e8 7f 7b fe ff       	call   0x5267b0
53ec31:	83 c4 08             	add    $0x8,%esp
53ec34:	ff 76 10             	push   0x10(%esi)
53ec37:	57                   	push   %edi
53ec38:	e8 23 f1 fe ff       	call   0x52dd60
53ec3d:	56                   	push   %esi
53ec3e:	57                   	push   %edi
53ec3f:	e8 2c 27 fe ff       	call   0x521370
53ec44:	83 c4 10             	add    $0x10,%esp
53ec47:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53ec4b:	5f                   	pop    %edi
53ec4c:	5e                   	pop    %esi
53ec4d:	5b                   	pop    %ebx
53ec4e:	5d                   	pop    %ebp
53ec4f:	c3                   	ret
53ec50:	55                   	push   %ebp
53ec51:	8b ec                	mov    %esp,%ebp
53ec53:	81 ec 24 01 00 00    	sub    $0x124,%esp
53ec59:	a1 d4 89 72 00       	mov    0x7289d4,%eax
53ec5e:	33 c5                	xor    %ebp,%eax
53ec60:	89 45 fc             	mov    %eax,-0x4(%ebp)
53ec63:	8b 45 10             	mov    0x10(%ebp),%eax
53ec66:	0f 57 c0             	xorps  %xmm0,%xmm0
53ec69:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53ec6c:	89 45 88             	mov    %eax,-0x78(%ebp)
53ec6f:	8b 45 14             	mov    0x14(%ebp),%eax
53ec72:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
53ec78:	8b 45 1c             	mov    0x1c(%ebp),%eax
53ec7b:	53                   	push   %ebx
53ec7c:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
53ec82:	8b 45 20             	mov    0x20(%ebp),%eax
53ec85:	56                   	push   %esi
53ec86:	8b 75 08             	mov    0x8(%ebp),%esi
53ec89:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
53ec8f:	8b 45 24             	mov    0x24(%ebp),%eax
53ec92:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
53ec98:	33 c0                	xor    %eax,%eax
53ec9a:	8b 1e                	mov    (%esi),%ebx
53ec9c:	57                   	push   %edi
53ec9d:	33 ff                	xor    %edi,%edi
53ec9f:	89 75 9c             	mov    %esi,-0x64(%ebp)
53eca2:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
53eca8:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
53ecaf:	00 00 00
53ecb2:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
53ecb8:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
53ecbe:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
53ecc4:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
53ecca:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
53ecd0:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
53ecd6:	89 45 f8             	mov    %eax,-0x8(%ebp)
53ecd9:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
53ecdf:	89 45 80             	mov    %eax,-0x80(%ebp)
53ece2:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
53ece8:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
53ecee:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
53ecf4:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
53ecfa:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
53ed00:	66 0f d6 85 dc fe ff 	movq   %xmm0,-0x124(%ebp)
53ed07:	ff
53ed08:	89 9d 78 ff ff ff    	mov    %ebx,-0x88(%ebp)
53ed0e:	39 46 24             	cmp    %eax,0x24(%esi)
53ed11:	0f 85 18 1f 00 00    	jne    0x540c2f
53ed17:	38 43 51             	cmp    %al,0x51(%ebx)
53ed1a:	0f 85 0f 1f 00 00    	jne    0x540c2f
53ed20:	51                   	push   %ecx
53ed21:	56                   	push   %esi
53ed22:	e8 59 e6 ff ff       	call   0x53d380
53ed27:	8b d8                	mov    %eax,%ebx
53ed29:	83 c4 08             	add    $0x8,%esp
53ed2c:	89 5d 90             	mov    %ebx,-0x70(%ebp)
53ed2f:	85 db                	test   %ebx,%ebx
53ed31:	0f 84 f2 1e 00 00    	je     0x540c29
53ed37:	ff 73 48             	push   0x48(%ebx)
53ed3a:	ff 36                	push   (%esi)
53ed3c:	e8 1f ad ff ff       	call   0x539a60
53ed41:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
53ed47:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
53ed4d:	50                   	push   %eax
53ed4e:	ff 75 88             	push   -0x78(%ebp)
53ed51:	6a 7f                	push   $0x7f
53ed53:	53                   	push   %ebx
53ed54:	56                   	push   %esi
53ed55:	e8 16 f9 ff ff       	call   0x53e670
53ed5a:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
53ed60:	8b 43 0c             	mov    0xc(%ebx),%eax
53ed63:	53                   	push   %ebx
53ed64:	56                   	push   %esi
53ed65:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
53ed6b:	e8 70 ee 00 00       	call   0x54dbe0
53ed70:	83 c4 24             	add    $0x24,%esp
53ed73:	85 c0                	test   %eax,%eax
53ed75:	0f 85 ae 1e 00 00    	jne    0x540c29
53ed7b:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
53ed81:	53                   	push   %ebx
53ed82:	56                   	push   %esi
53ed83:	e8 e8 0b ff ff       	call   0x52f970
53ed88:	83 c4 0c             	add    $0xc,%esp
53ed8b:	85 c0                	test   %eax,%eax
53ed8d:	0f 85 96 1e 00 00    	jne    0x540c29
53ed93:	8b 4e 28             	mov    0x28(%esi),%ecx
53ed96:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
53ed99:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
53ed9f:	8d 51 01             	lea    0x1(%ecx),%edx
53eda2:	89 56 28             	mov    %edx,0x28(%esi)
53eda5:	f6 43 24 80          	testb  $0x80,0x24(%ebx)
53eda9:	89 95 20 ff ff ff    	mov    %edx,-0xe0(%ebp)
53edaf:	75 08                	jne    0x53edb9
53edb1:	89 bd 68 ff ff ff    	mov    %edi,-0x98(%ebp)
53edb7:	eb 12                	jmp    0x53edcb
53edb9:	53                   	push   %ebx
53edba:	e8 11 86 ff ff       	call   0x5373d0
53edbf:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
53edc2:	83 c4 04             	add    $0x4,%esp
53edc5:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
53edcb:	8b 43 08             	mov    0x8(%ebx),%eax
53edce:	33 ff                	xor    %edi,%edi
53edd0:	89 bd 0c ff ff ff    	mov    %edi,-0xf4(%ebp)
53edd6:	85 c0                	test   %eax,%eax
53edd8:	74 24                	je     0x53edfe
53edda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53ede0:	39 85 68 ff ff ff    	cmp    %eax,-0x98(%ebp)
53ede6:	0f 44 ca             	cmove  %edx,%ecx