5e5e1b:	e8 69 9b ff ff       	call   0x5df989
5e5e20:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e5e23:	83 c4 10             	add    $0x10,%esp
5e5e26:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e5e29:	2b d8                	sub    %eax,%ebx
5e5e2b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e5e2e:	29 41 08             	sub    %eax,0x8(%ecx)
5e5e31:	01 01                	add    %eax,(%ecx)
5e5e33:	2b d0                	sub    %eax,%edx
5e5e35:	e9 8d 00 00 00       	jmp    0x5e5ec7
5e5e3a:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
5e5e3d:	72 62                	jb     0x5e5ea1
5e5e3f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5e5e44:	3b d8                	cmp    %eax,%ebx
5e5e46:	76 05                	jbe    0x5e5e4d
5e5e48:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e5e4b:	eb 05                	jmp    0x5e5e52
5e5e4d:	8b c3                	mov    %ebx,%eax
5e5e4f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5e5e52:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
5e5e56:	74 0d                	je     0x5e5e65
5e5e58:	33 d2                	xor    %edx,%edx
5e5e5a:	f7 75 f4             	divl   -0xc(%ebp)
5e5e5d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e5e60:	2b c2                	sub    %edx,%eax
5e5e62:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e5e65:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e5e68:	3b c2                	cmp    %edx,%eax
5e5e6a:	77 71                	ja     0x5e5edd
5e5e6c:	ff 75 f8             	push   -0x8(%ebp)
5e5e6f:	8b 41 04             	mov    0x4(%ecx),%eax
5e5e72:	ff 75 f0             	push   -0x10(%ebp)
5e5e75:	83 61 08 00          	andl   $0x0,0x8(%ecx)
5e5e79:	51                   	push   %ecx
5e5e7a:	89 01                	mov    %eax,(%ecx)
5e5e7c:	e8 9a fe ff ff       	call   0x5e5d1b
5e5e81:	59                   	pop    %ecx
5e5e82:	50                   	push   %eax
5e5e83:	e8 7d d9 ff ff       	call   0x5e3805
5e5e88:	83 c4 0c             	add    $0xc,%esp
5e5e8b:	85 c0                	test   %eax,%eax
5e5e8d:	0f 84 84 00 00 00    	je     0x5e5f17
5e5e93:	78 6b                	js     0x5e5f00
5e5e95:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e5e98:	2b d8                	sub    %eax,%ebx
5e5e9a:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e5e9d:	2b d0                	sub    %eax,%edx
5e5e9f:	eb 26                	jmp    0x5e5ec7
5e5ea1:	51                   	push   %ecx
5e5ea2:	e8 e9 9d 00 00       	call   0x5efc90
5e5ea7:	59                   	pop    %ecx
5e5ea8:	83 f8 ff             	cmp    $0xffffffff,%eax
5e5eab:	74 5c                	je     0x5e5f09
5e5ead:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e5eb0:	85 d2                	test   %edx,%edx
5e5eb2:	74 29                	je     0x5e5edd
5e5eb4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e5eb7:	4b                   	dec    %ebx
5e5eb8:	4a                   	dec    %edx
5e5eb9:	88 01                	mov    %al,(%ecx)
5e5ebb:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e5ebe:	8b 41 18             	mov    0x18(%ecx),%eax
5e5ec1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e5ec4:	33 c0                	xor    %eax,%eax
5e5ec6:	40                   	inc    %eax
5e5ec7:	01 45 f0             	add    %eax,-0x10(%ebp)
5e5eca:	85 db                	test   %ebx,%ebx
5e5ecc:	89 55 fc             	mov    %edx,-0x4(%ebp)
5e5ecf:	0f 85 13 ff ff ff    	jne    0x5e5de8
5e5ed5:	8b 45 14             	mov    0x14(%ebp),%eax
5e5ed8:	e9 96 fe ff ff       	jmp    0x5e5d73
5e5edd:	83 ff ff             	cmp    $0xffffffff,%edi
5e5ee0:	74 0e                	je     0x5e5ef0
5e5ee2:	57                   	push   %edi
5e5ee3:	6a 00                	push   $0x0
5e5ee5:	ff 75 08             	push   0x8(%ebp)
5e5ee8:	e8 83 cd fe ff       	call   0x5d2c70
5e5eed:	83 c4 0c             	add    $0xc,%esp
5e5ef0:	e8 93 4d ff ff       	call   0x5dac88
5e5ef5:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5e5efb:	e9 6c fe ff ff       	jmp    0x5e5d6c
5e5f00:	6a 10                	push   $0x10
5e5f02:	8b 45 ec             	mov    -0x14(%ebp),%eax
5e5f05:	59                   	pop    %ecx
5e5f06:	f0 09 08             	lock or %ecx,(%eax)
5e5f09:	2b f3                	sub    %ebx,%esi
5e5f0b:	33 d2                	xor    %edx,%edx
5e5f0d:	8b c6                	mov    %esi,%eax
5e5f0f:	f7 75 10             	divl   0x10(%ebp)
5e5f12:	e9 5c fe ff ff       	jmp    0x5e5d73
5e5f17:	6a 08                	push   $0x8
5e5f19:	eb e7                	jmp    0x5e5f02
5e5f1b:	8b ff                	mov    %edi,%edi
5e5f1d:	55                   	push   %ebp
5e5f1e:	8b ec                	mov    %esp,%ebp
5e5f20:	ff 75 14             	push   0x14(%ebp)
5e5f23:	ff 75 10             	push   0x10(%ebp)
5e5f26:	ff 75 0c             	push   0xc(%ebp)
5e5f29:	6a ff                	push   $0xffffffff
5e5f2b:	ff 75 08             	push   0x8(%ebp)
5e5f2e:	e8 05 00 00 00       	call   0x5e5f38
5e5f33:	83 c4 14             	add    $0x14,%esp
5e5f36:	5d                   	pop    %ebp
5e5f37:	c3                   	ret
5e5f38:	6a 0c                	push   $0xc
5e5f3a:	68 70 a8 68 00       	push   $0x68a870
5e5f3f:	e8 bc c9 fe ff       	call   0x5d2900
5e5f44:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5e5f48:	74 32                	je     0x5e5f7c
5e5f4a:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
5e5f4e:	74 2c                	je     0x5e5f7c
5e5f50:	8b 75 18             	mov    0x18(%ebp),%esi
5e5f53:	85 f6                	test   %esi,%esi
5e5f55:	75 37                	jne    0x5e5f8e
5e5f57:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
5e5f5b:	74 0f                	je     0x5e5f6c
5e5f5d:	ff 75 0c             	push   0xc(%ebp)
5e5f60:	56                   	push   %esi
5e5f61:	ff 75 08             	push   0x8(%ebp)
5e5f64:	e8 07 cd fe ff       	call   0x5d2c70
5e5f69:	83 c4 0c             	add    $0xc,%esp
5e5f6c:	e8 17 4d ff ff       	call   0x5dac88
5e5f71:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5f77:	e8 64 02 ff ff       	call   0x5d61e0
5e5f7c:	33 c0                	xor    %eax,%eax
5e5f7e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e5f81:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e5f88:	59                   	pop    %ecx
5e5f89:	5f                   	pop    %edi
5e5f8a:	5e                   	pop    %esi
5e5f8b:	5b                   	pop    %ebx
5e5f8c:	c9                   	leave
5e5f8d:	c3                   	ret
5e5f8e:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5e5f92:	56                   	push   %esi
5e5f93:	e8 d4 a0 ff ff       	call   0x5e006c
5e5f98:	59                   	pop    %ecx
5e5f99:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5e5f9d:	56                   	push   %esi
5e5f9e:	ff 75 14             	push   0x14(%ebp)
5e5fa1:	ff 75 10             	push   0x10(%ebp)
5e5fa4:	ff 75 0c             	push   0xc(%ebp)
5e5fa7:	ff 75 08             	push   0x8(%ebp)
5e5faa:	e8 93 fd ff ff       	call   0x5e5d42
5e5faf:	83 c4 14             	add    $0x14,%esp
5e5fb2:	8b f8                	mov    %eax,%edi
5e5fb4:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5e5fb7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e5fbe:	e8 0a 00 00 00       	call   0x5e5fcd
5e5fc3:	8b c7                	mov    %edi,%eax
5e5fc5:	eb b7                	jmp    0x5e5f7e
5e5fc7:	8b 75 18             	mov    0x18(%ebp),%esi
5e5fca:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5e5fcd:	56                   	push   %esi
5e5fce:	e8 ad a0 ff ff       	call   0x5e0080
5e5fd3:	59                   	pop    %ecx
5e5fd4:	c3                   	ret
5e5fd5:	8b ff                	mov    %edi,%edi
5e5fd7:	55                   	push   %ebp
5e5fd8:	8b ec                	mov    %esp,%ebp
5e5fda:	8b 55 08             	mov    0x8(%ebp),%edx
5e5fdd:	2b 55 10             	sub    0x10(%ebp),%edx
5e5fe0:	53                   	push   %ebx
5e5fe1:	56                   	push   %esi
5e5fe2:	57                   	push   %edi
5e5fe3:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e5fe6:	1b 7d 14             	sbb    0x14(%ebp),%edi
5e5fe9:	33 c9                	xor    %ecx,%ecx
5e5feb:	33 c0                	xor    %eax,%eax
5e5fed:	41                   	inc    %ecx
5e5fee:	39 45 0c             	cmp    %eax,0xc(%ebp)
5e5ff1:	7f 0b                	jg     0x5e5ffe
5e5ff3:	7c 05                	jl     0x5e5ffa
5e5ff5:	39 45 08             	cmp    %eax,0x8(%ebp)
5e5ff8:	73 04                	jae    0x5e5ffe
5e5ffa:	8b d9                	mov    %ecx,%ebx
5e5ffc:	eb 02                	jmp    0x5e6000
5e5ffe:	8b d8                	mov    %eax,%ebx
5e6000:	39 45 14             	cmp    %eax,0x14(%ebp)
5e6003:	7f 0b                	jg     0x5e6010
5e6005:	7c 05                	jl     0x5e600c
5e6007:	39 45 10             	cmp    %eax,0x10(%ebp)
5e600a:	73 04                	jae    0x5e6010
5e600c:	8b f1                	mov    %ecx,%esi
5e600e:	eb 02                	jmp    0x5e6012
5e6010:	8b f0                	mov    %eax,%esi
5e6012:	3b de                	cmp    %esi,%ebx
5e6014:	74 2c                	je     0x5e6042
5e6016:	39 45 0c             	cmp    %eax,0xc(%ebp)
5e6019:	7f 0b                	jg     0x5e6026
5e601b:	7c 05                	jl     0x5e6022
5e601d:	39 45 08             	cmp    %eax,0x8(%ebp)
5e6020:	73 04                	jae    0x5e6026
5e6022:	8b f1                	mov    %ecx,%esi
5e6024:	eb 02                	jmp    0x5e6028
5e6026:	8b f0                	mov    %eax,%esi
5e6028:	3b f8                	cmp    %eax,%edi
5e602a:	7f 06                	jg     0x5e6032
5e602c:	7c 06                	jl     0x5e6034
5e602e:	3b d0                	cmp    %eax,%edx
5e6030:	72 02                	jb     0x5e6034
5e6032:	8b c8                	mov    %eax,%ecx
5e6034:	3b f1                	cmp    %ecx,%esi
5e6036:	74 0a                	je     0x5e6042
5e6038:	83 ca ff             	or     $0xffffffff,%edx
5e603b:	b8 16 02 07 80       	mov    $0x80070216,%eax
5e6040:	8b fa                	mov    %edx,%edi
5e6042:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e6045:	89 11                	mov    %edx,(%ecx)
5e6047:	89 79 04             	mov    %edi,0x4(%ecx)
5e604a:	5f                   	pop    %edi
5e604b:	5e                   	pop    %esi
5e604c:	5b                   	pop    %ebx
5e604d:	5d                   	pop    %ebp
5e604e:	c3                   	ret
5e604f:	6a 0c                	push   $0xc
5e6051:	68 90 a8 68 00       	push   $0x68a890
5e6056:	e8 a5 c8 fe ff       	call   0x5d2900
5e605b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e605f:	75 23                	jne    0x5e6084
5e6061:	33 f6                	xor    %esi,%esi
5e6063:	8b 45 18             	mov    0x18(%ebp),%eax
5e6066:	50                   	push   %eax
5e6067:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e606e:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e6072:	56                   	push   %esi
5e6073:	56                   	push   %esi
5e6074:	56                   	push   %esi
5e6075:	56                   	push   %esi
5e6076:	56                   	push   %esi
5e6077:	e8 e7 00 ff ff       	call   0x5d6163
5e607c:	83 c4 18             	add    $0x18,%esp
5e607f:	83 c8 ff             	or     $0xffffffff,%eax
5e6082:	eb 58                	jmp    0x5e60dc
5e6084:	8b 7d 14             	mov    0x14(%ebp),%edi
5e6087:	85 ff                	test   %edi,%edi
5e6089:	74 10                	je     0x5e609b
5e608b:	83 ff 01             	cmp    $0x1,%edi
5e608e:	74 0b                	je     0x5e609b
5e6090:	83 ff 02             	cmp    $0x2,%edi
5e6093:	74 06                	je     0x5e609b
5e6095:	33 f6                	xor    %esi,%esi
5e6097:	8b c6                	mov    %esi,%eax
5e6099:	eb 05                	jmp    0x5e60a0
5e609b:	33 c0                	xor    %eax,%eax
5e609d:	40                   	inc    %eax
5e609e:	33 f6                	xor    %esi,%esi
5e60a0:	85 c0                	test   %eax,%eax
5e60a2:	74 bf                	je     0x5e6063
5e60a4:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
5e60a8:	ff 75 08             	push   0x8(%ebp)
5e60ab:	e8 bc 9f ff ff       	call   0x5e006c
5e60b0:	59                   	pop    %ecx
5e60b1:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e60b4:	ff 75 18             	push   0x18(%ebp)
5e60b7:	57                   	push   %edi
5e60b8:	ff 75 10             	push   0x10(%ebp)
5e60bb:	ff 75 0c             	push   0xc(%ebp)
5e60be:	ff 75 08             	push   0x8(%ebp)
5e60c1:	e8 0c 01 00 00       	call   0x5e61d2
5e60c6:	83 c4 14             	add    $0x14,%esp
5e60c9:	8b f0                	mov    %eax,%esi
5e60cb:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5e60ce:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e60d5:	e8 15 00 00 00       	call   0x5e60ef
5e60da:	8b c6                	mov    %esi,%eax
5e60dc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e60df:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e60e6:	59                   	pop    %ecx
5e60e7:	5f                   	pop    %edi
5e60e8:	5e                   	pop    %esi
5e60e9:	5b                   	pop    %ebx
5e60ea:	c9                   	leave
5e60eb:	c3                   	ret
5e60ec:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5e60ef:	ff 75 08             	push   0x8(%ebp)
5e60f2:	e8 89 9f ff ff       	call   0x5e0080
5e60f7:	59                   	pop    %ecx
5e60f8:	c3                   	ret
5e60f9:	8b ff                	mov    %edi,%edi
5e60fb:	55                   	push   %ebp
5e60fc:	8b ec                	mov    %esp,%ebp
5e60fe:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
5e6102:	56                   	push   %esi
5e6103:	57                   	push   %edi
5e6104:	0f 84 8c 00 00 00    	je     0x5e6196
5e610a:	8b 45 08             	mov    0x8(%ebp),%eax
5e610d:	8b 40 0c             	mov    0xc(%eax),%eax
5e6110:	90                   	nop
5e6111:	a9 c0 04 00 00       	test   $0x4c0,%eax
5e6116:	74 7e                	je     0x5e6196
5e6118:	8b 45 08             	mov    0x8(%ebp),%eax
5e611b:	8b 40 0c             	mov    0xc(%eax),%eax
5e611e:	90                   	nop
5e611f:	a8 06                	test   $0x6,%al
5e6121:	75 73                	jne    0x5e6196
5e6123:	8b 45 08             	mov    0x8(%ebp),%eax
5e6126:	33 f6                	xor    %esi,%esi
5e6128:	39 70 08             	cmp    %esi,0x8(%eax)
5e612b:	7e 69                	jle    0x5e6196
5e612d:	8b 50 10             	mov    0x10(%eax),%edx
5e6130:	90                   	nop
5e6131:	8b c2                	mov    %edx,%eax
5e6133:	8b ca                	mov    %edx,%ecx
5e6135:	83 e0 3f             	and    $0x3f,%eax
5e6138:	c1 f9 06             	sar    $0x6,%ecx
5e613b:	6b c0 38             	imul   $0x38,%eax,%eax
5e613e:	8b 0c 8d a8 70 71 00 	mov    0x7170a8(,%ecx,4),%ecx
5e6145:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
5e614a:	7c 4a                	jl     0x5e6196
5e614c:	80 7c 01 29 00       	cmpb   $0x0,0x29(%ecx,%eax,1)
5e6151:	75 43                	jne    0x5e6196
5e6153:	39 75 14             	cmp    %esi,0x14(%ebp)
5e6156:	75 44                	jne    0x5e619c
5e6158:	6a 01                	push   $0x1
5e615a:	56                   	push   %esi
5e615b:	56                   	push   %esi
5e615c:	52                   	push   %edx
5e615d:	e8 5e 92 00 00       	call   0x5ef3c0
5e6162:	8b fa                	mov    %edx,%edi
5e6164:	83 c4 10             	add    $0x10,%esp
5e6167:	8b c8                	mov    %eax,%ecx
5e6169:	3b fe                	cmp    %esi,%edi
5e616b:	7c 29                	jl     0x5e6196
5e616d:	7f 04                	jg     0x5e6173
5e616f:	3b ce                	cmp    %esi,%ecx
5e6171:	72 23                	jb     0x5e6196
5e6173:	8b 75 08             	mov    0x8(%ebp),%esi
5e6176:	8d 45 0c             	lea    0xc(%ebp),%eax
5e6179:	50                   	push   %eax
5e617a:	8b 46 08             	mov    0x8(%esi),%eax
5e617d:	99                   	cltd
5e617e:	2b c8                	sub    %eax,%ecx
5e6180:	1b fa                	sbb    %edx,%edi
5e6182:	57                   	push   %edi
5e6183:	51                   	push   %ecx
5e6184:	ff 75 10             	push   0x10(%ebp)
5e6187:	ff 75 0c             	push   0xc(%ebp)
5e618a:	e8 46 fe ff ff       	call   0x5e5fd5
5e618f:	83 c4 14             	add    $0x14,%esp
5e6192:	85 c0                	test   %eax,%eax
5e6194:	79 09                	jns    0x5e619f
5e6196:	32 c0                	xor    %al,%al
5e6198:	5f                   	pop    %edi
5e6199:	5e                   	pop    %esi
5e619a:	5d                   	pop    %ebp
5e619b:	c3                   	ret
5e619c:	8b 75 08             	mov    0x8(%ebp),%esi
5e619f:	8b 46 04             	mov    0x4(%esi),%eax
5e61a2:	8b 0e                	mov    (%esi),%ecx