5ede81:	75 15                	jne    0x5ede98
5ede83:	e8 71 f1 ff ff       	call   0x5ecff9
5ede88:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ede8e:	e8 8c f0 ff ff       	call   0x5ecf1f
5ede93:	83 c8 ff             	or     $0xffffffff,%eax
5ede96:	eb 3c                	jmp    0x5eded4
5ede98:	8b 46 0c             	mov    0xc(%esi),%eax
5ede9b:	90                   	nop
5ede9c:	c1 e8 0c             	shr    $0xc,%eax
5ede9f:	56                   	push   %esi
5edea0:	a8 01                	test   $0x1,%al
5edea2:	74 08                	je     0x5edeac
5edea4:	e8 d7 6b 01 00       	call   0x604a80
5edea9:	59                   	pop    %ecx
5edeaa:	eb e7                	jmp    0x5ede93
5edeac:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5edeb0:	e8 ed e2 00 00       	call   0x5fc1a2
5edeb5:	59                   	pop    %ecx
5edeb6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5edeba:	56                   	push   %esi
5edebb:	e8 36 ff ff ff       	call   0x5eddf6
5edec0:	59                   	pop    %ecx
5edec1:	8b f0                	mov    %eax,%esi
5edec3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5edec6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5edecd:	e8 15 00 00 00       	call   0x5edee7
5eded2:	8b c6                	mov    %esi,%eax
5eded4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5eded7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5edede:	59                   	pop    %ecx
5ededf:	5f                   	pop    %edi
5edee0:	5e                   	pop    %esi
5edee1:	5b                   	pop    %ebx
5edee2:	c9                   	leave
5edee3:	c3                   	ret
5edee4:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5edee7:	ff 75 e0             	push   -0x20(%ebp)
5edeea:	e8 c7 e2 00 00       	call   0x5fc1b6
5edeef:	59                   	pop    %ecx
5edef0:	c3                   	ret
5edef1:	8b ff                	mov    %edi,%edi
5edef3:	55                   	push   %ebp
5edef4:	8b ec                	mov    %esp,%ebp
5edef6:	83 ec 14             	sub    $0x14,%esp
5edef9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5edefd:	53                   	push   %ebx
5edefe:	56                   	push   %esi
5edeff:	57                   	push   %edi
5edf00:	74 1c                	je     0x5edf1e
5edf02:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
5edf06:	74 16                	je     0x5edf1e
5edf08:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5edf0c:	75 17                	jne    0x5edf25
5edf0e:	e8 e6 f0 ff ff       	call   0x5ecff9
5edf13:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5edf19:	e8 01 f0 ff ff       	call   0x5ecf1f
5edf1e:	33 c0                	xor    %eax,%eax
5edf20:	5f                   	pop    %edi
5edf21:	5e                   	pop    %esi
5edf22:	5b                   	pop    %ebx
5edf23:	c9                   	leave
5edf24:	c3                   	ret
5edf25:	8b 7d 18             	mov    0x18(%ebp),%edi
5edf28:	8b 75 0c             	mov    0xc(%ebp),%esi
5edf2b:	85 ff                	test   %edi,%edi
5edf2d:	74 0d                	je     0x5edf3c
5edf2f:	83 c8 ff             	or     $0xffffffff,%eax
5edf32:	33 d2                	xor    %edx,%edx
5edf34:	f7 75 10             	divl   0x10(%ebp)
5edf37:	39 45 14             	cmp    %eax,0x14(%ebp)
5edf3a:	76 24                	jbe    0x5edf60
5edf3c:	83 fe ff             	cmp    $0xffffffff,%esi
5edf3f:	74 0e                	je     0x5edf4f
5edf41:	56                   	push   %esi
5edf42:	6a 00                	push   $0x0
5edf44:	ff 75 08             	push   0x8(%ebp)
5edf47:	e8 b4 5a ff ff       	call   0x5e3a00
5edf4c:	83 c4 0c             	add    $0xc,%esp
5edf4f:	85 ff                	test   %edi,%edi
5edf51:	74 bb                	je     0x5edf0e
5edf53:	83 c8 ff             	or     $0xffffffff,%eax
5edf56:	33 d2                	xor    %edx,%edx
5edf58:	f7 75 10             	divl   0x10(%ebp)
5edf5b:	39 45 14             	cmp    %eax,0x14(%ebp)
5edf5e:	77 ae                	ja     0x5edf0e
5edf60:	8b d7                	mov    %edi,%edx
5edf62:	8d 42 0c             	lea    0xc(%edx),%eax
5edf65:	89 45 ec             	mov    %eax,-0x14(%ebp)
5edf68:	8b 00                	mov    (%eax),%eax
5edf6a:	90                   	nop
5edf6b:	a9 c0 04 00 00       	test   $0x4c0,%eax
5edf70:	74 08                	je     0x5edf7a
5edf72:	8b 42 18             	mov    0x18(%edx),%eax
5edf75:	89 45 f0             	mov    %eax,-0x10(%ebp)
5edf78:	eb 07                	jmp    0x5edf81
5edf7a:	c7 45 f0 00 10 00 00 	movl   $0x1000,-0x10(%ebp)
5edf81:	8b 7d 10             	mov    0x10(%ebp),%edi
5edf84:	8b de                	mov    %esi,%ebx
5edf86:	0f af 7d 14          	imul   0x14(%ebp),%edi
5edf8a:	8b 45 08             	mov    0x8(%ebp),%eax
5edf8d:	89 45 f4             	mov    %eax,-0xc(%ebp)
5edf90:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5edf93:	8b cf                	mov    %edi,%ecx
5edf95:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5edf98:	85 ff                	test   %edi,%edi
5edf9a:	0f 84 2f 01 00 00    	je     0x5ee0cf
5edfa0:	8b 42 0c             	mov    0xc(%edx),%eax
5edfa3:	90                   	nop
5edfa4:	a9 c0 04 00 00       	test   $0x4c0,%eax
5edfa9:	74 46                	je     0x5edff1
5edfab:	8b 5a 08             	mov    0x8(%edx),%ebx
5edfae:	85 db                	test   %ebx,%ebx
5edfb0:	74 3c                	je     0x5edfee
5edfb2:	0f 88 f2 00 00 00    	js     0x5ee0aa
5edfb8:	3b cb                	cmp    %ebx,%ecx
5edfba:	73 02                	jae    0x5edfbe
5edfbc:	8b d9                	mov    %ecx,%ebx
5edfbe:	8b 45 f8             	mov    -0x8(%ebp),%eax
5edfc1:	3b d8                	cmp    %eax,%ebx
5edfc3:	0f 87 be 00 00 00    	ja     0x5ee087
5edfc9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5edfcc:	53                   	push   %ebx
5edfcd:	ff 32                	push   (%edx)
5edfcf:	50                   	push   %eax
5edfd0:	51                   	push   %ecx
5edfd1:	e8 bb 01 00 00       	call   0x5ee191
5edfd6:	8b 55 18             	mov    0x18(%ebp),%edx
5edfd9:	83 c4 10             	add    $0x10,%esp
5edfdc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5edfdf:	2b cb                	sub    %ebx,%ecx
5edfe1:	29 5a 08             	sub    %ebx,0x8(%edx)
5edfe4:	01 1a                	add    %ebx,(%edx)
5edfe6:	29 5d f8             	sub    %ebx,-0x8(%ebp)
5edfe9:	e9 87 00 00 00       	jmp    0x5ee075
5edfee:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5edff1:	8b 45 f0             	mov    -0x10(%ebp),%eax
5edff4:	3b c8                	cmp    %eax,%ecx
5edff6:	72 54                	jb     0x5ee04c
5edff8:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
5edffe:	76 05                	jbe    0x5ee005
5ee000:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
5ee005:	85 c0                	test   %eax,%eax
5ee007:	74 0c                	je     0x5ee015
5ee009:	33 d2                	xor    %edx,%edx
5ee00b:	8b c1                	mov    %ecx,%eax
5ee00d:	f7 75 f0             	divl   -0x10(%ebp)
5ee010:	2b ca                	sub    %edx,%ecx
5ee012:	8b 55 18             	mov    0x18(%ebp),%edx
5ee015:	3b cb                	cmp    %ebx,%ecx
5ee017:	77 6e                	ja     0x5ee087
5ee019:	8b 42 04             	mov    0x4(%edx),%eax
5ee01c:	83 62 08 00          	andl   $0x0,0x8(%edx)
5ee020:	51                   	push   %ecx
5ee021:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ee024:	51                   	push   %ecx
5ee025:	52                   	push   %edx
5ee026:	89 02                	mov    %eax,(%edx)
5ee028:	e8 7b 17 01 00       	call   0x5ff7a8
5ee02d:	59                   	pop    %ecx
5ee02e:	50                   	push   %eax
5ee02f:	e8 a1 71 01 00       	call   0x6051d5
5ee034:	8b d8                	mov    %eax,%ebx
5ee036:	83 c4 0c             	add    $0xc,%esp
5ee039:	85 db                	test   %ebx,%ebx
5ee03b:	74 7a                	je     0x5ee0b7
5ee03d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ee040:	78 68                	js     0x5ee0aa
5ee042:	8b 55 18             	mov    0x18(%ebp),%edx
5ee045:	2b cb                	sub    %ebx,%ecx
5ee047:	29 5d f8             	sub    %ebx,-0x8(%ebp)
5ee04a:	eb 29                	jmp    0x5ee075
5ee04c:	52                   	push   %edx
5ee04d:	e8 bd 76 01 00       	call   0x60570f
5ee052:	59                   	pop    %ecx
5ee053:	83 f8 ff             	cmp    $0xffffffff,%eax
5ee056:	74 68                	je     0x5ee0c0
5ee058:	85 db                	test   %ebx,%ebx
5ee05a:	74 2b                	je     0x5ee087
5ee05c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ee05f:	8b 55 18             	mov    0x18(%ebp),%edx
5ee062:	88 01                	mov    %al,(%ecx)
5ee064:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ee067:	8b 42 18             	mov    0x18(%edx),%eax
5ee06a:	49                   	dec    %ecx
5ee06b:	4b                   	dec    %ebx
5ee06c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ee06f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5ee072:	33 db                	xor    %ebx,%ebx
5ee074:	43                   	inc    %ebx
5ee075:	01 5d f4             	add    %ebx,-0xc(%ebp)
5ee078:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5ee07b:	85 c9                	test   %ecx,%ecx
5ee07d:	74 50                	je     0x5ee0cf
5ee07f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5ee082:	e9 19 ff ff ff       	jmp    0x5edfa0
5ee087:	83 fe ff             	cmp    $0xffffffff,%esi
5ee08a:	74 0e                	je     0x5ee09a
5ee08c:	56                   	push   %esi
5ee08d:	6a 00                	push   $0x0
5ee08f:	ff 75 08             	push   0x8(%ebp)
5ee092:	e8 69 59 ff ff       	call   0x5e3a00
5ee097:	83 c4 0c             	add    $0xc,%esp
5ee09a:	e8 5a ef ff ff       	call   0x5ecff9
5ee09f:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5ee0a5:	e9 6f fe ff ff       	jmp    0x5edf19
5ee0aa:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ee0ad:	6a 10                	push   $0x10
5ee0af:	5a                   	pop    %edx
5ee0b0:	f0 09 10             	lock or %edx,(%eax)
5ee0b3:	2b f9                	sub    %ecx,%edi
5ee0b5:	eb 0c                	jmp    0x5ee0c3
5ee0b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ee0ba:	6a 08                	push   $0x8
5ee0bc:	59                   	pop    %ecx
5ee0bd:	f0 09 08             	lock or %ecx,(%eax)
5ee0c0:	2b 7d fc             	sub    -0x4(%ebp),%edi
5ee0c3:	8b c7                	mov    %edi,%eax
5ee0c5:	33 d2                	xor    %edx,%edx
5ee0c7:	f7 75 10             	divl   0x10(%ebp)
5ee0ca:	e9 51 fe ff ff       	jmp    0x5edf20
5ee0cf:	8b 45 14             	mov    0x14(%ebp),%eax
5ee0d2:	e9 49 fe ff ff       	jmp    0x5edf20
5ee0d7:	8b ff                	mov    %edi,%edi
5ee0d9:	55                   	push   %ebp
5ee0da:	8b ec                	mov    %esp,%ebp
5ee0dc:	ff 75 14             	push   0x14(%ebp)
5ee0df:	ff 75 10             	push   0x10(%ebp)
5ee0e2:	ff 75 0c             	push   0xc(%ebp)
5ee0e5:	6a ff                	push   $0xffffffff
5ee0e7:	ff 75 08             	push   0x8(%ebp)
5ee0ea:	e8 05 00 00 00       	call   0x5ee0f4
5ee0ef:	83 c4 14             	add    $0x14,%esp
5ee0f2:	5d                   	pop    %ebp
5ee0f3:	c3                   	ret
5ee0f4:	6a 0c                	push   $0xc
5ee0f6:	68 48 1a 70 00       	push   $0x701a48
5ee0fb:	e8 10 44 ff ff       	call   0x5e2510
5ee100:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5ee104:	74 32                	je     0x5ee138
5ee106:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
5ee10a:	74 2c                	je     0x5ee138
5ee10c:	8b 75 18             	mov    0x18(%ebp),%esi
5ee10f:	85 f6                	test   %esi,%esi
5ee111:	75 37                	jne    0x5ee14a
5ee113:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
5ee117:	74 0f                	je     0x5ee128
5ee119:	ff 75 0c             	push   0xc(%ebp)
5ee11c:	56                   	push   %esi
5ee11d:	ff 75 08             	push   0x8(%ebp)
5ee120:	e8 db 58 ff ff       	call   0x5e3a00
5ee125:	83 c4 0c             	add    $0xc,%esp
5ee128:	e8 cc ee ff ff       	call   0x5ecff9
5ee12d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee133:	e8 e7 ed ff ff       	call   0x5ecf1f
5ee138:	33 c0                	xor    %eax,%eax
5ee13a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ee13d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ee144:	59                   	pop    %ecx
5ee145:	5f                   	pop    %edi
5ee146:	5e                   	pop    %esi
5ee147:	5b                   	pop    %ebx
5ee148:	c9                   	leave
5ee149:	c3                   	ret
5ee14a:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5ee14e:	56                   	push   %esi
5ee14f:	e8 4e e0 00 00       	call   0x5fc1a2
5ee154:	59                   	pop    %ecx
5ee155:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5ee159:	56                   	push   %esi
5ee15a:	ff 75 14             	push   0x14(%ebp)
5ee15d:	ff 75 10             	push   0x10(%ebp)
5ee160:	ff 75 0c             	push   0xc(%ebp)
5ee163:	ff 75 08             	push   0x8(%ebp)
5ee166:	e8 86 fd ff ff       	call   0x5edef1
5ee16b:	83 c4 14             	add    $0x14,%esp
5ee16e:	8b f8                	mov    %eax,%edi
5ee170:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5ee173:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5ee17a:	e8 0a 00 00 00       	call   0x5ee189
5ee17f:	8b c7                	mov    %edi,%eax
5ee181:	eb b7                	jmp    0x5ee13a
5ee183:	8b 75 18             	mov    0x18(%ebp),%esi
5ee186:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5ee189:	56                   	push   %esi
5ee18a:	e8 27 e0 00 00       	call   0x5fc1b6
5ee18f:	59                   	pop    %ecx
5ee190:	c3                   	ret
5ee191:	8b ff                	mov    %edi,%edi
5ee193:	55                   	push   %ebp
5ee194:	8b ec                	mov    %esp,%ebp
5ee196:	56                   	push   %esi
5ee197:	8b 75 14             	mov    0x14(%ebp),%esi
5ee19a:	85 f6                	test   %esi,%esi
5ee19c:	75 04                	jne    0x5ee1a2
5ee19e:	33 c0                	xor    %eax,%eax
5ee1a0:	eb 6d                	jmp    0x5ee20f
5ee1a2:	8b 45 08             	mov    0x8(%ebp),%eax
5ee1a5:	85 c0                	test   %eax,%eax
5ee1a7:	75 13                	jne    0x5ee1bc
5ee1a9:	e8 4b ee ff ff       	call   0x5ecff9
5ee1ae:	6a 16                	push   $0x16
5ee1b0:	5e                   	pop    %esi
5ee1b1:	89 30                	mov    %esi,(%eax)
5ee1b3:	e8 67 ed ff ff       	call   0x5ecf1f
5ee1b8:	8b c6                	mov    %esi,%eax
5ee1ba:	eb 53                	jmp    0x5ee20f
5ee1bc:	57                   	push   %edi
5ee1bd:	8b 7d 10             	mov    0x10(%ebp),%edi
5ee1c0:	85 ff                	test   %edi,%edi
5ee1c2:	74 14                	je     0x5ee1d8
5ee1c4:	39 75 0c             	cmp    %esi,0xc(%ebp)
5ee1c7:	72 0f                	jb     0x5ee1d8
5ee1c9:	56                   	push   %esi
5ee1ca:	57                   	push   %edi
5ee1cb:	50                   	push   %eax
5ee1cc:	e8 2f 4d ff ff       	call   0x5e2f00
5ee1d1:	83 c4 0c             	add    $0xc,%esp
5ee1d4:	33 c0                	xor    %eax,%eax
5ee1d6:	eb 36                	jmp    0x5ee20e
5ee1d8:	ff 75 0c             	push   0xc(%ebp)
5ee1db:	6a 00                	push   $0x0
5ee1dd:	50                   	push   %eax
5ee1de:	e8 1d 58 ff ff       	call   0x5e3a00
5ee1e3:	83 c4 0c             	add    $0xc,%esp
5ee1e6:	85 ff                	test   %edi,%edi
5ee1e8:	75 09                	jne    0x5ee1f3
5ee1ea:	e8 0a ee ff ff       	call   0x5ecff9
5ee1ef:	6a 16                	push   $0x16
5ee1f1:	eb 0c                	jmp    0x5ee1ff
5ee1f3:	39 75 0c             	cmp    %esi,0xc(%ebp)
5ee1f6:	73 13                	jae    0x5ee20b
5ee1f8:	e8 fc ed ff ff       	call   0x5ecff9
5ee1fd:	6a 22                	push   $0x22
5ee1ff:	5e                   	pop    %esi
5ee200:	89 30                	mov    %esi,(%eax)
5ee202:	e8 18 ed ff ff       	call   0x5ecf1f
5ee207:	8b c6                	mov    %esi,%eax
5ee209:	eb 03                	jmp    0x5ee20e
5ee20b:	6a 16                	push   $0x16
5ee20d:	58                   	pop    %eax
5ee20e:	5f                   	pop    %edi
5ee20f:	5e                   	pop    %esi
5ee210:	5d                   	pop    %ebp
5ee211:	c3                   	ret
5ee212:	8b ff                	mov    %edi,%edi
5ee214:	55                   	push   %ebp
5ee215:	8b ec                	mov    %esp,%ebp
5ee217:	8b 55 08             	mov    0x8(%ebp),%edx
5ee21a:	2b 55 10             	sub    0x10(%ebp),%edx
5ee21d:	53                   	push   %ebx