42a0de:	f7 d8                	neg    %eax
42a0e0:	6a 00                	push   $0x0
42a0e2:	1b c0                	sbb    %eax,%eax
42a0e4:	83 e0 10             	and    $0x10,%eax
42a0e7:	0b d0                	or     %eax,%edx
42a0e9:	8b c1                	mov    %ecx,%eax
42a0eb:	83 e0 04             	and    $0x4,%eax
42a0ee:	f7 d8                	neg    %eax
42a0f0:	1b c0                	sbb    %eax,%eax
42a0f2:	83 e0 08             	and    $0x8,%eax
42a0f5:	0b d0                	or     %eax,%edx
42a0f7:	8b c1                	mov    %ecx,%eax
42a0f9:	83 e0 08             	and    $0x8,%eax
42a0fc:	f7 d8                	neg    %eax
42a0fe:	1b c0                	sbb    %eax,%eax
42a100:	83 e0 04             	and    $0x4,%eax
42a103:	0b d0                	or     %eax,%edx
42a105:	f7 c1 10 00 00 00    	test   $0x10,%ecx
42a10b:	58                   	pop    %eax
42a10c:	0f 95 c0             	setne  %al
42a10f:	83 e1 20             	and    $0x20,%ecx
42a112:	0b d0                	or     %eax,%edx
42a114:	f7 d9                	neg    %ecx
42a116:	6a 07                	push   $0x7
42a118:	1b c9                	sbb    %ecx,%ecx
42a11a:	33 c0                	xor    %eax,%eax
42a11c:	83 e1 02             	and    $0x2,%ecx
42a11f:	0b d1                	or     %ecx,%edx
42a121:	59                   	pop    %ecx
42a122:	f3 ab                	rep stos %eax,%es:(%edi)
42a124:	d9 75 e0             	fnstenv -0x20(%ebp)
42a127:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42a12a:	83 e2 3f             	and    $0x3f,%edx
42a12d:	83 e0 c0             	and    $0xffffffc0,%eax
42a130:	0b c2                	or     %edx,%eax
42a132:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42a135:	d9 65 e0             	fldenv -0x20(%ebp)
42a138:	c1 ee 18             	shr    $0x18,%esi
42a13b:	83 e6 3f             	and    $0x3f,%esi
42a13e:	8b ce                	mov    %esi,%ecx
42a140:	8b c6                	mov    %esi,%eax
42a142:	83 e1 01             	and    $0x1,%ecx
42a145:	f7 d9                	neg    %ecx
42a147:	6a 00                	push   $0x0
42a149:	1b c9                	sbb    %ecx,%ecx
42a14b:	83 e0 02             	and    $0x2,%eax
42a14e:	83 e1 20             	and    $0x20,%ecx
42a151:	f7 d8                	neg    %eax
42a153:	1b c0                	sbb    %eax,%eax
42a155:	83 e0 10             	and    $0x10,%eax
42a158:	0b c8                	or     %eax,%ecx
42a15a:	8b c6                	mov    %esi,%eax
42a15c:	83 e0 04             	and    $0x4,%eax
42a15f:	f7 d8                	neg    %eax
42a161:	1b c0                	sbb    %eax,%eax
42a163:	83 e0 08             	and    $0x8,%eax
42a166:	0b c8                	or     %eax,%ecx
42a168:	8b c6                	mov    %esi,%eax
42a16a:	83 e0 08             	and    $0x8,%eax
42a16d:	f7 d8                	neg    %eax
42a16f:	1b c0                	sbb    %eax,%eax
42a171:	83 e0 04             	and    $0x4,%eax
42a174:	0b c8                	or     %eax,%ecx
42a176:	f7 c6 10 00 00 00    	test   $0x10,%esi
42a17c:	58                   	pop    %eax
42a17d:	0f 95 c0             	setne  %al
42a180:	0b c8                	or     %eax,%ecx
42a182:	83 e6 20             	and    $0x20,%esi
42a185:	f7 de                	neg    %esi
42a187:	5f                   	pop    %edi
42a188:	1b f6                	sbb    %esi,%esi
42a18a:	83 e6 02             	and    $0x2,%esi
42a18d:	0b ce                	or     %esi,%ecx
42a18f:	83 3d d0 f5 43 00 01 	cmpl   $0x1,0x43f5d0
42a196:	5e                   	pop    %esi
42a197:	7c 16                	jl     0x42a1af
42a199:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
42a19d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42a1a0:	83 e1 3f             	and    $0x3f,%ecx
42a1a3:	83 e0 c0             	and    $0xffffffc0,%eax
42a1a6:	0b c1                	or     %ecx,%eax
42a1a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a1ab:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
42a1af:	c9                   	leave
42a1b0:	c3                   	ret
42a1b1:	8b ff                	mov    %edi,%edi
42a1b3:	55                   	push   %ebp
42a1b4:	8b ec                	mov    %esp,%ebp
42a1b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a1b9:	33 c0                	xor    %eax,%eax
42a1bb:	38 01                	cmp    %al,(%ecx)
42a1bd:	74 0c                	je     0x42a1cb
42a1bf:	3b 45 0c             	cmp    0xc(%ebp),%eax
42a1c2:	74 07                	je     0x42a1cb
42a1c4:	40                   	inc    %eax
42a1c5:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
42a1c9:	75 f4                	jne    0x42a1bf
42a1cb:	5d                   	pop    %ebp
42a1cc:	c3                   	ret
42a1cd:	cc                   	int3
42a1ce:	cc                   	int3
42a1cf:	cc                   	int3
42a1d0:	8b ff                	mov    %edi,%edi
42a1d2:	55                   	push   %ebp
42a1d3:	8b ec                	mov    %esp,%ebp
42a1d5:	81 ec 18 01 00 00    	sub    $0x118,%esp
42a1db:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42a1e0:	33 c5                	xor    %ebp,%eax
42a1e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a1e5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42a1e8:	53                   	push   %ebx
42a1e9:	8b 5d 14             	mov    0x14(%ebp),%ebx
42a1ec:	56                   	push   %esi
42a1ed:	8b 75 08             	mov    0x8(%ebp),%esi
42a1f0:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
42a1f6:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
42a1fc:	57                   	push   %edi
42a1fd:	8b 7d 10             	mov    0x10(%ebp),%edi
42a200:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
42a206:	85 f6                	test   %esi,%esi
42a208:	75 25                	jne    0x42a22f
42a20a:	85 c9                	test   %ecx,%ecx
42a20c:	74 21                	je     0x42a22f
42a20e:	e8 5e 24 ff ff       	call   0x41c671
42a213:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a219:	e8 d0 31 fe ff       	call   0x40d3ee
42a21e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42a221:	5f                   	pop    %edi
42a222:	5e                   	pop    %esi
42a223:	33 cd                	xor    %ebp,%ecx
42a225:	5b                   	pop    %ebx
42a226:	e8 7c fa fd ff       	call   0x409ca7
42a22b:	8b e5                	mov    %ebp,%esp
42a22d:	5d                   	pop    %ebp
42a22e:	c3                   	ret
42a22f:	85 ff                	test   %edi,%edi
42a231:	74 db                	je     0x42a20e
42a233:	85 db                	test   %ebx,%ebx
42a235:	74 d7                	je     0x42a20e
42a237:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
42a23e:	00 00 00
42a241:	83 f9 02             	cmp    $0x2,%ecx
42a244:	72 d8                	jb     0x42a21e
42a246:	49                   	dec    %ecx
42a247:	0f af cf             	imul   %edi,%ecx
42a24a:	03 ce                	add    %esi,%ecx
42a24c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
42a252:	8b c1                	mov    %ecx,%eax
42a254:	33 d2                	xor    %edx,%edx
42a256:	2b c6                	sub    %esi,%eax
42a258:	f7 f7                	div    %edi
42a25a:	40                   	inc    %eax
42a25b:	83 f8 08             	cmp    $0x8,%eax
42a25e:	0f 87 b6 00 00 00    	ja     0x42a31a
42a264:	3b ce                	cmp    %esi,%ecx
42a266:	0f 86 27 04 00 00    	jbe    0x42a693
42a26c:	8d 14 37             	lea    (%edi,%esi,1),%edx
42a26f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
42a275:	8b c6                	mov    %esi,%eax
42a277:	8b f2                	mov    %edx,%esi
42a279:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42a27f:	3b f1                	cmp    %ecx,%esi
42a281:	77 2f                	ja     0x42a2b2
42a283:	50                   	push   %eax
42a284:	56                   	push   %esi
42a285:	8b cb                	mov    %ebx,%ecx
42a287:	ff 15 68 12 43 00    	call   *0x431268
42a28d:	ff d3                	call   *%ebx
42a28f:	83 c4 08             	add    $0x8,%esp
42a292:	85 c0                	test   %eax,%eax
42a294:	7e 0a                	jle    0x42a2a0
42a296:	8b c6                	mov    %esi,%eax
42a298:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42a29e:	eb 06                	jmp    0x42a2a6
42a2a0:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
42a2a6:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
42a2ac:	03 f7                	add    %edi,%esi
42a2ae:	3b f1                	cmp    %ecx,%esi
42a2b0:	76 d1                	jbe    0x42a283
42a2b2:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
42a2b8:	8b d1                	mov    %ecx,%edx
42a2ba:	3b c1                	cmp    %ecx,%eax
42a2bc:	74 3b                	je     0x42a2f9
42a2be:	2b c1                	sub    %ecx,%eax
42a2c0:	8b df                	mov    %edi,%ebx
42a2c2:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42a2c8:	eb 06                	jmp    0x42a2d0
42a2ca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
42a2d0:	8a 0c 10             	mov    (%eax,%edx,1),%cl
42a2d3:	8d 52 01             	lea    0x1(%edx),%edx
42a2d6:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
42a2dc:	8a 42 ff             	mov    -0x1(%edx),%al
42a2df:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
42a2e3:	8b c6                	mov    %esi,%eax
42a2e5:	88 4a ff             	mov    %cl,-0x1(%edx)
42a2e8:	83 eb 01             	sub    $0x1,%ebx
42a2eb:	75 e3                	jne    0x42a2d0
42a2ed:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42a2f3:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
42a2f9:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
42a2ff:	2b cf                	sub    %edi,%ecx
42a301:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
42a307:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
42a30d:	3b ce                	cmp    %esi,%ecx
42a30f:	0f 87 60 ff ff ff    	ja     0x42a275
42a315:	e9 79 03 00 00       	jmp    0x42a693
42a31a:	d1 e8                	shr    $1,%eax
42a31c:	8b cb                	mov    %ebx,%ecx
42a31e:	0f af c7             	imul   %edi,%eax
42a321:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42a327:	8d 3c 30             	lea    (%eax,%esi,1),%edi
42a32a:	57                   	push   %edi
42a32b:	56                   	push   %esi
42a32c:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
42a332:	ff 15 68 12 43 00    	call   *0x431268
42a338:	ff d3                	call   *%ebx
42a33a:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
42a340:	83 c4 08             	add    $0x8,%esp
42a343:	85 c0                	test   %eax,%eax
42a345:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
42a34b:	7e 4d                	jle    0x42a39a
42a34d:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
42a353:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
42a359:	3b c7                	cmp    %edi,%eax
42a35b:	74 3d                	je     0x42a39a
42a35d:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
42a363:	8b f7                	mov    %edi,%esi
42a365:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
42a36b:	eb 03                	jmp    0x42a370
42a36d:	8d 49 00             	lea    0x0(%ecx),%ecx
42a370:	8a 06                	mov    (%esi),%al
42a372:	8b d6                	mov    %esi,%edx
42a374:	2b d7                	sub    %edi,%edx
42a376:	8a 0a                	mov    (%edx),%cl
42a378:	88 02                	mov    %al,(%edx)
42a37a:	88 0e                	mov    %cl,(%esi)
42a37c:	46                   	inc    %esi
42a37d:	83 eb 01             	sub    $0x1,%ebx
42a380:	75 ee                	jne    0x42a370
42a382:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
42a388:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42a38e:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
42a394:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
42a39a:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
42a3a0:	8b cb                	mov    %ebx,%ecx
42a3a2:	50                   	push   %eax
42a3a3:	ff 15 68 12 43 00    	call   *0x431268
42a3a9:	ff d3                	call   *%ebx
42a3ab:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a3b1:	83 c4 08             	add    $0x8,%esp
42a3b4:	85 c0                	test   %eax,%eax
42a3b6:	7e 49                	jle    0x42a401
42a3b8:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
42a3be:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
42a3c4:	8b f2                	mov    %edx,%esi
42a3c6:	3b c2                	cmp    %edx,%eax
42a3c8:	74 37                	je     0x42a401
42a3ca:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
42a3d0:	2b c2                	sub    %edx,%eax
42a3d2:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
42a3d8:	8b d0                	mov    %eax,%edx
42a3da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
42a3e0:	8a 06                	mov    (%esi),%al
42a3e2:	8d 76 01             	lea    0x1(%esi),%esi
42a3e5:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
42a3e9:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
42a3ed:	88 4e ff             	mov    %cl,-0x1(%esi)
42a3f0:	83 eb 01             	sub    $0x1,%ebx
42a3f3:	75 eb                	jne    0x42a3e0
42a3f5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42a3fb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a401:	52                   	push   %edx
42a402:	57                   	push   %edi
42a403:	8b cb                	mov    %ebx,%ecx
42a405:	ff 15 68 12 43 00    	call   *0x431268
42a40b:	ff d3                	call   *%ebx
42a40d:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a413:	83 c4 08             	add    $0x8,%esp
42a416:	85 c0                	test   %eax,%eax
42a418:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42a41e:	7e 35                	jle    0x42a455
42a420:	8b d8                	mov    %eax,%ebx
42a422:	8b f2                	mov    %edx,%esi
42a424:	3b fa                	cmp    %edx,%edi
42a426:	74 2d                	je     0x42a455
42a428:	8b c7                	mov    %edi,%eax
42a42a:	2b c2                	sub    %edx,%eax
42a42c:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
42a432:	8b d0                	mov    %eax,%edx
42a434:	8a 06                	mov    (%esi),%al
42a436:	8d 76 01             	lea    0x1(%esi),%esi
42a439:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
42a43d:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
42a441:	88 4e ff             	mov    %cl,-0x1(%esi)
42a444:	83 eb 01             	sub    $0x1,%ebx
42a447:	75 eb                	jne    0x42a434
42a449:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42a44f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a455:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
42a45b:	8b da                	mov    %edx,%ebx
42a45d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
42a463:	3b fe                	cmp    %esi,%edi
42a465:	76 3e                	jbe    0x42a4a5
42a467:	eb 07                	jmp    0x42a470
42a469:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42a470:	03 f0                	add    %eax,%esi
42a472:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
42a478:	3b f7                	cmp    %edi,%esi
42a47a:	73 23                	jae    0x42a49f
42a47c:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
42a482:	57                   	push   %edi
42a483:	56                   	push   %esi
42a484:	ff 15 68 12 43 00    	call   *0x431268
42a48a:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
42a490:	83 c4 08             	add    $0x8,%esp
42a493:	85 c0                	test   %eax,%eax
42a495:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42a49b:	7e d3                	jle    0x42a470
42a49d:	eb 42                	jmp    0x42a4e1
42a49f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a4a5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
42a4ab:	eb 03                	jmp    0x42a4b0
42a4ad:	8d 49 00             	lea    0x0(%ecx),%ecx
42a4b0:	03 f0                	add    %eax,%esi
42a4b2:	3b f2                	cmp    %edx,%esi
42a4b4:	77 1f                	ja     0x42a4d5
42a4b6:	57                   	push   %edi
42a4b7:	56                   	push   %esi
42a4b8:	8b cb                	mov    %ebx,%ecx
42a4ba:	ff 15 68 12 43 00    	call   *0x431268
42a4c0:	ff d3                	call   *%ebx
42a4c2:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42a4c8:	83 c4 08             	add    $0x8,%esp
42a4cb:	85 c0                	test   %eax,%eax
42a4cd:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42a4d3:	7e db                	jle    0x42a4b0
42a4d5:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
42a4db:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
42a4e1:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
42a4e7:	eb 07                	jmp    0x42a4f0
42a4e9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42a4f0:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
42a4f6:	8b cb                	mov    %ebx,%ecx
42a4f8:	2b d8                	sub    %eax,%ebx
42a4fa:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
42a500:	3b df                	cmp    %edi,%ebx
42a502:	76 1f                	jbe    0x42a523
42a504:	57                   	push   %edi
42a505:	53                   	push   %ebx
42a506:	8b ce                	mov    %esi,%ecx