44a29f:	83 24 03 00          	andl   $0x0,(%ebx,%eax,1)
44a2a3:	8b 07                	mov    (%edi),%eax
44a2a5:	83 24 03 00          	andl   $0x0,(%ebx,%eax,1)
44a2a9:	8b 06                	mov    (%esi),%eax
44a2ab:	41                   	inc    %ecx
44a2ac:	83 c3 04             	add    $0x4,%ebx
44a2af:	89 4d 08             	mov    %ecx,0x8(%ebp)
44a2b2:	3b 88 0c 02 00 00    	cmp    0x20c(%eax),%ecx
44a2b8:	7c c0                	jl     0x44a27a
44a2ba:	eb 03                	jmp    0x44a2bf
44a2bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a2bf:	8b 06                	mov    (%esi),%eax
44a2c1:	3b 88 0c 02 00 00    	cmp    0x20c(%eax),%ecx
44a2c7:	0f 8c 6a ff ff ff    	jl     0x44a237
44a2cd:	5b                   	pop    %ebx
44a2ce:	5f                   	pop    %edi
44a2cf:	32 c0                	xor    %al,%al
44a2d1:	5e                   	pop    %esi
44a2d2:	5d                   	pop    %ebp
44a2d3:	c2 04 00             	ret    $0x4
44a2d6:	56                   	push   %esi
44a2d7:	8b f1                	mov    %ecx,%esi
44a2d9:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
44a2dd:	74 05                	je     0x44a2e4
44a2df:	83 c8 ff             	or     $0xffffffff,%eax
44a2e2:	5e                   	pop    %esi
44a2e3:	c3                   	ret
44a2e4:	e8 c5 fe ff ff       	call   0x44a1ae
44a2e9:	84 c0                	test   %al,%al
44a2eb:	74 f2                	je     0x44a2df
44a2ed:	8b 06                	mov    (%esi),%eax
44a2ef:	57                   	push   %edi
44a2f0:	8b b0 0c 02 00 00    	mov    0x20c(%eax),%esi
44a2f6:	8b 50 08             	mov    0x8(%eax),%edx
44a2f9:	33 ff                	xor    %edi,%edi
44a2fb:	85 f6                	test   %esi,%esi
44a2fd:	7e 20                	jle    0x44a31f
44a2ff:	53                   	push   %ebx
44a300:	8d 98 0c 01 00 00    	lea    0x10c(%eax),%ebx
44a306:	8b c2                	mov    %edx,%eax
44a308:	99                   	cltd
44a309:	f7 bb 00 ff ff ff    	idivl  -0x100(%ebx)
44a30f:	8b 0b                	mov    (%ebx),%ecx
44a311:	8d 5b 04             	lea    0x4(%ebx),%ebx
44a314:	8b d0                	mov    %eax,%edx
44a316:	0f af ca             	imul   %edx,%ecx
44a319:	03 f9                	add    %ecx,%edi
44a31b:	4e                   	dec    %esi
44a31c:	75 e8                	jne    0x44a306
44a31e:	5b                   	pop    %ebx
44a31f:	8b c7                	mov    %edi,%eax
44a321:	5f                   	pop    %edi
44a322:	5e                   	pop    %esi
44a323:	c3                   	ret
44a324:	55                   	push   %ebp
44a325:	8b ec                	mov    %esp,%ebp
44a327:	51                   	push   %ecx
44a328:	56                   	push   %esi
44a329:	8b f1                	mov    %ecx,%esi
44a32b:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
44a32f:	0f 85 ab 00 00 00    	jne    0x44a3e0
44a335:	8b 06                	mov    (%esi),%eax
44a337:	8b 48 04             	mov    0x4(%eax),%ecx
44a33a:	85 c9                	test   %ecx,%ecx
44a33c:	0f 84 9e 00 00 00    	je     0x44a3e0
44a342:	8b 01                	mov    (%ecx),%eax
44a344:	83 f8 01             	cmp    $0x1,%eax
44a347:	0f 8e 93 00 00 00    	jle    0x44a3e0
44a34d:	48                   	dec    %eax
44a34e:	89 01                	mov    %eax,(%ecx)
44a350:	8b 06                	mov    (%esi),%eax
44a352:	53                   	push   %ebx
44a353:	8b 18                	mov    (%eax),%ebx
44a355:	8b 40 08             	mov    0x8(%eax),%eax
44a358:	57                   	push   %edi
44a359:	33 c9                	xor    %ecx,%ecx
44a35b:	6a 04                	push   $0x4
44a35d:	5f                   	pop    %edi
44a35e:	f7 e7                	mul    %edi
44a360:	0f 90 c1             	seto   %cl
44a363:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44a366:	f7 d9                	neg    %ecx
44a368:	0b c8                	or     %eax,%ecx
44a36a:	51                   	push   %ecx
44a36b:	e8 7a 51 fd ff       	call   0x41f4ea
44a370:	8b 0e                	mov    (%esi),%ecx
44a372:	57                   	push   %edi
44a373:	89 01                	mov    %eax,(%ecx)
44a375:	e8 70 51 fd ff       	call   0x41f4ea
44a37a:	59                   	pop    %ecx
44a37b:	59                   	pop    %ecx
44a37c:	8b c8                	mov    %eax,%ecx
44a37e:	85 c9                	test   %ecx,%ecx
44a380:	74 08                	je     0x44a38a
44a382:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
44a388:	eb 02                	jmp    0x44a38c
44a38a:	33 c9                	xor    %ecx,%ecx
44a38c:	8b 06                	mov    (%esi),%eax
44a38e:	33 ff                	xor    %edi,%edi
44a390:	89 48 04             	mov    %ecx,0x4(%eax)
44a393:	8b 06                	mov    (%esi),%eax
44a395:	39 78 08             	cmp    %edi,0x8(%eax)
44a398:	7e 44                	jle    0x44a3de
44a39a:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
44a39e:	74 30                	je     0x44a3d0
44a3a0:	6a 10                	push   $0x10
44a3a2:	e8 43 51 fd ff       	call   0x41f4ea
44a3a7:	8b d8                	mov    %eax,%ebx
44a3a9:	59                   	pop    %ecx
44a3aa:	85 db                	test   %ebx,%ebx
44a3ac:	74 14                	je     0x44a3c2
44a3ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a3b1:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
44a3b4:	83 63 08 00          	andl   $0x0,0x8(%ebx)
44a3b8:	51                   	push   %ecx
44a3b9:	8b cb                	mov    %ebx,%ecx
44a3bb:	e8 60 73 fc ff       	call   0x411720
44a3c0:	eb 02                	jmp    0x44a3c4
44a3c2:	33 db                	xor    %ebx,%ebx
44a3c4:	8b 06                	mov    (%esi),%eax
44a3c6:	8b 00                	mov    (%eax),%eax
44a3c8:	89 1c b8             	mov    %ebx,(%eax,%edi,4)
44a3cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a3ce:	eb 06                	jmp    0x44a3d6
44a3d0:	8b 00                	mov    (%eax),%eax
44a3d2:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
44a3d6:	8b 06                	mov    (%esi),%eax
44a3d8:	47                   	inc    %edi
44a3d9:	3b 78 08             	cmp    0x8(%eax),%edi
44a3dc:	7c bc                	jl     0x44a39a
44a3de:	5f                   	pop    %edi
44a3df:	5b                   	pop    %ebx
44a3e0:	5e                   	pop    %esi
44a3e1:	c9                   	leave
44a3e2:	c3                   	ret
44a3e3:	55                   	push   %ebp
44a3e4:	8b ec                	mov    %esp,%ebp
44a3e6:	56                   	push   %esi
44a3e7:	8b f1                	mov    %ecx,%esi
44a3e9:	e8 32 88 fc ff       	call   0x412c20
44a3ee:	6a 08                	push   $0x8
44a3f0:	e8 f5 50 fd ff       	call   0x41f4ea
44a3f5:	8b 55 08             	mov    0x8(%ebp),%edx
44a3f8:	89 06                	mov    %eax,(%esi)
44a3fa:	59                   	pop    %ecx
44a3fb:	89 10                	mov    %edx,(%eax)
44a3fd:	85 d2                	test   %edx,%edx
44a3ff:	74 21                	je     0x44a422
44a401:	8b 06                	mov    (%esi),%eax
44a403:	ff 30                	push   (%eax)
44a405:	e8 e0 50 fd ff       	call   0x41f4ea
44a40a:	8b 0e                	mov    (%esi),%ecx
44a40c:	89 41 04             	mov    %eax,0x4(%ecx)
44a40f:	8b 06                	mov    (%esi),%eax
44a411:	ff 30                	push   (%eax)
44a413:	6a 00                	push   $0x0
44a415:	ff 70 04             	push   0x4(%eax)
44a418:	e8 33 69 fd ff       	call   0x420d50
44a41d:	83 c4 10             	add    $0x10,%esp
44a420:	eb 15                	jmp    0x44a437
44a422:	6a 01                	push   $0x1
44a424:	e8 c1 50 fd ff       	call   0x41f4ea
44a429:	59                   	pop    %ecx
44a42a:	8b 0e                	mov    (%esi),%ecx
44a42c:	89 41 04             	mov    %eax,0x4(%ecx)
44a42f:	8b 06                	mov    (%esi),%eax
44a431:	8b 40 04             	mov    0x4(%eax),%eax
44a434:	c6 00 00             	movb   $0x0,(%eax)
44a437:	8b 06                	mov    (%esi),%eax
44a439:	c7 46 0c 0b 00 00 00 	movl   $0xb,0xc(%esi)
44a440:	8b 40 04             	mov    0x4(%eax),%eax
44a443:	5e                   	pop    %esi
44a444:	5d                   	pop    %ebp
44a445:	c2 04 00             	ret    $0x4
44a448:	55                   	push   %ebp
44a449:	8b ec                	mov    %esp,%ebp
44a44b:	53                   	push   %ebx
44a44c:	56                   	push   %esi
44a44d:	57                   	push   %edi
44a44e:	8b d9                	mov    %ecx,%ebx
44a450:	e8 cb 87 fc ff       	call   0x412c20
44a455:	6a 14                	push   $0x14
44a457:	e8 8e 50 fd ff       	call   0x41f4ea
44a45c:	8b f0                	mov    %eax,%esi
44a45e:	33 ff                	xor    %edi,%edi
44a460:	59                   	pop    %ecx
44a461:	85 f6                	test   %esi,%esi
44a463:	74 10                	je     0x44a475
44a465:	89 3e                	mov    %edi,(%esi)
44a467:	89 7e 04             	mov    %edi,0x4(%esi)
44a46a:	89 7e 08             	mov    %edi,0x8(%esi)
44a46d:	89 7e 0c             	mov    %edi,0xc(%esi)
44a470:	89 7e 10             	mov    %edi,0x10(%esi)
44a473:	eb 02                	jmp    0x44a477
44a475:	8b f7                	mov    %edi,%esi
44a477:	8b 45 10             	mov    0x10(%ebp),%eax
44a47a:	83 ec 10             	sub    $0x10,%esp
44a47d:	8b cc                	mov    %esp,%ecx
44a47f:	ff 75 0c             	push   0xc(%ebp)
44a482:	89 01                	mov    %eax,(%ecx)
44a484:	8b 45 14             	mov    0x14(%ebp),%eax
44a487:	89 41 04             	mov    %eax,0x4(%ecx)
44a48a:	8b 45 18             	mov    0x18(%ebp),%eax
44a48d:	89 41 08             	mov    %eax,0x8(%ecx)
44a490:	8b 45 1c             	mov    0x1c(%ebp),%eax
44a493:	89 41 0c             	mov    %eax,0xc(%ecx)
44a496:	8b 45 1c             	mov    0x1c(%ebp),%eax
44a499:	8b ce                	mov    %esi,%ecx
44a49b:	ff 00                	incl   (%eax)
44a49d:	e8 93 de ff ff       	call   0x448335
44a4a2:	8b 55 08             	mov    0x8(%ebp),%edx
44a4a5:	89 02                	mov    %eax,(%edx)
44a4a7:	85 c0                	test   %eax,%eax
44a4a9:	74 0e                	je     0x44a4b9
44a4ab:	85 f6                	test   %esi,%esi
44a4ad:	74 15                	je     0x44a4c4
44a4af:	51                   	push   %ecx
44a4b0:	8b ce                	mov    %esi,%ecx
44a4b2:	e8 0c f3 fe ff       	call   0x4397c3
44a4b7:	eb 0b                	jmp    0x44a4c4
44a4b9:	c7 43 0c 0c 00 00 00 	movl   $0xc,0xc(%ebx)
44a4c0:	89 33                	mov    %esi,(%ebx)
44a4c2:	8b fe                	mov    %esi,%edi
44a4c4:	8d 4d 10             	lea    0x10(%ebp),%ecx
44a4c7:	e8 6b 26 fc ff       	call   0x40cb37
44a4cc:	8b c7                	mov    %edi,%eax
44a4ce:	5f                   	pop    %edi
44a4cf:	5e                   	pop    %esi
44a4d0:	5b                   	pop    %ebx
44a4d1:	5d                   	pop    %ebp
44a4d2:	c2 18 00             	ret    $0x18
44a4d5:	55                   	push   %ebp
44a4d6:	8b ec                	mov    %esp,%ebp
44a4d8:	83 ec 24             	sub    $0x24,%esp
44a4db:	53                   	push   %ebx
44a4dc:	56                   	push   %esi
44a4dd:	8b f1                	mov    %ecx,%esi
44a4df:	57                   	push   %edi
44a4e0:	8b 46 0c             	mov    0xc(%esi),%eax
44a4e3:	83 f8 0b             	cmp    $0xb,%eax
44a4e6:	0f 84 1a 01 00 00    	je     0x44a606
44a4ec:	48                   	dec    %eax
44a4ed:	83 f8 09             	cmp    $0x9,%eax
44a4f0:	0f 87 e3 00 00 00    	ja     0x44a5d9
44a4f6:	ff 24 85 0d a6 44 00 	jmp    *0x44a60d(,%eax,4)
44a4fd:	8b 56 08             	mov    0x8(%esi),%edx
44a500:	89 55 fc             	mov    %edx,-0x4(%ebp)
44a503:	e8 ff 2a fc ff       	call   0x40d007
44a508:	84 c0                	test   %al,%al
44a50a:	74 32                	je     0x44a53e
44a50c:	8b 5a 04             	mov    0x4(%edx),%ebx
44a50f:	83 eb 02             	sub    $0x2,%ebx
44a512:	d1 fb                	sar    $1,%ebx
44a514:	53                   	push   %ebx
44a515:	e8 d0 4f fd ff       	call   0x41f4ea
44a51a:	8b f8                	mov    %eax,%edi
44a51c:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a51f:	59                   	pop    %ecx
44a520:	8b 08                	mov    (%eax),%ecx
44a522:	8b d7                	mov    %edi,%edx
44a524:	8d 49 04             	lea    0x4(%ecx),%ecx
44a527:	e8 03 da ff ff       	call   0x447f2f
44a52c:	84 c0                	test   %al,%al
44a52e:	0f 85 b3 00 00 00    	jne    0x44a5e7
44a534:	57                   	push   %edi
44a535:	e8 24 50 fd ff       	call   0x41f55e
44a53a:	8b 55 fc             	mov    -0x4(%ebp),%edx
44a53d:	59                   	pop    %ecx
44a53e:	8b 5a 04             	mov    0x4(%edx),%ebx
44a541:	85 db                	test   %ebx,%ebx
44a543:	75 10                	jne    0x44a555
44a545:	6a 01                	push   $0x1
44a547:	e8 9e 4f fd ff       	call   0x41f4ea
44a54c:	8b f8                	mov    %eax,%edi
44a54e:	88 1f                	mov    %bl,(%edi)
44a550:	e9 91 00 00 00       	jmp    0x44a5e6
44a555:	53                   	push   %ebx
44a556:	e8 8f 4f fd ff       	call   0x41f4ea
44a55b:	59                   	pop    %ecx
44a55c:	53                   	push   %ebx
44a55d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a560:	8b f8                	mov    %eax,%edi
44a562:	e8 c6 f7 ff ff       	call   0x449d2d
44a567:	8d 45 e0             	lea    -0x20(%ebp),%eax
44a56a:	50                   	push   %eax
44a56b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a56e:	50                   	push   %eax
44a56f:	e8 ea 40 fd ff       	call   0x41e65e
44a574:	53                   	push   %ebx
44a575:	ff 75 e0             	push   -0x20(%ebp)
44a578:	57                   	push   %edi
44a579:	e8 02 49 fd ff       	call   0x41ee80
44a57e:	83 c4 0c             	add    $0xc,%esp
44a581:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a584:	e8 ae 25 fc ff       	call   0x40cb37
44a589:	eb 5c                	jmp    0x44a5e7
44a58b:	8b 06                	mov    (%esi),%eax
44a58d:	eb 27                	jmp    0x44a5b6
44a58f:	8b 06                	mov    (%esi),%eax
44a591:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a594:	8b 46 04             	mov    0x4(%esi),%eax
44a597:	6a 08                	push   $0x8
44a599:	89 45 f4             	mov    %eax,-0xc(%ebp)
44a59c:	eb 1d                	jmp    0x44a5bb
44a59e:	dd 06                	fldl   (%esi)
44a5a0:	6a 08                	push   $0x8
44a5a2:	dd 5d f0             	fstpl  -0x10(%ebp)
44a5a5:	eb 14                	jmp    0x44a5bb
44a5a7:	8a 06                	mov    (%esi),%al
44a5a9:	33 db                	xor    %ebx,%ebx
44a5ab:	43                   	inc    %ebx
44a5ac:	88 45 f0             	mov    %al,-0x10(%ebp)
44a5af:	eb 0b                	jmp    0x44a5bc
44a5b1:	8b 06                	mov    (%esi),%eax
44a5b3:	8b 40 04             	mov    0x4(%eax),%eax
44a5b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a5b9:	6a 04                	push   $0x4
44a5bb:	5b                   	pop    %ebx
44a5bc:	53                   	push   %ebx
44a5bd:	e8 28 4f fd ff       	call   0x41f4ea
44a5c2:	8b f8                	mov    %eax,%edi
44a5c4:	53                   	push   %ebx
44a5c5:	8d 45 f0             	lea    -0x10(%ebp),%eax
44a5c8:	50                   	push   %eax
44a5c9:	57                   	push   %edi
44a5ca:	e8 b1 48 fd ff       	call   0x41ee80
44a5cf:	83 c4 10             	add    $0x10,%esp
44a5d2:	eb 13                	jmp    0x44a5e7
44a5d4:	e8 e5 36 fd ff       	call   0x41dcbe
44a5d9:	6a 01                	push   $0x1
44a5db:	33 db                	xor    %ebx,%ebx
44a5dd:	e8 08 4f fd ff       	call   0x41f4ea
44a5e2:	8b f8                	mov    %eax,%edi
44a5e4:	88 1f                	mov    %bl,(%edi)
44a5e6:	59                   	pop    %ecx
44a5e7:	6a 08                	push   $0x8
44a5e9:	e8 fc 4e fd ff       	call   0x41f4ea
44a5ee:	89 06                	mov    %eax,(%esi)
44a5f0:	89 18                	mov    %ebx,(%eax)
44a5f2:	59                   	pop    %ecx
44a5f3:	8b 0e                	mov    (%esi),%ecx
44a5f5:	89 79 04             	mov    %edi,0x4(%ecx)
44a5f8:	8b ce                	mov    %esi,%ecx
44a5fa:	e8 da 00 00 00       	call   0x44a6d9
44a5ff:	c7 46 0c 0b 00 00 00 	movl   $0xb,0xc(%esi)
44a606:	5f                   	pop    %edi
44a607:	5e                   	pop    %esi
44a608:	b0 01                	mov    $0x1,%al
44a60a:	5b                   	pop    %ebx
44a60b:	c9                   	leave