5d8d89:	8b 50 04             	mov    0x4(%eax),%edx
5d8d8c:	89 55 10             	mov    %edx,0x10(%ebp)
5d8d8f:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8d92:	40                   	inc    %eax
5d8d93:	89 45 84             	mov    %eax,-0x7c(%ebp)
5d8d96:	83 f8 04             	cmp    $0x4,%eax
5d8d99:	0f 82 04 fe ff ff    	jb     0x5d8ba3
5d8d9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
5d8da2:	83 f8 01             	cmp    $0x1,%eax
5d8da5:	76 30                	jbe    0x5d8dd7
5d8da7:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
5d8dab:	8d 78 ff             	lea    -0x1(%eax),%edi
5d8dae:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d8db1:	72 03                	jb     0x5d8db6
5d8db3:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d8db6:	57                   	push   %edi
5d8db7:	83 c0 02             	add    $0x2,%eax
5d8dba:	50                   	push   %eax
5d8dbb:	52                   	push   %edx
5d8dbc:	51                   	push   %ecx
5d8dbd:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
5d8dc3:	50                   	push   %eax
5d8dc4:	e8 c8 f4 ff ff       	call   0x5d8291
5d8dc9:	83 c4 14             	add    $0x14,%esp
5d8dcc:	8b 08                	mov    (%eax),%ecx
5d8dce:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d8dd1:	8b 50 04             	mov    0x4(%eax),%edx
5d8dd4:	89 55 10             	mov    %edx,0x10(%ebp)
5d8dd7:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d8ddd:	56                   	push   %esi
5d8dde:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
5d8de4:	8b b5 5c ff ff ff    	mov    -0xa4(%ebp),%esi
5d8dea:	83 60 20 00          	andl   $0x0,0x20(%eax)
5d8dee:	83 60 24 00          	andl   $0x0,0x24(%eax)
5d8df2:	52                   	push   %edx
5d8df3:	51                   	push   %ecx
5d8df4:	56                   	push   %esi
5d8df5:	e8 59 00 00 00       	call   0x5d8e53
5d8dfa:	83 c4 14             	add    $0x14,%esp
5d8dfd:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d8e00:	e8 cb c1 e6 ff       	call   0x444fd0
5d8e05:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d8e08:	e8 c3 c1 e6 ff       	call   0x444fd0
5d8e0d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5d8e10:	e8 6b c1 e6 ff       	call   0x444f80
5d8e15:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d8e18:	e8 b3 c1 e6 ff       	call   0x444fd0
5d8e1d:	8b c6                	mov    %esi,%eax
5d8e1f:	e8 86 91 00 00       	call   0x5e1faa
5d8e24:	c2 38 00             	ret    $0x38
5d8e27:	55                   	push   %ebp
5d8e28:	8b ec                	mov    %esp,%ebp
5d8e2a:	56                   	push   %esi
5d8e2b:	8b 75 18             	mov    0x18(%ebp),%esi
5d8e2e:	85 f6                	test   %esi,%esi
5d8e30:	74 10                	je     0x5d8e42
5d8e32:	ff 75 14             	push   0x14(%ebp)
5d8e35:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8e38:	e8 65 91 ff ff       	call   0x5d1fa2
5d8e3d:	83 ee 01             	sub    $0x1,%esi
5d8e40:	75 f0                	jne    0x5d8e32
5d8e42:	8b 45 08             	mov    0x8(%ebp),%eax
5d8e45:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8e48:	5e                   	pop    %esi
5d8e49:	89 08                	mov    %ecx,(%eax)
5d8e4b:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8e4e:	89 48 04             	mov    %ecx,0x4(%eax)
5d8e51:	5d                   	pop    %ebp
5d8e52:	c3                   	ret
5d8e53:	55                   	push   %ebp
5d8e54:	8b ec                	mov    %esp,%ebp
5d8e56:	56                   	push   %esi
5d8e57:	8b 75 18             	mov    0x18(%ebp),%esi
5d8e5a:	85 f6                	test   %esi,%esi
5d8e5c:	74 10                	je     0x5d8e6e
5d8e5e:	ff 75 14             	push   0x14(%ebp)
5d8e61:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d8e64:	e8 47 7b e6 ff       	call   0x4409b0
5d8e69:	83 ee 01             	sub    $0x1,%esi
5d8e6c:	75 f0                	jne    0x5d8e5e
5d8e6e:	8b 45 08             	mov    0x8(%ebp),%eax
5d8e71:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8e74:	5e                   	pop    %esi
5d8e75:	89 08                	mov    %ecx,(%eax)
5d8e77:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8e7a:	89 48 04             	mov    %ecx,0x4(%eax)
5d8e7d:	5d                   	pop    %ebp
5d8e7e:	c3                   	ret
5d8e7f:	55                   	push   %ebp
5d8e80:	8b ec                	mov    %esp,%ebp
5d8e82:	56                   	push   %esi
5d8e83:	8b 75 1c             	mov    0x1c(%ebp),%esi
5d8e86:	85 f6                	test   %esi,%esi
5d8e88:	74 10                	je     0x5d8e9a
5d8e8a:	ff 75 18             	push   0x18(%ebp)
5d8e8d:	8d 4d 10             	lea    0x10(%ebp),%ecx
5d8e90:	e8 0d 91 ff ff       	call   0x5d1fa2
5d8e95:	83 ee 01             	sub    $0x1,%esi
5d8e98:	75 f0                	jne    0x5d8e8a
5d8e9a:	8b 45 0c             	mov    0xc(%ebp),%eax
5d8e9d:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d8ea0:	5e                   	pop    %esi
5d8ea1:	89 08                	mov    %ecx,(%eax)
5d8ea3:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d8ea6:	89 48 04             	mov    %ecx,0x4(%eax)
5d8ea9:	5d                   	pop    %ebp
5d8eaa:	c3                   	ret
5d8eab:	56                   	push   %esi
5d8eac:	8b f1                	mov    %ecx,%esi
5d8eae:	ff 76 08             	push   0x8(%esi)
5d8eb1:	e8 ba 57 01 00       	call   0x5ee670
5d8eb6:	ff 76 10             	push   0x10(%esi)
5d8eb9:	e8 b2 57 01 00       	call   0x5ee670
5d8ebe:	ff 76 14             	push   0x14(%esi)
5d8ec1:	e8 aa 57 01 00       	call   0x5ee670
5d8ec6:	ff 76 18             	push   0x18(%esi)
5d8ec9:	e8 a2 57 01 00       	call   0x5ee670
5d8ece:	83 c4 10             	add    $0x10,%esp
5d8ed1:	5e                   	pop    %esi
5d8ed2:	c3                   	ret
5d8ed3:	56                   	push   %esi
5d8ed4:	8b f1                	mov    %ecx,%esi
5d8ed6:	ff 76 08             	push   0x8(%esi)
5d8ed9:	e8 92 57 01 00       	call   0x5ee670
5d8ede:	ff 76 0c             	push   0xc(%esi)
5d8ee1:	e8 8a 57 01 00       	call   0x5ee670
5d8ee6:	ff 76 10             	push   0x10(%esi)
5d8ee9:	e8 82 57 01 00       	call   0x5ee670
5d8eee:	83 c4 0c             	add    $0xc,%esp
5d8ef1:	5e                   	pop    %esi
5d8ef2:	c3                   	ret
5d8ef3:	56                   	push   %esi
5d8ef4:	8b f1                	mov    %ecx,%esi
5d8ef6:	8b 46 14             	mov    0x14(%esi),%eax
5d8ef9:	83 f8 08             	cmp    $0x8,%eax
5d8efc:	72 11                	jb     0x5d8f0f
5d8efe:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
5d8f05:	50                   	push   %eax
5d8f06:	ff 36                	push   (%esi)
5d8f08:	e8 63 b3 e6 ff       	call   0x444270
5d8f0d:	59                   	pop    %ecx
5d8f0e:	59                   	pop    %ecx
5d8f0f:	83 66 10 00          	andl   $0x0,0x10(%esi)
5d8f13:	33 c0                	xor    %eax,%eax
5d8f15:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
5d8f1c:	66 89 06             	mov    %ax,(%esi)
5d8f1f:	5e                   	pop    %esi
5d8f20:	c3                   	ret
5d8f21:	56                   	push   %esi
5d8f22:	57                   	push   %edi
5d8f23:	8b f9                	mov    %ecx,%edi
5d8f25:	e8 62 4d 02 00       	call   0x5fdc8c
5d8f2a:	8b f0                	mov    %eax,%esi
5d8f2c:	85 f6                	test   %esi,%esi
5d8f2e:	74 10                	je     0x5d8f40
5d8f30:	56                   	push   %esi
5d8f31:	8d 4f 14             	lea    0x14(%edi),%ecx
5d8f34:	e8 0d 90 ff ff       	call   0x5d1f46
5d8f39:	56                   	push   %esi
5d8f3a:	e8 31 57 01 00       	call   0x5ee670
5d8f3f:	59                   	pop    %ecx
5d8f40:	8b 47 14             	mov    0x14(%edi),%eax
5d8f43:	5f                   	pop    %edi
5d8f44:	5e                   	pop    %esi
5d8f45:	85 c0                	test   %eax,%eax
5d8f47:	75 05                	jne    0x5d8f4e
5d8f49:	b8 80 fd 6c 00       	mov    $0x6cfd80,%eax
5d8f4e:	c3                   	ret
5d8f4f:	56                   	push   %esi
5d8f50:	57                   	push   %edi
5d8f51:	8b f9                	mov    %ecx,%edi
5d8f53:	e8 93 4e 02 00       	call   0x5fddeb
5d8f58:	8b f0                	mov    %eax,%esi
5d8f5a:	85 f6                	test   %esi,%esi
5d8f5c:	74 10                	je     0x5d8f6e
5d8f5e:	56                   	push   %esi
5d8f5f:	8d 4f 1c             	lea    0x1c(%edi),%ecx
5d8f62:	e8 df 8f ff ff       	call   0x5d1f46
5d8f67:	56                   	push   %esi
5d8f68:	e8 03 57 01 00       	call   0x5ee670
5d8f6d:	59                   	pop    %ecx
5d8f6e:	8b 47 1c             	mov    0x1c(%edi),%eax
5d8f71:	5f                   	pop    %edi
5d8f72:	5e                   	pop    %esi
5d8f73:	85 c0                	test   %eax,%eax
5d8f75:	75 05                	jne    0x5d8f7c
5d8f77:	b8 30 fe 6c 00       	mov    $0x6cfe30,%eax
5d8f7c:	c3                   	ret
5d8f7d:	55                   	push   %ebp
5d8f7e:	8b ec                	mov    %esp,%ebp
5d8f80:	51                   	push   %ecx
5d8f81:	56                   	push   %esi
5d8f82:	8b f1                	mov    %ecx,%esi
5d8f84:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d8f87:	8b 46 14             	mov    0x14(%esi),%eax
5d8f8a:	8b 56 10             	mov    0x10(%esi),%edx
5d8f8d:	2b c2                	sub    %edx,%eax
5d8f8f:	3b c8                	cmp    %eax,%ecx
5d8f91:	77 2e                	ja     0x5d8fc1
5d8f93:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5d8f97:	53                   	push   %ebx
5d8f98:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
5d8f9b:	57                   	push   %edi
5d8f9c:	89 5e 10             	mov    %ebx,0x10(%esi)
5d8f9f:	8b fe                	mov    %esi,%edi
5d8fa1:	72 02                	jb     0x5d8fa5
5d8fa3:	8b 3e                	mov    (%esi),%edi
5d8fa5:	51                   	push   %ecx
5d8fa6:	ff 75 0c             	push   0xc(%ebp)
5d8fa9:	8d 04 57             	lea    (%edi,%edx,2),%eax
5d8fac:	50                   	push   %eax
5d8fad:	e8 8e 06 e6 ff       	call   0x439640
5d8fb2:	83 c4 0c             	add    $0xc,%esp
5d8fb5:	33 c0                	xor    %eax,%eax
5d8fb7:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
5d8fbb:	8b c6                	mov    %esi,%eax
5d8fbd:	5f                   	pop    %edi
5d8fbe:	5b                   	pop    %ebx
5d8fbf:	eb 0f                	jmp    0x5d8fd0
5d8fc1:	ff 75 0c             	push   0xc(%ebp)
5d8fc4:	51                   	push   %ecx
5d8fc5:	ff 75 fc             	push   -0x4(%ebp)
5d8fc8:	51                   	push   %ecx
5d8fc9:	8b ce                	mov    %esi,%ecx
5d8fcb:	e8 6c 7c ff ff       	call   0x5d0c3c
5d8fd0:	5e                   	pop    %esi
5d8fd1:	c9                   	leave
5d8fd2:	c2 08 00             	ret    $0x8
5d8fd5:	55                   	push   %ebp
5d8fd6:	8b ec                	mov    %esp,%ebp
5d8fd8:	51                   	push   %ecx
5d8fd9:	56                   	push   %esi
5d8fda:	8b f1                	mov    %ecx,%esi
5d8fdc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8fdf:	8b 46 14             	mov    0x14(%esi),%eax
5d8fe2:	8b 56 10             	mov    0x10(%esi),%edx
5d8fe5:	2b c2                	sub    %edx,%eax
5d8fe7:	3b c8                	cmp    %eax,%ecx
5d8fe9:	77 31                	ja     0x5d901c
5d8feb:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5d8fef:	53                   	push   %ebx
5d8ff0:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
5d8ff3:	57                   	push   %edi
5d8ff4:	89 5e 10             	mov    %ebx,0x10(%esi)
5d8ff7:	8b fe                	mov    %esi,%edi
5d8ff9:	72 02                	jb     0x5d8ffd
5d8ffb:	8b 3e                	mov    (%esi),%edi
5d8ffd:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
5d9000:	50                   	push   %eax
5d9001:	ff 75 08             	push   0x8(%ebp)
5d9004:	8d 04 57             	lea    (%edi,%edx,2),%eax
5d9007:	50                   	push   %eax
5d9008:	e8 73 a4 00 00       	call   0x5e3480
5d900d:	83 c4 0c             	add    $0xc,%esp
5d9010:	33 c0                	xor    %eax,%eax
5d9012:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
5d9016:	8b c6                	mov    %esi,%eax
5d9018:	5f                   	pop    %edi
5d9019:	5b                   	pop    %ebx
5d901a:	eb 0f                	jmp    0x5d902b
5d901c:	51                   	push   %ecx
5d901d:	ff 75 08             	push   0x8(%ebp)
5d9020:	ff 75 fc             	push   -0x4(%ebp)
5d9023:	51                   	push   %ecx
5d9024:	8b ce                	mov    %esi,%ecx
5d9026:	e8 a6 7c ff ff       	call   0x5d0cd1
5d902b:	5e                   	pop    %esi
5d902c:	c9                   	leave
5d902d:	c2 08 00             	ret    $0x8
5d9030:	55                   	push   %ebp
5d9031:	8b ec                	mov    %esp,%ebp
5d9033:	51                   	push   %ecx
5d9034:	56                   	push   %esi
5d9035:	8b f1                	mov    %ecx,%esi
5d9037:	57                   	push   %edi
5d9038:	8b 7d 08             	mov    0x8(%ebp),%edi
5d903b:	3b 7e 14             	cmp    0x14(%esi),%edi
5d903e:	77 26                	ja     0x5d9066
5d9040:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5d9044:	53                   	push   %ebx
5d9045:	8b de                	mov    %esi,%ebx
5d9047:	72 02                	jb     0x5d904b
5d9049:	8b 1e                	mov    (%esi),%ebx
5d904b:	57                   	push   %edi
5d904c:	ff 75 0c             	push   0xc(%ebp)
5d904f:	89 7e 10             	mov    %edi,0x10(%esi)
5d9052:	53                   	push   %ebx
5d9053:	e8 e8 05 e6 ff       	call   0x439640
5d9058:	83 c4 0c             	add    $0xc,%esp
5d905b:	33 c0                	xor    %eax,%eax
5d905d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
5d9061:	8b c6                	mov    %esi,%eax
5d9063:	5b                   	pop    %ebx
5d9064:	eb 0c                	jmp    0x5d9072
5d9066:	ff 75 0c             	push   0xc(%ebp)
5d9069:	ff 75 fc             	push   -0x4(%ebp)
5d906c:	57                   	push   %edi
5d906d:	e8 cd 7a ff ff       	call   0x5d0b3f
5d9072:	5f                   	pop    %edi
5d9073:	5e                   	pop    %esi
5d9074:	c9                   	leave
5d9075:	c2 08 00             	ret    $0x8
5d9078:	55                   	push   %ebp
5d9079:	8b ec                	mov    %esp,%ebp
5d907b:	56                   	push   %esi
5d907c:	8b 75 08             	mov    0x8(%ebp),%esi
5d907f:	8b c6                	mov    %esi,%eax
5d9081:	57                   	push   %edi
5d9082:	33 ff                	xor    %edi,%edi
5d9084:	8b d7                	mov    %edi,%edx
5d9086:	66 39 3e             	cmp    %di,(%esi)
5d9089:	74 09                	je     0x5d9094
5d908b:	8d 40 02             	lea    0x2(%eax),%eax
5d908e:	42                   	inc    %edx
5d908f:	66 39 38             	cmp    %di,(%eax)
5d9092:	75 f7                	jne    0x5d908b
5d9094:	52                   	push   %edx
5d9095:	56                   	push   %esi
5d9096:	e8 06 00 00 00       	call   0x5d90a1
5d909b:	5f                   	pop    %edi
5d909c:	5e                   	pop    %esi
5d909d:	5d                   	pop    %ebp
5d909e:	c2 04 00             	ret    $0x4
5d90a1:	55                   	push   %ebp
5d90a2:	8b ec                	mov    %esp,%ebp
5d90a4:	51                   	push   %ecx
5d90a5:	8b 45 0c             	mov    0xc(%ebp),%eax
5d90a8:	57                   	push   %edi
5d90a9:	8b f9                	mov    %ecx,%edi
5d90ab:	3b 47 14             	cmp    0x14(%edi),%eax
5d90ae:	77 2b                	ja     0x5d90db
5d90b0:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
5d90b4:	53                   	push   %ebx
5d90b5:	56                   	push   %esi
5d90b6:	8b df                	mov    %edi,%ebx
5d90b8:	72 02                	jb     0x5d90bc
5d90ba:	8b 1f                	mov    (%edi),%ebx
5d90bc:	8d 34 00             	lea    (%eax,%eax,1),%esi
5d90bf:	89 47 10             	mov    %eax,0x10(%edi)
5d90c2:	56                   	push   %esi
5d90c3:	ff 75 08             	push   0x8(%ebp)
5d90c6:	53                   	push   %ebx
5d90c7:	e8 b4 a3 00 00       	call   0x5e3480
5d90cc:	83 c4 0c             	add    $0xc,%esp
5d90cf:	33 c0                	xor    %eax,%eax
5d90d1:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
5d90d5:	8b c7                	mov    %edi,%eax
5d90d7:	5e                   	pop    %esi
5d90d8:	5b                   	pop    %ebx
5d90d9:	eb 0c                	jmp    0x5d90e7