53ed8c:	cc                   	int3
53ed8d:	cc                   	int3
53ed8e:	cc                   	int3
53ed8f:	cc                   	int3
53ed90:	8b 4c 24 04          	mov    0x4(%esp),%ecx
53ed94:	85 c9                	test   %ecx,%ecx
53ed96:	74 0c                	je     0x53eda4
53ed98:	8b 01                	mov    (%ecx),%eax
53ed9a:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
53eda1:	00
53eda2:	ff 20                	jmp    *(%eax)
53eda4:	c2 04 00             	ret    $0x4
53eda7:	cc                   	int3
53eda8:	cc                   	int3
53eda9:	cc                   	int3
53edaa:	cc                   	int3
53edab:	cc                   	int3
53edac:	cc                   	int3
53edad:	cc                   	int3
53edae:	cc                   	int3
53edaf:	cc                   	int3
53edb0:	56                   	push   %esi
53edb1:	8b 74 24 08          	mov    0x8(%esp),%esi
53edb5:	85 f6                	test   %esi,%esi
53edb7:	74 11                	je     0x53edca
53edb9:	56                   	push   %esi
53edba:	e8 3e 57 ec ff       	call   0x4044fd
53edbf:	6a 38                	push   $0x38
53edc1:	56                   	push   %esi
53edc2:	e8 d5 30 ec ff       	call   0x401e9c
53edc7:	83 c4 0c             	add    $0xc,%esp
53edca:	5e                   	pop    %esi
53edcb:	c2 04 00             	ret    $0x4
53edce:	cc                   	int3
53edcf:	cc                   	int3
53edd0:	cc                   	int3
53edd1:	cc                   	int3
53edd2:	cc                   	int3
53edd3:	cc                   	int3
53edd4:	cc                   	int3
53edd5:	cc                   	int3
53edd6:	cc                   	int3
53edd7:	cc                   	int3
53edd8:	cc                   	int3
53edd9:	cc                   	int3
53edda:	cc                   	int3
53eddb:	cc                   	int3
53eddc:	cc                   	int3
53eddd:	cc                   	int3
53edde:	cc                   	int3
53eddf:	cc                   	int3
53ede0:	56                   	push   %esi
53ede1:	8b f1                	mov    %ecx,%esi
53ede3:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
53ede9:	e8 5e 51 ee ff       	call   0x423f4c
53edee:	ff 76 20             	push   0x20(%esi)
53edf1:	e8 1c f8 ef ff       	call   0x43e612
53edf6:	8d 46 7c             	lea    0x7c(%esi),%eax
53edf9:	50                   	push   %eax
53edfa:	e8 3b d7 ed ff       	call   0x41c53a
53edff:	8d 46 54             	lea    0x54(%esi),%eax
53ee02:	50                   	push   %eax
53ee03:	e8 32 d7 ed ff       	call   0x41c53a
53ee08:	8d 46 24             	lea    0x24(%esi),%eax
53ee0b:	50                   	push   %eax
53ee0c:	e8 58 b0 ef ff       	call   0x439e69
53ee11:	83 c4 10             	add    $0x10,%esp
53ee14:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
53ee18:	75 22                	jne    0x53ee3c
53ee1a:	8b ce                	mov    %esi,%ecx
53ee1c:	e8 64 40 ee ff       	call   0x422e85
53ee21:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
53ee26:	74 0e                	je     0x53ee36
53ee28:	68 50 01 00 00       	push   $0x150
53ee2d:	56                   	push   %esi
53ee2e:	e8 69 30 ec ff       	call   0x401e9c
53ee33:	83 c4 08             	add    $0x8,%esp
53ee36:	8b c6                	mov    %esi,%eax
53ee38:	5e                   	pop    %esi
53ee39:	c2 04 00             	ret    $0x4
53ee3c:	e8 05 ac ee ff       	call   0x429a46
53ee41:	cc                   	int3
53ee42:	cc                   	int3
53ee43:	cc                   	int3
53ee44:	cc                   	int3
53ee45:	cc                   	int3
53ee46:	cc                   	int3
53ee47:	cc                   	int3
53ee48:	cc                   	int3
53ee49:	cc                   	int3
53ee4a:	cc                   	int3
53ee4b:	cc                   	int3
53ee4c:	cc                   	int3
53ee4d:	cc                   	int3
53ee4e:	cc                   	int3
53ee4f:	cc                   	int3
53ee50:	cc                   	int3
53ee51:	cc                   	int3
53ee52:	cc                   	int3
53ee53:	cc                   	int3
53ee54:	cc                   	int3
53ee55:	cc                   	int3
53ee56:	cc                   	int3
53ee57:	cc                   	int3
53ee58:	cc                   	int3
53ee59:	cc                   	int3
53ee5a:	cc                   	int3
53ee5b:	cc                   	int3
53ee5c:	cc                   	int3
53ee5d:	cc                   	int3
53ee5e:	cc                   	int3
53ee5f:	cc                   	int3
53ee60:	56                   	push   %esi
53ee61:	8b f1                	mov    %ecx,%esi
53ee63:	8d 4e 04             	lea    0x4(%esi),%ecx
53ee66:	e8 8d f6 ec ff       	call   0x40e4f8
53ee6b:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
53ee70:	74 0e                	je     0x53ee80
53ee72:	68 1c 01 00 00       	push   $0x11c
53ee77:	56                   	push   %esi
53ee78:	e8 1f 30 ec ff       	call   0x401e9c
53ee7d:	83 c4 08             	add    $0x8,%esp
53ee80:	8b c6                	mov    %esi,%eax
53ee82:	5e                   	pop    %esi
53ee83:	c2 04 00             	ret    $0x4
53ee86:	cc                   	int3
53ee87:	cc                   	int3
53ee88:	cc                   	int3
53ee89:	cc                   	int3
53ee8a:	cc                   	int3
53ee8b:	cc                   	int3
53ee8c:	cc                   	int3
53ee8d:	cc                   	int3
53ee8e:	cc                   	int3
53ee8f:	cc                   	int3
53ee90:	56                   	push   %esi
53ee91:	8b f1                	mov    %ecx,%esi
53ee93:	e8 bc fd ed ff       	call   0x41ec54
53ee98:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
53ee9d:	74 0e                	je     0x53eead
53ee9f:	68 50 01 00 00       	push   $0x150
53eea4:	56                   	push   %esi
53eea5:	e8 f2 2f ec ff       	call   0x401e9c
53eeaa:	83 c4 08             	add    $0x8,%esp
53eead:	8b c6                	mov    %esi,%eax
53eeaf:	5e                   	pop    %esi
53eeb0:	c2 04 00             	ret    $0x4
53eeb3:	cc                   	int3
53eeb4:	cc                   	int3
53eeb5:	cc                   	int3
53eeb6:	cc                   	int3
53eeb7:	cc                   	int3
53eeb8:	cc                   	int3
53eeb9:	cc                   	int3
53eeba:	cc                   	int3
53eebb:	cc                   	int3
53eebc:	cc                   	int3
53eebd:	cc                   	int3
53eebe:	cc                   	int3
53eebf:	cc                   	int3
53eec0:	56                   	push   %esi
53eec1:	8b f1                	mov    %ecx,%esi
53eec3:	56                   	push   %esi
53eec4:	e8 34 56 ec ff       	call   0x4044fd
53eec9:	83 c4 04             	add    $0x4,%esp
53eecc:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
53eed1:	74 0b                	je     0x53eede
53eed3:	6a 38                	push   $0x38
53eed5:	56                   	push   %esi
53eed6:	e8 c1 2f ec ff       	call   0x401e9c
53eedb:	83 c4 08             	add    $0x8,%esp
53eede:	8b c6                	mov    %esi,%eax
53eee0:	5e                   	pop    %esi
53eee1:	c2 04 00             	ret    $0x4
53eee4:	cc                   	int3
53eee5:	cc                   	int3
53eee6:	cc                   	int3
53eee7:	cc                   	int3
53eee8:	cc                   	int3
53eee9:	cc                   	int3
53eeea:	cc                   	int3
53eeeb:	cc                   	int3
53eeec:	cc                   	int3
53eeed:	cc                   	int3
53eeee:	cc                   	int3
53eeef:	cc                   	int3
53eef0:	83 ec 08             	sub    $0x8,%esp
53eef3:	56                   	push   %esi
53eef4:	8d 44 24 18          	lea    0x18(%esp),%eax
53eef8:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
53eeff:	00
53ef00:	50                   	push   %eax
53ef01:	ff 74 24 18          	push   0x18(%esp)
53ef05:	8d 44 24 0c          	lea    0xc(%esp),%eax
53ef09:	50                   	push   %eax
53ef0a:	e8 1c 99 ee ff       	call   0x42882b
53ef0f:	8b 74 24 1c          	mov    0x1c(%esp),%esi
53ef13:	83 c4 0c             	add    $0xc,%esp
53ef16:	8b 08                	mov    (%eax),%ecx
53ef18:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
53ef1e:	89 0e                	mov    %ecx,(%esi)
53ef20:	8b 4c 24 04          	mov    0x4(%esp),%ecx
53ef24:	85 c9                	test   %ecx,%ecx
53ef26:	74 06                	je     0x53ef2e
53ef28:	8b 11                	mov    (%ecx),%edx
53ef2a:	6a 01                	push   $0x1
53ef2c:	ff 12                	call   *(%edx)
53ef2e:	8b c6                	mov    %esi,%eax
53ef30:	5e                   	pop    %esi
53ef31:	83 c4 08             	add    $0x8,%esp
53ef34:	c3                   	ret
53ef35:	cc                   	int3
53ef36:	cc                   	int3
53ef37:	cc                   	int3
53ef38:	cc                   	int3
53ef39:	cc                   	int3
53ef3a:	cc                   	int3
53ef3b:	cc                   	int3
53ef3c:	cc                   	int3
53ef3d:	cc                   	int3
53ef3e:	cc                   	int3
53ef3f:	cc                   	int3
53ef40:	cc                   	int3
53ef41:	cc                   	int3
53ef42:	cc                   	int3
53ef43:	cc                   	int3
53ef44:	cc                   	int3
53ef45:	cc                   	int3
53ef46:	cc                   	int3
53ef47:	cc                   	int3
53ef48:	cc                   	int3
53ef49:	cc                   	int3
53ef4a:	cc                   	int3
53ef4b:	cc                   	int3
53ef4c:	cc                   	int3
53ef4d:	cc                   	int3
53ef4e:	cc                   	int3
53ef4f:	cc                   	int3
53ef50:	55                   	push   %ebp
53ef51:	8d ac 24 38 7f ff ff 	lea    -0x80c8(%esp),%ebp
53ef58:	b8 c8 80 00 00       	mov    $0x80c8,%eax
53ef5d:	e8 34 ba ee ff       	call   0x42a996
53ef62:	6a ff                	push   $0xffffffff
53ef64:	68 ce fc b4 00       	push   $0xb4fcce
53ef69:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
53ef6f:	50                   	push   %eax
53ef70:	83 ec 30             	sub    $0x30,%esp
53ef73:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
53ef78:	33 c5                	xor    %ebp,%eax
53ef7a:	89 85 c4 80 00 00    	mov    %eax,0x80c4(%ebp)
53ef80:	53                   	push   %ebx
53ef81:	56                   	push   %esi
53ef82:	57                   	push   %edi
53ef83:	50                   	push   %eax
53ef84:	8d 45 f4             	lea    -0xc(%ebp),%eax
53ef87:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
53ef8d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
53ef90:	8b 85 d0 80 00 00    	mov    0x80d0(%ebp),%eax
53ef96:	6a 00                	push   $0x0
53ef98:	6a 01                	push   $0x1
53ef9a:	6a 02                	push   $0x2
53ef9c:	50                   	push   %eax
53ef9d:	e8 17 78 ef ff       	call   0x4367b9
53efa2:	89 45 ec             	mov    %eax,-0x14(%ebp)
53efa5:	8d 45 ec             	lea    -0x14(%ebp),%eax
53efa8:	50                   	push   %eax
53efa9:	8d 45 e8             	lea    -0x18(%ebp),%eax
53efac:	50                   	push   %eax
53efad:	e8 31 4f ee ff       	call   0x423ee3
53efb2:	8d 45 ec             	lea    -0x14(%ebp),%eax
53efb5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
53efbc:	50                   	push   %eax
53efbd:	e8 d5 b0 ec ff       	call   0x40a097
53efc2:	83 c4 1c             	add    $0x1c,%esp
53efc5:	8b 7d ec             	mov    -0x14(%ebp),%edi
53efc8:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
53efce:	8b 75 e8             	mov    -0x18(%ebp),%esi
53efd1:	32 db                	xor    %bl,%bl
53efd3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
53efd7:	88 5d f3             	mov    %bl,-0xd(%ebp)
53efda:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
53efe0:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
53efe7:	89 47 0c             	mov    %eax,0xc(%edi)
53efea:	c7 47 10 00 40 00 00 	movl   $0x4000,0x10(%edi)
53eff1:	eb 03                	jmp    0x53eff6
53eff3:	8a 5d f3             	mov    -0xd(%ebp),%bl
53eff6:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
53effa:	75 2a                	jne    0x53f026
53effc:	84 db                	test   %bl,%bl
53effe:	75 26                	jne    0x53f026
53f000:	8d 85 c4 00 00 00    	lea    0xc4(%ebp),%eax
53f006:	89 07                	mov    %eax,(%edi)
53f008:	8d 8d c4 00 00 00    	lea    0xc4(%ebp),%ecx
53f00e:	8b 06                	mov    (%esi),%eax
53f010:	68 00 40 00 00       	push   $0x4000
53f015:	51                   	push   %ecx
53f016:	8b ce                	mov    %esi,%ecx
53f018:	ff 50 04             	call   *0x4(%eax)
53f01b:	85 c0                	test   %eax,%eax
53f01d:	89 47 04             	mov    %eax,0x4(%edi)
53f020:	0f 94 c3             	sete   %bl
53f023:	88 5d f3             	mov    %bl,-0xd(%ebp)
53f026:	33 c0                	xor    %eax,%eax
53f028:	b9 04 00 00 00       	mov    $0x4,%ecx
53f02d:	84 db                	test   %bl,%bl
53f02f:	0f 45 c1             	cmovne %ecx,%eax
53f032:	50                   	push   %eax
53f033:	57                   	push   %edi
53f034:	e8 e5 b8 ee ff       	call   0x42a91e
53f039:	8b d8                	mov    %eax,%ebx
53f03b:	83 c4 08             	add    $0x8,%esp
53f03e:	8b 47 10             	mov    0x10(%edi),%eax
53f041:	85 c0                	test   %eax,%eax
53f043:	74 05                	je     0x53f04a
53f045:	83 fb 01             	cmp    $0x1,%ebx
53f048:	75 2a                	jne    0x53f074
53f04a:	b9 00 40 00 00       	mov    $0x4000,%ecx
53f04f:	2b c8                	sub    %eax,%ecx
53f051:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
53f057:	51                   	push   %ecx
53f058:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
53f05b:	50                   	push   %eax
53f05c:	8d 49 0c             	lea    0xc(%ecx),%ecx
53f05f:	e8 27 21 ec ff       	call   0x40118b
53f064:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
53f06a:	89 47 0c             	mov    %eax,0xc(%edi)
53f06d:	c7 47 10 00 40 00 00 	movl   $0x4000,0x10(%edi)
53f074:	85 db                	test   %ebx,%ebx
53f076:	0f 84 77 ff ff ff    	je     0x53eff3
53f07c:	83 fb 01             	cmp    $0x1,%ebx
53f07f:	75 54                	jne    0x53f0d5
53f081:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
53f088:	85 ff                	test   %edi,%edi
53f08a:	74 11                	je     0x53f09d
53f08c:	57                   	push   %edi
53f08d:	e8 6b 54 ec ff       	call   0x4044fd
53f092:	6a 38                	push   $0x38
53f094:	57                   	push   %edi
53f095:	e8 02 2e ec ff       	call   0x401e9c
53f09a:	83 c4 0c             	add    $0xc,%esp
53f09d:	8b ce                	mov    %esi,%ecx
53f09f:	e8 00 a5 ef ff       	call   0x4395a4
53f0a4:	85 f6                	test   %esi,%esi
53f0a6:	74 08                	je     0x53f0b0
53f0a8:	8b 06                	mov    (%esi),%eax
53f0aa:	8b ce                	mov    %esi,%ecx
53f0ac:	6a 01                	push   $0x1
53f0ae:	ff 10                	call   *(%eax)
53f0b0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
53f0b3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0