421067:	83 c4 04             	add    $0x4,%esp
42106a:	55                   	push   %ebp
42106b:	8b 6b 04             	mov    0x4(%ebx),%ebp
42106e:	89 6c 24 04          	mov    %ebp,0x4(%esp)
421072:	8b ec                	mov    %esp,%ebp
421074:	81 ec 88 00 00 00    	sub    $0x88,%esp
42107a:	a1 14 30 43 00       	mov    0x433014,%eax
42107f:	33 c5                	xor    %ebp,%eax
421081:	89 45 fc             	mov    %eax,-0x4(%ebp)
421084:	8b 43 10             	mov    0x10(%ebx),%eax
421087:	56                   	push   %esi
421088:	8b 73 0c             	mov    0xc(%ebx),%esi
42108b:	57                   	push   %edi
42108c:	0f b7 08             	movzwl (%eax),%ecx
42108f:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
421095:	8b 06                	mov    (%esi),%eax
421097:	83 e8 01             	sub    $0x1,%eax
42109a:	74 29                	je     0x4210c5
42109c:	83 e8 01             	sub    $0x1,%eax
42109f:	74 20                	je     0x4210c1
4210a1:	83 e8 01             	sub    $0x1,%eax
4210a4:	74 17                	je     0x4210bd
4210a6:	83 e8 01             	sub    $0x1,%eax
4210a9:	74 0e                	je     0x4210b9
4210ab:	83 e8 01             	sub    $0x1,%eax
4210ae:	74 15                	je     0x4210c5
4210b0:	83 e8 03             	sub    $0x3,%eax
4210b3:	75 6c                	jne    0x421121
4210b5:	6a 10                	push   $0x10
4210b7:	eb 0e                	jmp    0x4210c7
4210b9:	6a 12                	push   $0x12
4210bb:	eb 0a                	jmp    0x4210c7
4210bd:	6a 11                	push   $0x11
4210bf:	eb 06                	jmp    0x4210c7
4210c1:	6a 04                	push   $0x4
4210c3:	eb 02                	jmp    0x4210c7
4210c5:	6a 08                	push   $0x8
4210c7:	5f                   	pop    %edi
4210c8:	51                   	push   %ecx
4210c9:	8d 46 18             	lea    0x18(%esi),%eax
4210cc:	50                   	push   %eax
4210cd:	57                   	push   %edi
4210ce:	e8 2a 41 ff ff       	call   0x4151fd
4210d3:	83 c4 0c             	add    $0xc,%esp
4210d6:	85 c0                	test   %eax,%eax
4210d8:	75 47                	jne    0x421121
4210da:	8b 4b 08             	mov    0x8(%ebx),%ecx
4210dd:	83 f9 10             	cmp    $0x10,%ecx
4210e0:	74 10                	je     0x4210f2
4210e2:	83 f9 16             	cmp    $0x16,%ecx
4210e5:	74 0b                	je     0x4210f2
4210e7:	83 f9 1d             	cmp    $0x1d,%ecx
4210ea:	74 06                	je     0x4210f2
4210ec:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
4210f0:	eb 12                	jmp    0x421104
4210f2:	8b 45 c0             	mov    -0x40(%ebp),%eax
4210f5:	dd 46 10             	fldl   0x10(%esi)
4210f8:	83 e0 e3             	and    $0xffffffe3,%eax
4210fb:	83 c8 03             	or     $0x3,%eax
4210fe:	dd 5d b0             	fstpl  -0x50(%ebp)
421101:	89 45 c0             	mov    %eax,-0x40(%ebp)
421104:	8d 46 18             	lea    0x18(%esi),%eax
421107:	50                   	push   %eax
421108:	8d 46 08             	lea    0x8(%esi),%eax
42110b:	50                   	push   %eax
42110c:	51                   	push   %ecx
42110d:	57                   	push   %edi
42110e:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
421114:	50                   	push   %eax
421115:	8d 45 80             	lea    -0x80(%ebp),%eax
421118:	50                   	push   %eax
421119:	e8 ca 42 ff ff       	call   0x4153e8
42111e:	83 c4 18             	add    $0x18,%esp
421121:	68 ff ff 00 00       	push   $0xffff
421126:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
42112c:	e8 8d 48 ff ff       	call   0x4159be
421131:	83 3e 08             	cmpl   $0x8,(%esi)
421134:	59                   	pop    %ecx
421135:	59                   	pop    %ecx
421136:	74 14                	je     0x42114c
421138:	e8 25 eb fe ff       	call   0x40fc62
42113d:	84 c0                	test   %al,%al
42113f:	74 0b                	je     0x42114c
421141:	56                   	push   %esi
421142:	e8 42 eb fe ff       	call   0x40fc89
421147:	59                   	pop    %ecx
421148:	85 c0                	test   %eax,%eax
42114a:	75 08                	jne    0x421154
42114c:	ff 36                	push   (%esi)
42114e:	e8 ae 45 ff ff       	call   0x415701
421153:	59                   	pop    %ecx
421154:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421157:	5f                   	pop    %edi
421158:	33 cd                	xor    %ebp,%ecx
42115a:	5e                   	pop    %esi
42115b:	e8 ac 62 fe ff       	call   0x40740c
421160:	8b e5                	mov    %ebp,%esp
421162:	5d                   	pop    %ebp
421163:	8b e3                	mov    %ebx,%esp
421165:	5b                   	pop    %ebx
421166:	c3                   	ret
421167:	8b ff                	mov    %edi,%edi
421169:	55                   	push   %ebp
42116a:	8b ec                	mov    %esp,%ebp
42116c:	51                   	push   %ecx
42116d:	51                   	push   %ecx
42116e:	dd 45 08             	fldl   0x8(%ebp)
421171:	d9 fc                	frndint
421173:	dd 5d f8             	fstpl  -0x8(%ebp)
421176:	dd 45 f8             	fldl   -0x8(%ebp)
421179:	c9                   	leave
42117a:	c3                   	ret
42117b:	cc                   	int3
42117c:	cc                   	int3
42117d:	cc                   	int3
42117e:	cc                   	int3
42117f:	cc                   	int3
421180:	8b ff                	mov    %edi,%edi
421182:	55                   	push   %ebp
421183:	8b ec                	mov    %esp,%ebp
421185:	81 ec 18 01 00 00    	sub    $0x118,%esp
42118b:	a1 14 30 43 00       	mov    0x433014,%eax
421190:	33 c5                	xor    %ebp,%eax
421192:	89 45 fc             	mov    %eax,-0x4(%ebp)
421195:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421198:	53                   	push   %ebx
421199:	8b 5d 14             	mov    0x14(%ebp),%ebx
42119c:	56                   	push   %esi
42119d:	8b 75 08             	mov    0x8(%ebp),%esi
4211a0:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
4211a6:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
4211ac:	57                   	push   %edi
4211ad:	8b 7d 10             	mov    0x10(%ebp),%edi
4211b0:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
4211b6:	85 f6                	test   %esi,%esi
4211b8:	75 25                	jne    0x4211df
4211ba:	85 c9                	test   %ecx,%ecx
4211bc:	74 21                	je     0x4211df
4211be:	e8 38 dc fe ff       	call   0x40edfb
4211c3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4211c9:	e8 b3 be fe ff       	call   0x40d081
4211ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4211d1:	5f                   	pop    %edi
4211d2:	5e                   	pop    %esi
4211d3:	33 cd                	xor    %ebp,%ecx
4211d5:	5b                   	pop    %ebx
4211d6:	e8 31 62 fe ff       	call   0x40740c
4211db:	8b e5                	mov    %ebp,%esp
4211dd:	5d                   	pop    %ebp
4211de:	c3                   	ret
4211df:	85 ff                	test   %edi,%edi
4211e1:	74 db                	je     0x4211be
4211e3:	85 db                	test   %ebx,%ebx
4211e5:	74 d7                	je     0x4211be
4211e7:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
4211ee:	00 00 00
4211f1:	83 f9 02             	cmp    $0x2,%ecx
4211f4:	72 d8                	jb     0x4211ce
4211f6:	49                   	dec    %ecx
4211f7:	0f af cf             	imul   %edi,%ecx
4211fa:	03 ce                	add    %esi,%ecx
4211fc:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
421202:	8b c1                	mov    %ecx,%eax
421204:	33 d2                	xor    %edx,%edx
421206:	2b c6                	sub    %esi,%eax
421208:	f7 f7                	div    %edi
42120a:	40                   	inc    %eax
42120b:	83 f8 08             	cmp    $0x8,%eax
42120e:	0f 87 b6 00 00 00    	ja     0x4212ca
421214:	3b ce                	cmp    %esi,%ecx
421216:	0f 86 27 04 00 00    	jbe    0x421643
42121c:	8d 14 37             	lea    (%edi,%esi,1),%edx
42121f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
421225:	8b c6                	mov    %esi,%eax
421227:	8b f2                	mov    %edx,%esi
421229:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42122f:	3b f1                	cmp    %ecx,%esi
421231:	77 2f                	ja     0x421262
421233:	50                   	push   %eax
421234:	56                   	push   %esi
421235:	8b cb                	mov    %ebx,%ecx
421237:	ff 15 54 41 42 00    	call   *0x424154
42123d:	ff d3                	call   *%ebx
42123f:	83 c4 08             	add    $0x8,%esp
421242:	85 c0                	test   %eax,%eax
421244:	7e 0a                	jle    0x421250
421246:	8b c6                	mov    %esi,%eax
421248:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42124e:	eb 06                	jmp    0x421256
421250:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
421256:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
42125c:	03 f7                	add    %edi,%esi
42125e:	3b f1                	cmp    %ecx,%esi
421260:	76 d1                	jbe    0x421233
421262:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
421268:	8b d1                	mov    %ecx,%edx
42126a:	3b c1                	cmp    %ecx,%eax
42126c:	74 3b                	je     0x4212a9
42126e:	2b c1                	sub    %ecx,%eax
421270:	8b df                	mov    %edi,%ebx
421272:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
421278:	eb 06                	jmp    0x421280
42127a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
421280:	8a 0c 10             	mov    (%eax,%edx,1),%cl
421283:	8d 52 01             	lea    0x1(%edx),%edx
421286:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
42128c:	8a 42 ff             	mov    -0x1(%edx),%al
42128f:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
421293:	8b c6                	mov    %esi,%eax
421295:	88 4a ff             	mov    %cl,-0x1(%edx)
421298:	83 eb 01             	sub    $0x1,%ebx
42129b:	75 e3                	jne    0x421280
42129d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
4212a3:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
4212a9:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
4212af:	2b cf                	sub    %edi,%ecx
4212b1:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
4212b7:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
4212bd:	3b ce                	cmp    %esi,%ecx
4212bf:	0f 87 60 ff ff ff    	ja     0x421225
4212c5:	e9 79 03 00 00       	jmp    0x421643
4212ca:	d1 e8                	shr    $1,%eax
4212cc:	8b cb                	mov    %ebx,%ecx
4212ce:	0f af c7             	imul   %edi,%eax
4212d1:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4212d7:	8d 3c 30             	lea    (%eax,%esi,1),%edi
4212da:	57                   	push   %edi
4212db:	56                   	push   %esi
4212dc:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
4212e2:	ff 15 54 41 42 00    	call   *0x424154
4212e8:	ff d3                	call   *%ebx
4212ea:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4212f0:	83 c4 08             	add    $0x8,%esp
4212f3:	85 c0                	test   %eax,%eax
4212f5:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4212fb:	7e 4d                	jle    0x42134a
4212fd:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
421303:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
421309:	3b c7                	cmp    %edi,%eax
42130b:	74 3d                	je     0x42134a
42130d:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
421313:	8b f7                	mov    %edi,%esi
421315:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
42131b:	eb 03                	jmp    0x421320
42131d:	8d 49 00             	lea    0x0(%ecx),%ecx
421320:	8a 06                	mov    (%esi),%al
421322:	8b d6                	mov    %esi,%edx
421324:	2b d7                	sub    %edi,%edx
421326:	8a 0a                	mov    (%edx),%cl
421328:	88 02                	mov    %al,(%edx)
42132a:	88 0e                	mov    %cl,(%esi)
42132c:	46                   	inc    %esi
42132d:	83 eb 01             	sub    $0x1,%ebx
421330:	75 ee                	jne    0x421320
421332:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
421338:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42133e:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
421344:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
42134a:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
421350:	8b cb                	mov    %ebx,%ecx
421352:	50                   	push   %eax
421353:	ff 15 54 41 42 00    	call   *0x424154
421359:	ff d3                	call   *%ebx
42135b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
421361:	83 c4 08             	add    $0x8,%esp
421364:	85 c0                	test   %eax,%eax
421366:	7e 49                	jle    0x4213b1
421368:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
42136e:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
421374:	8b f2                	mov    %edx,%esi
421376:	3b c2                	cmp    %edx,%eax
421378:	74 37                	je     0x4213b1
42137a:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
421380:	2b c2                	sub    %edx,%eax
421382:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
421388:	8b d0                	mov    %eax,%edx
42138a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
421390:	8a 06                	mov    (%esi),%al
421392:	8d 76 01             	lea    0x1(%esi),%esi
421395:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
421399:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
42139d:	88 4e ff             	mov    %cl,-0x1(%esi)
4213a0:	83 eb 01             	sub    $0x1,%ebx
4213a3:	75 eb                	jne    0x421390
4213a5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
4213ab:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4213b1:	52                   	push   %edx
4213b2:	57                   	push   %edi
4213b3:	8b cb                	mov    %ebx,%ecx
4213b5:	ff 15 54 41 42 00    	call   *0x424154
4213bb:	ff d3                	call   *%ebx
4213bd:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4213c3:	83 c4 08             	add    $0x8,%esp
4213c6:	85 c0                	test   %eax,%eax
4213c8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4213ce:	7e 35                	jle    0x421405
4213d0:	8b d8                	mov    %eax,%ebx
4213d2:	8b f2                	mov    %edx,%esi
4213d4:	3b fa                	cmp    %edx,%edi
4213d6:	74 2d                	je     0x421405
4213d8:	8b c7                	mov    %edi,%eax
4213da:	2b c2                	sub    %edx,%eax
4213dc:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
4213e2:	8b d0                	mov    %eax,%edx
4213e4:	8a 06                	mov    (%esi),%al
4213e6:	8d 76 01             	lea    0x1(%esi),%esi
4213e9:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
4213ed:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
4213f1:	88 4e ff             	mov    %cl,-0x1(%esi)
4213f4:	83 eb 01             	sub    $0x1,%ebx
4213f7:	75 eb                	jne    0x4213e4
4213f9:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4213ff:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
421405:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
42140b:	8b da                	mov    %edx,%ebx
42140d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
421413:	3b fe                	cmp    %esi,%edi
421415:	76 3e                	jbe    0x421455
421417:	eb 07                	jmp    0x421420
421419:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
421420:	03 f0                	add    %eax,%esi
421422:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
421428:	3b f7                	cmp    %edi,%esi
42142a:	73 23                	jae    0x42144f
42142c:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
421432:	57                   	push   %edi
421433:	56                   	push   %esi
421434:	ff 15 54 41 42 00    	call   *0x424154
42143a:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
421440:	83 c4 08             	add    $0x8,%esp
421443:	85 c0                	test   %eax,%eax
421445:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42144b:	7e d3                	jle    0x421420
42144d:	eb 42                	jmp    0x421491
42144f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
421455:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42145b:	eb 03                	jmp    0x421460
42145d:	8d 49 00             	lea    0x0(%ecx),%ecx
421460:	03 f0                	add    %eax,%esi
421462:	3b f2                	cmp    %edx,%esi
421464:	77 1f                	ja     0x421485
421466:	57                   	push   %edi
421467:	56                   	push   %esi
421468:	8b cb                	mov    %ebx,%ecx
42146a:	ff 15 54 41 42 00    	call   *0x424154
421470:	ff d3                	call   *%ebx
421472:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
421478:	83 c4 08             	add    $0x8,%esp
42147b:	85 c0                	test   %eax,%eax
42147d:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax