5a3de7:	85 c9                	test   %ecx,%ecx
5a3de9:	74 16                	je     0x5a3e01
5a3deb:	8b 54 24 08          	mov    0x8(%esp),%edx
5a3def:	85 d2                	test   %edx,%edx
5a3df1:	74 0e                	je     0x5a3e01
5a3df3:	8b 40 0c             	mov    0xc(%eax),%eax
5a3df6:	2b 41 0c             	sub    0xc(%ecx),%eax
5a3df9:	89 02                	mov    %eax,(%edx)
5a3dfb:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e00:	c3                   	ret
5a3e01:	33 c0                	xor    %eax,%eax
5a3e03:	c3                   	ret
5a3e04:	cc                   	int3
5a3e05:	cc                   	int3
5a3e06:	cc                   	int3
5a3e07:	cc                   	int3
5a3e08:	cc                   	int3
5a3e09:	cc                   	int3
5a3e0a:	cc                   	int3
5a3e0b:	cc                   	int3
5a3e0c:	cc                   	int3
5a3e0d:	cc                   	int3
5a3e0e:	cc                   	int3
5a3e0f:	cc                   	int3
5a3e10:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5a3e14:	85 c9                	test   %ecx,%ecx
5a3e16:	75 03                	jne    0x5a3e1b
5a3e18:	33 c0                	xor    %eax,%eax
5a3e1a:	c3                   	ret
5a3e1b:	8b 44 24 04          	mov    0x4(%esp),%eax
5a3e1f:	8b 40 0c             	mov    0xc(%eax),%eax
5a3e22:	89 01                	mov    %eax,(%ecx)
5a3e24:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e29:	c3                   	ret
5a3e2a:	cc                   	int3
5a3e2b:	cc                   	int3
5a3e2c:	cc                   	int3
5a3e2d:	cc                   	int3
5a3e2e:	cc                   	int3
5a3e2f:	cc                   	int3
5a3e30:	8b 44 24 08          	mov    0x8(%esp),%eax
5a3e34:	85 c0                	test   %eax,%eax
5a3e36:	74 54                	je     0x5a3e8c
5a3e38:	56                   	push   %esi
5a3e39:	8b 74 24 08          	mov    0x8(%esp),%esi
5a3e3d:	6a 61                	push   $0x61
5a3e3f:	68 bc 7c 66 00       	push   $0x667cbc
5a3e44:	6a 14                	push   $0x14
5a3e46:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5a3e4d:	89 06                	mov    %eax,(%esi)
5a3e4f:	c7 46 10 ff ff ff ff 	movl   $0xffffffff,0x10(%esi)
5a3e56:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5a3e5d:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
5a3e64:	e8 d7 cb f3 ff       	call   0x4e0a40
5a3e69:	83 c4 0c             	add    $0xc,%esp
5a3e6c:	89 46 14             	mov    %eax,0x14(%esi)
5a3e6f:	5e                   	pop    %esi
5a3e70:	85 c0                	test   %eax,%eax
5a3e72:	75 1b                	jne    0x5a3e8f
5a3e74:	6a 62                	push   $0x62
5a3e76:	68 bc 7c 66 00       	push   $0x667cbc
5a3e7b:	6a 41                	push   $0x41
5a3e7d:	68 79 02 00 00       	push   $0x279
5a3e82:	6a 14                	push   $0x14
5a3e84:	e8 f7 50 f3 ff       	call   0x4d8f80
5a3e89:	83 c4 14             	add    $0x14,%esp
5a3e8c:	33 c0                	xor    %eax,%eax
5a3e8e:	c3                   	ret
5a3e8f:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e94:	c3                   	ret
5a3e95:	cc                   	int3
5a3e96:	cc                   	int3
5a3e97:	cc                   	int3
5a3e98:	cc                   	int3
5a3e99:	cc                   	int3
5a3e9a:	cc                   	int3
5a3e9b:	cc                   	int3
5a3e9c:	cc                   	int3
5a3e9d:	cc                   	int3
5a3e9e:	cc                   	int3
5a3e9f:	cc                   	int3
5a3ea0:	8b 54 24 10          	mov    0x10(%esp),%edx
5a3ea4:	56                   	push   %esi
5a3ea5:	57                   	push   %edi
5a3ea6:	83 fa 04             	cmp    $0x4,%edx
5a3ea9:	73 19                	jae    0x5a3ec4
5a3eab:	85 d2                	test   %edx,%edx
5a3ead:	74 15                	je     0x5a3ec4
5a3eaf:	8d 0c d5 00 00 00 00 	lea    0x0(,%edx,8),%ecx
5a3eb6:	b8 01 00 00 00       	mov    $0x1,%eax
5a3ebb:	d3 e0                	shl    %cl,%eax
5a3ebd:	8d 72 ff             	lea    -0x1(%edx),%esi
5a3ec0:	03 f0                	add    %eax,%esi
5a3ec2:	eb 03                	jmp    0x5a3ec7
5a3ec4:	83 ce ff             	or     $0xffffffff,%esi
5a3ec7:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a3ecb:	85 ff                	test   %edi,%edi
5a3ecd:	74 2a                	je     0x5a3ef9
5a3ecf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a3ed3:	85 c9                	test   %ecx,%ecx
5a3ed5:	74 22                	je     0x5a3ef9
5a3ed7:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a3edb:	3b f1                	cmp    %ecx,%esi
5a3edd:	52                   	push   %edx
5a3ede:	0f 42 ce             	cmovb  %esi,%ecx
5a3ee1:	50                   	push   %eax
5a3ee2:	89 78 04             	mov    %edi,0x4(%eax)
5a3ee5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5a3eeb:	89 48 10             	mov    %ecx,0x10(%eax)
5a3eee:	e8 9d 04 00 00       	call   0x5a4390
5a3ef3:	83 c4 08             	add    $0x8,%esp
5a3ef6:	5f                   	pop    %edi
5a3ef7:	5e                   	pop    %esi
5a3ef8:	c3                   	ret
5a3ef9:	5f                   	pop    %edi
5a3efa:	33 c0                	xor    %eax,%eax
5a3efc:	5e                   	pop    %esi
5a3efd:	c3                   	ret
5a3efe:	cc                   	int3
5a3eff:	cc                   	int3
5a3f00:	56                   	push   %esi
5a3f01:	8b 74 24 10          	mov    0x10(%esp),%esi
5a3f05:	85 f6                	test   %esi,%esi
5a3f07:	75 05                	jne    0x5a3f0e
5a3f09:	8d 46 01             	lea    0x1(%esi),%eax
5a3f0c:	5e                   	pop    %esi
5a3f0d:	c3                   	ret
5a3f0e:	57                   	push   %edi
5a3f0f:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a3f13:	8d 44 24 14          	lea    0x14(%esp),%eax
5a3f17:	50                   	push   %eax
5a3f18:	56                   	push   %esi
5a3f19:	57                   	push   %edi
5a3f1a:	e8 e1 00 00 00       	call   0x5a4000
5a3f1f:	83 c4 0c             	add    $0xc,%esp
5a3f22:	85 c0                	test   %eax,%eax
5a3f24:	74 1f                	je     0x5a3f45
5a3f26:	01 77 0c             	add    %esi,0xc(%edi)
5a3f29:	01 77 08             	add    %esi,0x8(%edi)
5a3f2c:	56                   	push   %esi
5a3f2d:	ff 74 24 14          	push   0x14(%esp)
5a3f31:	ff 74 24 1c          	push   0x1c(%esp)
5a3f35:	e8 96 ee 02 00       	call   0x5d2dd0
5a3f3a:	83 c4 0c             	add    $0xc,%esp
5a3f3d:	b8 01 00 00 00       	mov    $0x1,%eax
5a3f42:	5f                   	pop    %edi
5a3f43:	5e                   	pop    %esi
5a3f44:	c3                   	ret
5a3f45:	5f                   	pop    %edi
5a3f46:	33 c0                	xor    %eax,%eax
5a3f48:	5e                   	pop    %esi
5a3f49:	c3                   	ret
5a3f4a:	cc                   	int3
5a3f4b:	cc                   	int3
5a3f4c:	cc                   	int3
5a3f4d:	cc                   	int3
5a3f4e:	cc                   	int3
5a3f4f:	cc                   	int3
5a3f50:	56                   	push   %esi
5a3f51:	8b 74 24 10          	mov    0x10(%esp),%esi
5a3f55:	85 f6                	test   %esi,%esi
5a3f57:	75 05                	jne    0x5a3f5e
5a3f59:	8d 46 01             	lea    0x1(%esi),%eax
5a3f5c:	5e                   	pop    %esi
5a3f5d:	c3                   	ret
5a3f5e:	57                   	push   %edi
5a3f5f:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a3f63:	8d 44 24 14          	lea    0x14(%esp),%eax
5a3f67:	50                   	push   %eax
5a3f68:	56                   	push   %esi
5a3f69:	57                   	push   %edi
5a3f6a:	e8 91 00 00 00       	call   0x5a4000
5a3f6f:	83 c4 0c             	add    $0xc,%esp
5a3f72:	85 c0                	test   %eax,%eax
5a3f74:	74 1f                	je     0x5a3f95
5a3f76:	01 77 0c             	add    %esi,0xc(%edi)
5a3f79:	01 77 08             	add    %esi,0x8(%edi)
5a3f7c:	56                   	push   %esi
5a3f7d:	ff 74 24 14          	push   0x14(%esp)
5a3f81:	ff 74 24 1c          	push   0x1c(%esp)
5a3f85:	e8 e6 ec 02 00       	call   0x5d2c70
5a3f8a:	83 c4 0c             	add    $0xc,%esp
5a3f8d:	b8 01 00 00 00       	mov    $0x1,%eax
5a3f92:	5f                   	pop    %edi
5a3f93:	5e                   	pop    %esi
5a3f94:	c3                   	ret
5a3f95:	5f                   	pop    %edi
5a3f96:	33 c0                	xor    %eax,%eax
5a3f98:	5e                   	pop    %esi
5a3f99:	c3                   	ret
5a3f9a:	cc                   	int3
5a3f9b:	cc                   	int3
5a3f9c:	cc                   	int3
5a3f9d:	cc                   	int3
5a3f9e:	cc                   	int3
5a3f9f:	cc                   	int3
5a3fa0:	56                   	push   %esi
5a3fa1:	8b 74 24 10          	mov    0x10(%esp),%esi
5a3fa5:	57                   	push   %edi
5a3fa6:	83 fe 04             	cmp    $0x4,%esi
5a3fa9:	77 45                	ja     0x5a3ff0
5a3fab:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a3faf:	8d 44 24 14          	lea    0x14(%esp),%eax
5a3fb3:	50                   	push   %eax
5a3fb4:	56                   	push   %esi
5a3fb5:	57                   	push   %edi
5a3fb6:	e8 45 00 00 00       	call   0x5a4000
5a3fbb:	83 c4 0c             	add    $0xc,%esp
5a3fbe:	85 c0                	test   %eax,%eax
5a3fc0:	74 2e                	je     0x5a3ff0
5a3fc2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a3fc6:	01 77 0c             	add    %esi,0xc(%edi)
5a3fc9:	49                   	dec    %ecx
5a3fca:	01 77 08             	add    %esi,0x8(%edi)
5a3fcd:	03 ce                	add    %esi,%ecx
5a3fcf:	8b 44 24 10          	mov    0x10(%esp),%eax
5a3fd3:	85 f6                	test   %esi,%esi
5a3fd5:	74 0d                	je     0x5a3fe4
5a3fd7:	88 01                	mov    %al,(%ecx)
5a3fd9:	8d 49 ff             	lea    -0x1(%ecx),%ecx
5a3fdc:	c1 e8 08             	shr    $0x8,%eax
5a3fdf:	83 ee 01             	sub    $0x1,%esi
5a3fe2:	75 f3                	jne    0x5a3fd7
5a3fe4:	85 c0                	test   %eax,%eax
5a3fe6:	75 08                	jne    0x5a3ff0
5a3fe8:	5f                   	pop    %edi
5a3fe9:	b8 01 00 00 00       	mov    $0x1,%eax
5a3fee:	5e                   	pop    %esi
5a3fef:	c3                   	ret
5a3ff0:	5f                   	pop    %edi
5a3ff1:	33 c0                	xor    %eax,%eax
5a3ff3:	5e                   	pop    %esi
5a3ff4:	c3                   	ret
5a3ff5:	cc                   	int3
5a3ff6:	cc                   	int3
5a3ff7:	cc                   	int3
5a3ff8:	cc                   	int3
5a3ff9:	cc                   	int3
5a3ffa:	cc                   	int3
5a3ffb:	cc                   	int3
5a3ffc:	cc                   	int3
5a3ffd:	cc                   	int3
5a3ffe:	cc                   	int3
5a3fff:	cc                   	int3
5a4000:	53                   	push   %ebx
5a4001:	56                   	push   %esi
5a4002:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a4006:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5a400a:	74 74                	je     0x5a4080
5a400c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a4010:	85 c9                	test   %ecx,%ecx
5a4012:	74 6c                	je     0x5a4080
5a4014:	8b 46 10             	mov    0x10(%esi),%eax
5a4017:	2b 46 0c             	sub    0xc(%esi),%eax
5a401a:	3b c1                	cmp    %ecx,%eax
5a401c:	72 62                	jb     0x5a4080
5a401e:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
5a4022:	75 39                	jne    0x5a405d
5a4024:	8b 1e                	mov    (%esi),%ebx
5a4026:	8b 13                	mov    (%ebx),%edx
5a4028:	8b c2                	mov    %edx,%eax
5a402a:	2b 46 0c             	sub    0xc(%esi),%eax
5a402d:	3b c1                	cmp    %ecx,%eax
5a402f:	73 2c                	jae    0x5a405d
5a4031:	3b ca                	cmp    %edx,%ecx
5a4033:	0f 47 d1             	cmova  %ecx,%edx
5a4036:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
5a403c:	76 05                	jbe    0x5a4043
5a403e:	83 ca ff             	or     $0xffffffff,%edx
5a4041:	eb 0c                	jmp    0x5a404f
5a4043:	03 d2                	add    %edx,%edx
5a4045:	b8 00 01 00 00       	mov    $0x100,%eax
5a404a:	3b d0                	cmp    %eax,%edx
5a404c:	0f 42 d0             	cmovb  %eax,%edx
5a404f:	52                   	push   %edx
5a4050:	53                   	push   %ebx
5a4051:	e8 8a 75 f6 ff       	call   0x50b5e0
5a4056:	83 c4 08             	add    $0x8,%esp
5a4059:	85 c0                	test   %eax,%eax
5a405b:	74 23                	je     0x5a4080
5a405d:	8b 54 24 14          	mov    0x14(%esp),%edx
5a4061:	85 d2                	test   %edx,%edx
5a4063:	74 13                	je     0x5a4078
5a4065:	8b 4e 04             	mov    0x4(%esi),%ecx
5a4068:	85 c9                	test   %ecx,%ecx
5a406a:	75 05                	jne    0x5a4071
5a406c:	8b 06                	mov    (%esi),%eax
5a406e:	8b 48 04             	mov    0x4(%eax),%ecx
5a4071:	8b 46 08             	mov    0x8(%esi),%eax
5a4074:	03 c1                	add    %ecx,%eax
5a4076:	89 02                	mov    %eax,(%edx)
5a4078:	5e                   	pop    %esi
5a4079:	b8 01 00 00 00       	mov    $0x1,%eax
5a407e:	5b                   	pop    %ebx
5a407f:	c3                   	ret
5a4080:	5e                   	pop    %esi
5a4081:	33 c0                	xor    %eax,%eax
5a4083:	5b                   	pop    %ebx
5a4084:	c3                   	ret
5a4085:	cc                   	int3
5a4086:	cc                   	int3
5a4087:	cc                   	int3
5a4088:	cc                   	int3
5a4089:	cc                   	int3
5a408a:	cc                   	int3
5a408b:	cc                   	int3
5a408c:	cc                   	int3
5a408d:	cc                   	int3
5a408e:	cc                   	int3
5a408f:	cc                   	int3
5a4090:	8b 44 24 04          	mov    0x4(%esp),%eax
5a4094:	8b 48 14             	mov    0x14(%eax),%ecx
5a4097:	85 c9                	test   %ecx,%ecx
5a4099:	75 03                	jne    0x5a409e
5a409b:	33 c0                	xor    %eax,%eax
5a409d:	c3                   	ret
5a409e:	8b 44 24 08          	mov    0x8(%esp),%eax
5a40a2:	89 41 10             	mov    %eax,0x10(%ecx)
5a40a5:	b8 01 00 00 00       	mov    $0x1,%eax
5a40aa:	c3                   	ret
5a40ab:	cc                   	int3
5a40ac:	cc                   	int3
5a40ad:	cc                   	int3
5a40ae:	cc                   	int3
5a40af:	cc                   	int3
5a40b0:	56                   	push   %esi
5a40b1:	8b 74 24 08          	mov    0x8(%esp),%esi
5a40b5:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5a40b9:	74 35                	je     0x5a40f0
5a40bb:	68 19 01 00 00       	push   $0x119
5a40c0:	68 bc 7c 66 00       	push   $0x667cbc
5a40c5:	6a 14                	push   $0x14
5a40c7:	e8 74 c9 f3 ff       	call   0x4e0a40
5a40cc:	8b c8                	mov    %eax,%ecx
5a40ce:	83 c4 0c             	add    $0xc,%esp
5a40d1:	85 c9                	test   %ecx,%ecx
5a40d3:	75 1f                	jne    0x5a40f4
5a40d5:	68 1a 01 00 00       	push   $0x11a
5a40da:	68 bc 7c 66 00       	push   $0x667cbc
5a40df:	6a 41                	push   $0x41
5a40e1:	68 7a 02 00 00       	push   $0x27a
5a40e6:	6a 14                	push   $0x14
5a40e8:	e8 93 4e f3 ff       	call   0x4d8f80
5a40ed:	83 c4 14             	add    $0x14,%esp
5a40f0:	33 c0                	xor    %eax,%eax
5a40f2:	5e                   	pop    %esi
5a40f3:	c3                   	ret
5a40f4:	8b 46 14             	mov    0x14(%esi),%eax
5a40f7:	89 01                	mov    %eax,(%ecx)
5a40f9:	8b 46 0c             	mov    0xc(%esi),%eax