427fb7:	c3                   	ret
427fb8:	8b 45 0c             	mov    0xc(%ebp),%eax
427fbb:	8b 40 0c             	mov    0xc(%eax),%eax
427fbe:	90                   	nop
427fbf:	c1 e8 0c             	shr    $0xc,%eax
427fc2:	a8 01                	test   $0x1,%al
427fc4:	74 0c                	je     0x427fd2
427fc6:	8b 45 10             	mov    0x10(%ebp),%eax
427fc9:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
427fd0:	eb d1                	jmp    0x427fa3
427fd2:	8b 45 0c             	mov    0xc(%ebp),%eax
427fd5:	8b 40 0c             	mov    0xc(%eax),%eax
427fd8:	90                   	nop
427fd9:	a8 01                	test   $0x1,%al
427fdb:	74 28                	je     0x428005
427fdd:	ff 75 0c             	push   0xc(%ebp)
427fe0:	e8 63 01 00 00       	call   0x428148
427fe5:	59                   	pop    %ecx
427fe6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
427fe9:	83 61 08 00          	andl   $0x0,0x8(%ecx)
427fed:	84 c0                	test   %al,%al
427fef:	8b 45 0c             	mov    0xc(%ebp),%eax
427ff2:	74 b6                	je     0x427faa
427ff4:	8b 48 04             	mov    0x4(%eax),%ecx
427ff7:	89 08                	mov    %ecx,(%eax)
427ff9:	8b 45 0c             	mov    0xc(%ebp),%eax
427ffc:	6a fe                	push   $0xfffffffe
427ffe:	59                   	pop    %ecx
427fff:	83 c0 0c             	add    $0xc,%eax
428002:	f0 21 08             	lock and %ecx,(%eax)
428005:	8b 45 0c             	mov    0xc(%ebp),%eax
428008:	6a 02                	push   $0x2
42800a:	59                   	pop    %ecx
42800b:	83 c0 0c             	add    $0xc,%eax
42800e:	f0 09 08             	lock or %ecx,(%eax)
428011:	8b 45 0c             	mov    0xc(%ebp),%eax
428014:	6a f7                	push   $0xfffffff7
428016:	59                   	pop    %ecx
428017:	83 c0 0c             	add    $0xc,%eax
42801a:	f0 21 08             	lock and %ecx,(%eax)
42801d:	8b 45 0c             	mov    0xc(%ebp),%eax
428020:	83 60 08 00          	andl   $0x0,0x8(%eax)
428024:	8b 45 0c             	mov    0xc(%ebp),%eax
428027:	8b 40 0c             	mov    0xc(%eax),%eax
42802a:	90                   	nop
42802b:	a9 c0 04 00 00       	test   $0x4c0,%eax
428030:	75 16                	jne    0x428048
428032:	ff 75 0c             	push   0xc(%ebp)
428035:	e8 69 5b ff ff       	call   0x41dba3
42803a:	59                   	pop    %ecx
42803b:	84 c0                	test   %al,%al
42803d:	75 09                	jne    0x428048
42803f:	ff 75 0c             	push   0xc(%ebp)
428042:	e8 82 1b 00 00       	call   0x429bc9
428047:	59                   	pop    %ecx
428048:	53                   	push   %ebx
428049:	ff 75 10             	push   0x10(%ebp)
42804c:	8b 5d 08             	mov    0x8(%ebp),%ebx
42804f:	ff 75 0c             	push   0xc(%ebp)
428052:	53                   	push   %ebx
428053:	e8 1e 00 00 00       	call   0x428076
428058:	83 c4 0c             	add    $0xc,%esp
42805b:	84 c0                	test   %al,%al
42805d:	75 11                	jne    0x428070
42805f:	8b 45 0c             	mov    0xc(%ebp),%eax
428062:	6a 10                	push   $0x10
428064:	59                   	pop    %ecx
428065:	83 c0 0c             	add    $0xc,%eax
428068:	f0 09 08             	lock or %ecx,(%eax)
42806b:	83 c8 ff             	or     $0xffffffff,%eax
42806e:	eb 03                	jmp    0x428073
428070:	0f b6 c3             	movzbl %bl,%eax
428073:	5b                   	pop    %ebx
428074:	5d                   	pop    %ebp
428075:	c3                   	ret
428076:	8b ff                	mov    %edi,%edi
428078:	55                   	push   %ebp
428079:	8b ec                	mov    %esp,%ebp
42807b:	56                   	push   %esi
42807c:	57                   	push   %edi
42807d:	ff 75 0c             	push   0xc(%ebp)
428080:	e8 bb 57 ff ff       	call   0x41d840
428085:	59                   	pop    %ecx
428086:	8b 4d 0c             	mov    0xc(%ebp),%ecx
428089:	8b d0                	mov    %eax,%edx
42808b:	8b 49 0c             	mov    0xc(%ecx),%ecx
42808e:	90                   	nop
42808f:	f6 c1 c0             	test   $0xc0,%cl
428092:	0f 84 93 00 00 00    	je     0x42812b
428098:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42809b:	33 ff                	xor    %edi,%edi
42809d:	8b 41 04             	mov    0x4(%ecx),%eax
4280a0:	8b 31                	mov    (%ecx),%esi
4280a2:	2b f0                	sub    %eax,%esi
4280a4:	40                   	inc    %eax
4280a5:	89 01                	mov    %eax,(%ecx)
4280a7:	8b 45 0c             	mov    0xc(%ebp),%eax
4280aa:	8b 48 18             	mov    0x18(%eax),%ecx
4280ad:	49                   	dec    %ecx
4280ae:	89 48 08             	mov    %ecx,0x8(%eax)
4280b1:	85 f6                	test   %esi,%esi
4280b3:	7e 27                	jle    0x4280dc
4280b5:	ff 75 10             	push   0x10(%ebp)
4280b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4280bb:	56                   	push   %esi
4280bc:	ff 70 04             	push   0x4(%eax)
4280bf:	52                   	push   %edx
4280c0:	e8 d7 17 00 00       	call   0x42989c
4280c5:	83 c4 10             	add    $0x10,%esp
4280c8:	8b f8                	mov    %eax,%edi
4280ca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4280cd:	3b fe                	cmp    %esi,%edi
4280cf:	8a 45 08             	mov    0x8(%ebp),%al
4280d2:	8b 49 04             	mov    0x4(%ecx),%ecx
4280d5:	88 01                	mov    %al,(%ecx)
4280d7:	0f 94 c0             	sete   %al
4280da:	eb 68                	jmp    0x428144
4280dc:	83 fa ff             	cmp    $0xffffffff,%edx
4280df:	74 1b                	je     0x4280fc
4280e1:	83 fa fe             	cmp    $0xfffffffe,%edx
4280e4:	74 16                	je     0x4280fc
4280e6:	8b c2                	mov    %edx,%eax
4280e8:	8b ca                	mov    %edx,%ecx
4280ea:	83 e0 3f             	and    $0x3f,%eax
4280ed:	c1 f9 06             	sar    $0x6,%ecx
4280f0:	6b c0 38             	imul   $0x38,%eax,%eax
4280f3:	03 04 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%eax
4280fa:	eb 05                	jmp    0x428101
4280fc:	b8 d0 d2 43 00       	mov    $0x43d2d0,%eax
428101:	f6 40 28 20          	testb  $0x20,0x28(%eax)
428105:	74 c3                	je     0x4280ca
428107:	6a 02                	push   $0x2
428109:	57                   	push   %edi
42810a:	57                   	push   %edi
42810b:	52                   	push   %edx
42810c:	e8 8b 98 ff ff       	call   0x42199c
428111:	23 c2                	and    %edx,%eax
428113:	83 c4 10             	add    $0x10,%esp
428116:	83 f8 ff             	cmp    $0xffffffff,%eax
428119:	75 af                	jne    0x4280ca
42811b:	8b 45 0c             	mov    0xc(%ebp),%eax
42811e:	6a 10                	push   $0x10
428120:	59                   	pop    %ecx
428121:	83 c0 0c             	add    $0xc,%eax
428124:	f0 09 08             	lock or %ecx,(%eax)
428127:	b0 01                	mov    $0x1,%al
428129:	eb 19                	jmp    0x428144
42812b:	ff 75 10             	push   0x10(%ebp)
42812e:	8d 45 08             	lea    0x8(%ebp),%eax
428131:	6a 01                	push   $0x1
428133:	50                   	push   %eax
428134:	52                   	push   %edx
428135:	e8 62 17 00 00       	call   0x42989c
42813a:	83 c4 10             	add    $0x10,%esp
42813d:	48                   	dec    %eax
42813e:	f7 d8                	neg    %eax
428140:	1a c0                	sbb    %al,%al
428142:	fe c0                	inc    %al
428144:	5f                   	pop    %edi
428145:	5e                   	pop    %esi
428146:	5d                   	pop    %ebp
428147:	c3                   	ret
428148:	8b ff                	mov    %edi,%edi
42814a:	55                   	push   %ebp
42814b:	8b ec                	mov    %esp,%ebp
42814d:	8b 45 08             	mov    0x8(%ebp),%eax
428150:	83 ec 10             	sub    $0x10,%esp
428153:	8b 40 0c             	mov    0xc(%eax),%eax
428156:	90                   	nop
428157:	c1 e8 03             	shr    $0x3,%eax
42815a:	a8 01                	test   $0x1,%al
42815c:	74 04                	je     0x428162
42815e:	b0 01                	mov    $0x1,%al
428160:	c9                   	leave
428161:	c3                   	ret
428162:	8b 45 08             	mov    0x8(%ebp),%eax
428165:	53                   	push   %ebx
428166:	56                   	push   %esi
428167:	8b 40 0c             	mov    0xc(%eax),%eax
42816a:	90                   	nop
42816b:	a8 c0                	test   $0xc0,%al
42816d:	8b 45 08             	mov    0x8(%ebp),%eax
428170:	74 07                	je     0x428179
428172:	8b 08                	mov    (%eax),%ecx
428174:	3b 48 04             	cmp    0x4(%eax),%ecx
428177:	74 4e                	je     0x4281c7
428179:	8b 40 10             	mov    0x10(%eax),%eax
42817c:	90                   	nop
42817d:	50                   	push   %eax
42817e:	e8 19 8a ff ff       	call   0x420b9c
428183:	8b f0                	mov    %eax,%esi
428185:	59                   	pop    %ecx
428186:	83 fe ff             	cmp    $0xffffffff,%esi
428189:	74 3c                	je     0x4281c7
42818b:	33 db                	xor    %ebx,%ebx
42818d:	8d 45 f8             	lea    -0x8(%ebp),%eax
428190:	43                   	inc    %ebx
428191:	53                   	push   %ebx
428192:	50                   	push   %eax
428193:	6a 00                	push   $0x0
428195:	6a 00                	push   $0x0
428197:	56                   	push   %esi
428198:	ff 15 74 10 43 00    	call   *0x431074
42819e:	85 c0                	test   %eax,%eax
4281a0:	74 25                	je     0x4281c7
4281a2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4281a5:	50                   	push   %eax
4281a6:	56                   	push   %esi
4281a7:	ff 15 68 11 43 00    	call   *0x431168
4281ad:	85 c0                	test   %eax,%eax
4281af:	74 16                	je     0x4281c7
4281b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4281b4:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4281b7:	75 08                	jne    0x4281c1
4281b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4281bc:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4281bf:	74 02                	je     0x4281c3
4281c1:	32 db                	xor    %bl,%bl
4281c3:	8a c3                	mov    %bl,%al
4281c5:	eb 02                	jmp    0x4281c9
4281c7:	32 c0                	xor    %al,%al
4281c9:	5e                   	pop    %esi
4281ca:	5b                   	pop    %ebx
4281cb:	c9                   	leave
4281cc:	c3                   	ret
4281cd:	8b ff                	mov    %edi,%edi
4281cf:	55                   	push   %ebp
4281d0:	8b ec                	mov    %esp,%ebp
4281d2:	5d                   	pop    %ebp
4281d3:	e9 a8 fd ff ff       	jmp    0x427f80
4281d8:	8b ff                	mov    %edi,%edi
4281da:	55                   	push   %ebp
4281db:	8b ec                	mov    %esp,%ebp
4281dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4281e0:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4281e3:	75 0d                	jne    0x4281f2
4281e5:	e8 87 44 ff ff       	call   0x41c671
4281ea:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4281f0:	eb 38                	jmp    0x42822a
4281f2:	85 c9                	test   %ecx,%ecx
4281f4:	78 24                	js     0x42821a
4281f6:	3b 0d 00 fa 43 00    	cmp    0x43fa00,%ecx
4281fc:	73 1c                	jae    0x42821a
4281fe:	8b c1                	mov    %ecx,%eax
428200:	83 e1 3f             	and    $0x3f,%ecx
428203:	c1 e8 06             	shr    $0x6,%eax
428206:	6b c9 38             	imul   $0x38,%ecx,%ecx
428209:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
428210:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
428215:	83 e0 40             	and    $0x40,%eax
428218:	5d                   	pop    %ebp
428219:	c3                   	ret
42821a:	e8 52 44 ff ff       	call   0x41c671
42821f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
428225:	e8 c4 51 fe ff       	call   0x40d3ee
42822a:	33 c0                	xor    %eax,%eax
42822c:	5d                   	pop    %ebp
42822d:	c3                   	ret
42822e:	8b ff                	mov    %edi,%edi
428230:	55                   	push   %ebp
428231:	8b ec                	mov    %esp,%ebp
428233:	ff 75 14             	push   0x14(%ebp)
428236:	ff 75 10             	push   0x10(%ebp)
428239:	ff 75 0c             	push   0xc(%ebp)
42823c:	ff 75 08             	push   0x8(%ebp)
42823f:	ff 15 48 10 43 00    	call   *0x431048
428245:	5d                   	pop    %ebp
428246:	c3                   	ret
428247:	8b ff                	mov    %edi,%edi
428249:	55                   	push   %ebp
42824a:	8b ec                	mov    %esp,%ebp
42824c:	53                   	push   %ebx
42824d:	56                   	push   %esi
42824e:	57                   	push   %edi
42824f:	33 ff                	xor    %edi,%edi
428251:	bb e3 00 00 00       	mov    $0xe3,%ebx
428256:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
428259:	99                   	cltd
42825a:	2b c2                	sub    %edx,%eax
42825c:	8b f0                	mov    %eax,%esi
42825e:	d1 fe                	sar    $1,%esi
428260:	6a 55                	push   $0x55
428262:	ff 34 f5 68 68 43 00 	push   0x436868(,%esi,8)
428269:	ff 75 08             	push   0x8(%ebp)
42826c:	e8 91 02 00 00       	call   0x428502
428271:	83 c4 0c             	add    $0xc,%esp
428274:	85 c0                	test   %eax,%eax
428276:	74 13                	je     0x42828b
428278:	79 05                	jns    0x42827f
42827a:	8d 5e ff             	lea    -0x1(%esi),%ebx
42827d:	eb 03                	jmp    0x428282
42827f:	8d 7e 01             	lea    0x1(%esi),%edi
428282:	3b fb                	cmp    %ebx,%edi
428284:	7e d0                	jle    0x428256
428286:	83 c8 ff             	or     $0xffffffff,%eax
428289:	eb 07                	jmp    0x428292
42828b:	8b 04 f5 6c 68 43 00 	mov    0x43686c(,%esi,8),%eax
428292:	5f                   	pop    %edi
428293:	5e                   	pop    %esi
428294:	5b                   	pop    %ebx
428295:	5d                   	pop    %ebp
428296:	c3                   	ret
428297:	8b ff                	mov    %edi,%edi
428299:	55                   	push   %ebp
42829a:	8b ec                	mov    %esp,%ebp
42829c:	8b 4d 08             	mov    0x8(%ebp),%ecx
42829f:	53                   	push   %ebx
4282a0:	56                   	push   %esi
4282a1:	57                   	push   %edi
4282a2:	85 c9                	test   %ecx,%ecx
4282a4:	74 4b                	je     0x4282f1
4282a6:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4282ac:	74 43                	je     0x4282f1
4282ae:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4282b4:	74 3b                	je     0x4282f1
4282b6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4282ba:	8b 75 10             	mov    0x10(%ebp),%esi
4282bd:	75 04                	jne    0x4282c3
4282bf:	85 f6                	test   %esi,%esi
4282c1:	7f 2e                	jg     0x4282f1
4282c3:	85 f6                	test   %esi,%esi
4282c5:	78 2a                	js     0x4282f1
4282c7:	33 ff                	xor    %edi,%edi
4282c9:	bb e3 00 00 00       	mov    $0xe3,%ebx
4282ce:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4282d1:	99                   	cltd
4282d2:	2b c2                	sub    %edx,%eax
4282d4:	8b d1                	mov    %ecx,%edx
4282d6:	d1 f8                	sar    $1,%eax
4282d8:	2b 14 c5 48 57 43 00 	sub    0x435748(,%eax,8),%edx
4282df:	74 17                	je     0x4282f8
4282e1:	85 d2                	test   %edx,%edx
4282e3:	79 05                	jns    0x4282ea
4282e5:	8d 58 ff             	lea    -0x1(%eax),%ebx
4282e8:	eb 03                	jmp    0x4282ed
4282ea:	8d 78 01             	lea    0x1(%eax),%edi
4282ed:	3b fb                	cmp    %ebx,%edi
4282ef:	7e dd                	jle    0x4282ce
4282f1:	33 c0                	xor    %eax,%eax
4282f3:	5f                   	pop    %edi
4282f4:	5e                   	pop    %esi
4282f5:	5b                   	pop    %ebx
4282f6:	5d                   	pop    %ebp
4282f7:	c3                   	ret
4282f8:	85 c0                	test   %eax,%eax
4282fa:	78 f5                	js     0x4282f1
4282fc:	8b 1c c5 4c 57 43 00 	mov    0x43574c(,%eax,8),%ebx
428303:	6a 55                	push   $0x55
428305:	53                   	push   %ebx
428306:	e8 9b 44 ff ff       	call   0x41c7a6