4fd066:	90                   	nop
4fd067:	90                   	nop
4fd068:	55                   	push   %ebp
4fd069:	8b ec                	mov    %esp,%ebp
4fd06b:	51                   	push   %ecx
4fd06c:	53                   	push   %ebx
4fd06d:	8b d8                	mov    %eax,%ebx
4fd06f:	56                   	push   %esi
4fd070:	57                   	push   %edi
4fd071:	8b fa                	mov    %edx,%edi
4fd073:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4fd076:	83 ff 01             	cmp    $0x1,%edi
4fd079:	8b 73 04             	mov    0x4(%ebx),%esi
4fd07c:	74 12                	je     0x4fd090
4fd07e:	8b 03                	mov    (%ebx),%eax
4fd080:	c7 40 14 0c 00 00 00 	movl   $0xc,0x14(%eax)
4fd087:	89 78 18             	mov    %edi,0x18(%eax)
4fd08a:	8b c3                	mov    %ebx,%eax
4fd08c:	8b 10                	mov    (%eax),%edx
4fd08e:	ff 12                	call   *(%edx)
4fd090:	b9 80 00 00 00       	mov    $0x80,%ecx
4fd095:	8b d7                	mov    %edi,%edx
4fd097:	8b c3                	mov    %ebx,%eax
4fd099:	e8 42 fc ff ff       	call   0x4fcce0
4fd09e:	33 c9                	xor    %ecx,%ecx
4fd0a0:	89 08                	mov    %ecx,(%eax)
4fd0a2:	8b 55 0c             	mov    0xc(%ebp),%edx
4fd0a5:	89 50 04             	mov    %edx,0x4(%eax)
4fd0a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4fd0ab:	89 48 08             	mov    %ecx,0x8(%eax)
4fd0ae:	8b 55 08             	mov    0x8(%ebp),%edx
4fd0b1:	89 50 0c             	mov    %edx,0xc(%eax)
4fd0b4:	33 d2                	xor    %edx,%edx
4fd0b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fd0b9:	89 48 20             	mov    %ecx,0x20(%eax)
4fd0bc:	89 50 28             	mov    %edx,0x28(%eax)
4fd0bf:	8b 4e 40             	mov    0x40(%esi),%ecx
4fd0c2:	89 48 2c             	mov    %ecx,0x2c(%eax)
4fd0c5:	89 46 40             	mov    %eax,0x40(%esi)
4fd0c8:	5f                   	pop    %edi
4fd0c9:	5e                   	pop    %esi
4fd0ca:	5b                   	pop    %ebx
4fd0cb:	59                   	pop    %ecx
4fd0cc:	5d                   	pop    %ebp
4fd0cd:	c2 0c 00             	ret    $0xc
4fd0d0:	55                   	push   %ebp
4fd0d1:	8b ec                	mov    %esp,%ebp
4fd0d3:	51                   	push   %ecx
4fd0d4:	53                   	push   %ebx
4fd0d5:	8b d8                	mov    %eax,%ebx
4fd0d7:	56                   	push   %esi
4fd0d8:	57                   	push   %edi
4fd0d9:	8b fa                	mov    %edx,%edi
4fd0db:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4fd0de:	83 ff 01             	cmp    $0x1,%edi
4fd0e1:	8b 73 04             	mov    0x4(%ebx),%esi
4fd0e4:	74 12                	je     0x4fd0f8
4fd0e6:	8b 03                	mov    (%ebx),%eax
4fd0e8:	c7 40 14 0c 00 00 00 	movl   $0xc,0x14(%eax)
4fd0ef:	89 78 18             	mov    %edi,0x18(%eax)
4fd0f2:	8b c3                	mov    %ebx,%eax
4fd0f4:	8b 10                	mov    (%eax),%edx
4fd0f6:	ff 12                	call   *(%edx)
4fd0f8:	b9 80 00 00 00       	mov    $0x80,%ecx
4fd0fd:	8b d7                	mov    %edi,%edx
4fd0ff:	8b c3                	mov    %ebx,%eax
4fd101:	e8 da fb ff ff       	call   0x4fcce0
4fd106:	33 c9                	xor    %ecx,%ecx
4fd108:	89 08                	mov    %ecx,(%eax)
4fd10a:	8b 55 0c             	mov    0xc(%ebp),%edx
4fd10d:	89 50 04             	mov    %edx,0x4(%eax)
4fd110:	8b 4d 10             	mov    0x10(%ebp),%ecx
4fd113:	89 48 08             	mov    %ecx,0x8(%eax)
4fd116:	8b 55 08             	mov    0x8(%ebp),%edx
4fd119:	89 50 0c             	mov    %edx,0xc(%eax)
4fd11c:	33 d2                	xor    %edx,%edx
4fd11e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fd121:	89 48 20             	mov    %ecx,0x20(%eax)
4fd124:	89 50 28             	mov    %edx,0x28(%eax)
4fd127:	8b 4e 44             	mov    0x44(%esi),%ecx
4fd12a:	89 48 2c             	mov    %ecx,0x2c(%eax)
4fd12d:	89 46 44             	mov    %eax,0x44(%esi)
4fd130:	5f                   	pop    %edi
4fd131:	5e                   	pop    %esi
4fd132:	5b                   	pop    %ebx
4fd133:	59                   	pop    %ecx
4fd134:	5d                   	pop    %ebp
4fd135:	c2 0c 00             	ret    $0xc
4fd138:	53                   	push   %ebx
4fd139:	56                   	push   %esi
4fd13a:	57                   	push   %edi
4fd13b:	8b f8                	mov    %eax,%edi
4fd13d:	55                   	push   %ebp
4fd13e:	51                   	push   %ecx
4fd13f:	8b 6f 04             	mov    0x4(%edi),%ebp
4fd142:	33 c0                	xor    %eax,%eax
4fd144:	89 04 24             	mov    %eax,(%esp)
4fd147:	33 f6                	xor    %esi,%esi
4fd149:	8b 5d 40             	mov    0x40(%ebp),%ebx
4fd14c:	85 db                	test   %ebx,%ebx
4fd14e:	74 25                	je     0x4fd175
4fd150:	83 3b 00             	cmpl   $0x0,(%ebx)
4fd153:	75 19                	jne    0x4fd16e
4fd155:	8b 43 08             	mov    0x8(%ebx),%eax
4fd158:	8b 53 0c             	mov    0xc(%ebx),%edx
4fd15b:	0f af d0             	imul   %eax,%edx
4fd15e:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd161:	03 d6                	add    %esi,%edx
4fd163:	0f af c8             	imul   %eax,%ecx
4fd166:	03 0c 24             	add    (%esp),%ecx
4fd169:	8b f2                	mov    %edx,%esi
4fd16b:	89 0c 24             	mov    %ecx,(%esp)
4fd16e:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4fd171:	85 db                	test   %ebx,%ebx
4fd173:	75 db                	jne    0x4fd150
4fd175:	8b 5d 44             	mov    0x44(%ebp),%ebx
4fd178:	85 db                	test   %ebx,%ebx
4fd17a:	74 2b                	je     0x4fd1a7
4fd17c:	83 3b 00             	cmpl   $0x0,(%ebx)
4fd17f:	75 1f                	jne    0x4fd1a0
4fd181:	8b 43 08             	mov    0x8(%ebx),%eax
4fd184:	8b 53 0c             	mov    0xc(%ebx),%edx
4fd187:	0f af d0             	imul   %eax,%edx
4fd18a:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd18d:	0f af c8             	imul   %eax,%ecx
4fd190:	c1 e2 07             	shl    $0x7,%edx
4fd193:	c1 e1 07             	shl    $0x7,%ecx
4fd196:	03 d6                	add    %esi,%edx
4fd198:	03 0c 24             	add    (%esp),%ecx
4fd19b:	8b f2                	mov    %edx,%esi
4fd19d:	89 0c 24             	mov    %ecx,(%esp)
4fd1a0:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4fd1a3:	85 db                	test   %ebx,%ebx
4fd1a5:	75 d5                	jne    0x4fd17c
4fd1a7:	85 f6                	test   %esi,%esi
4fd1a9:	0f 8e 16 01 00 00    	jle    0x4fd2c5
4fd1af:	8b 45 48             	mov    0x48(%ebp),%eax
4fd1b2:	8b d6                	mov    %esi,%edx
4fd1b4:	50                   	push   %eax
4fd1b5:	8b c7                	mov    %edi,%eax
4fd1b7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4fd1bb:	e8 48 07 00 00       	call   0x4fd908
4fd1c0:	8b c8                	mov    %eax,%ecx
4fd1c2:	3b 0c 24             	cmp    (%esp),%ecx
4fd1c5:	7c 07                	jl     0x4fd1ce
4fd1c7:	be 00 ca 9a 3b       	mov    $0x3b9aca00,%esi
4fd1cc:	eb 10                	jmp    0x4fd1de
4fd1ce:	8b c1                	mov    %ecx,%eax
4fd1d0:	99                   	cltd
4fd1d1:	f7 fe                	idiv   %esi
4fd1d3:	8b f0                	mov    %eax,%esi
4fd1d5:	85 f6                	test   %esi,%esi
4fd1d7:	7f 05                	jg     0x4fd1de
4fd1d9:	be 01 00 00 00       	mov    $0x1,%esi
4fd1de:	8b 5d 40             	mov    0x40(%ebp),%ebx
4fd1e1:	85 db                	test   %ebx,%ebx
4fd1e3:	74 6b                	je     0x4fd250
4fd1e5:	83 3b 00             	cmpl   $0x0,(%ebx)
4fd1e8:	75 5f                	jne    0x4fd249
4fd1ea:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd1ed:	8b c1                	mov    %ecx,%eax
4fd1ef:	48                   	dec    %eax
4fd1f0:	33 d2                	xor    %edx,%edx
4fd1f2:	f7 73 0c             	divl   0xc(%ebx)
4fd1f5:	40                   	inc    %eax
4fd1f6:	3b f0                	cmp    %eax,%esi
4fd1f8:	7c 05                	jl     0x4fd1ff
4fd1fa:	89 4b 10             	mov    %ecx,0x10(%ebx)
4fd1fd:	eb 20                	jmp    0x4fd21f
4fd1ff:	8b c6                	mov    %esi,%eax
4fd201:	f7 6b 0c             	imull  0xc(%ebx)
4fd204:	89 43 10             	mov    %eax,0x10(%ebx)
4fd207:	8b c7                	mov    %edi,%eax
4fd209:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd20c:	8d 53 30             	lea    0x30(%ebx),%edx
4fd20f:	0f af 4b 08          	imul   0x8(%ebx),%ecx
4fd213:	e8 fc 06 00 00       	call   0x4fd914
4fd218:	c7 43 28 01 00 00 00 	movl   $0x1,0x28(%ebx)
4fd21f:	8b 53 10             	mov    0x10(%ebx),%edx
4fd222:	8b c7                	mov    %edi,%eax
4fd224:	52                   	push   %edx
4fd225:	ba 01 00 00 00       	mov    $0x1,%edx
4fd22a:	8b 4b 08             	mov    0x8(%ebx),%ecx
4fd22d:	e8 7e fc ff ff       	call   0x4fceb0
4fd232:	89 03                	mov    %eax,(%ebx)
4fd234:	33 c0                	xor    %eax,%eax
4fd236:	8b 4d 4c             	mov    0x4c(%ebp),%ecx
4fd239:	33 d2                	xor    %edx,%edx
4fd23b:	89 4b 14             	mov    %ecx,0x14(%ebx)
4fd23e:	89 43 18             	mov    %eax,0x18(%ebx)
4fd241:	89 53 1c             	mov    %edx,0x1c(%ebx)
4fd244:	33 c9                	xor    %ecx,%ecx
4fd246:	89 4b 24             	mov    %ecx,0x24(%ebx)
4fd249:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4fd24c:	85 db                	test   %ebx,%ebx
4fd24e:	75 95                	jne    0x4fd1e5
4fd250:	8b 5d 44             	mov    0x44(%ebp),%ebx
4fd253:	85 db                	test   %ebx,%ebx
4fd255:	74 6e                	je     0x4fd2c5
4fd257:	83 3b 00             	cmpl   $0x0,(%ebx)
4fd25a:	75 62                	jne    0x4fd2be
4fd25c:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd25f:	8b c1                	mov    %ecx,%eax
4fd261:	48                   	dec    %eax
4fd262:	33 d2                	xor    %edx,%edx
4fd264:	f7 73 0c             	divl   0xc(%ebx)
4fd267:	40                   	inc    %eax
4fd268:	3b f0                	cmp    %eax,%esi
4fd26a:	7c 05                	jl     0x4fd271
4fd26c:	89 4b 10             	mov    %ecx,0x10(%ebx)
4fd26f:	eb 23                	jmp    0x4fd294
4fd271:	8b c6                	mov    %esi,%eax
4fd273:	f7 6b 0c             	imull  0xc(%ebx)
4fd276:	89 43 10             	mov    %eax,0x10(%ebx)
4fd279:	8b c7                	mov    %edi,%eax
4fd27b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd27e:	8d 53 30             	lea    0x30(%ebx),%edx
4fd281:	0f af 4b 08          	imul   0x8(%ebx),%ecx
4fd285:	c1 e1 07             	shl    $0x7,%ecx
4fd288:	e8 87 06 00 00       	call   0x4fd914
4fd28d:	c7 43 28 01 00 00 00 	movl   $0x1,0x28(%ebx)
4fd294:	8b 53 10             	mov    0x10(%ebx),%edx
4fd297:	8b c7                	mov    %edi,%eax
4fd299:	52                   	push   %edx
4fd29a:	ba 01 00 00 00       	mov    $0x1,%edx
4fd29f:	8b 4b 08             	mov    0x8(%ebx),%ecx
4fd2a2:	e8 dd fc ff ff       	call   0x4fcf84
4fd2a7:	89 03                	mov    %eax,(%ebx)
4fd2a9:	33 c0                	xor    %eax,%eax
4fd2ab:	8b 4d 4c             	mov    0x4c(%ebp),%ecx
4fd2ae:	33 d2                	xor    %edx,%edx
4fd2b0:	89 4b 14             	mov    %ecx,0x14(%ebx)
4fd2b3:	89 43 18             	mov    %eax,0x18(%ebx)
4fd2b6:	89 53 1c             	mov    %edx,0x1c(%ebx)
4fd2b9:	33 c9                	xor    %ecx,%ecx
4fd2bb:	89 4b 24             	mov    %ecx,0x24(%ebx)
4fd2be:	8b 5b 2c             	mov    0x2c(%ebx),%ebx
4fd2c1:	85 db                	test   %ebx,%ebx
4fd2c3:	75 92                	jne    0x4fd257
4fd2c5:	5a                   	pop    %edx
4fd2c6:	5d                   	pop    %ebp
4fd2c7:	5f                   	pop    %edi
4fd2c8:	5e                   	pop    %esi
4fd2c9:	5b                   	pop    %ebx
4fd2ca:	c3                   	ret
4fd2cb:	90                   	nop
4fd2cc:	53                   	push   %ebx
4fd2cd:	56                   	push   %esi
4fd2ce:	57                   	push   %edi
4fd2cf:	83 c4 f0             	add    $0xfffffff0,%esp
4fd2d2:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4fd2d6:	8b da                	mov    %edx,%ebx
4fd2d8:	89 04 24             	mov    %eax,(%esp)
4fd2db:	8b 43 08             	mov    0x8(%ebx),%eax
4fd2de:	89 44 24 08          	mov    %eax,0x8(%esp)
4fd2e2:	8b 53 18             	mov    0x18(%ebx),%edx
4fd2e5:	0f af 54 24 08       	imul   0x8(%esp),%edx
4fd2ea:	89 54 24 0c          	mov    %edx,0xc(%esp)
4fd2ee:	33 f6                	xor    %esi,%esi
4fd2f0:	eb 77                	jmp    0x4fd369
4fd2f2:	2b c6                	sub    %esi,%eax
4fd2f4:	3b 43 14             	cmp    0x14(%ebx),%eax
4fd2f7:	7e 05                	jle    0x4fd2fe
4fd2f9:	8b 43 14             	mov    0x14(%ebx),%eax
4fd2fc:	eb 05                	jmp    0x4fd303
4fd2fe:	8b 43 10             	mov    0x10(%ebx),%eax
4fd301:	2b c6                	sub    %esi,%eax
4fd303:	8b 53 18             	mov    0x18(%ebx),%edx
4fd306:	03 d6                	add    %esi,%edx
4fd308:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4fd30b:	2b ca                	sub    %edx,%ecx
4fd30d:	3b c1                	cmp    %ecx,%eax
4fd30f:	7c 05                	jl     0x4fd316
4fd311:	8b 43 1c             	mov    0x1c(%ebx),%eax
4fd314:	2b c2                	sub    %edx,%eax
4fd316:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd319:	2b ca                	sub    %edx,%ecx
4fd31b:	3b c1                	cmp    %ecx,%eax
4fd31d:	7c 05                	jl     0x4fd324
4fd31f:	8b 43 04             	mov    0x4(%ebx),%eax
4fd322:	2b c2                	sub    %edx,%eax
4fd324:	85 c0                	test   %eax,%eax
4fd326:	7e 48                	jle    0x4fd370
4fd328:	8b f8                	mov    %eax,%edi
4fd32a:	0f af 7c 24 08       	imul   0x8(%esp),%edi
4fd32f:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4fd334:	74 17                	je     0x4fd34d
4fd336:	8b 44 24 0c          	mov    0xc(%esp),%eax
4fd33a:	50                   	push   %eax
4fd33b:	57                   	push   %edi
4fd33c:	8b 13                	mov    (%ebx),%edx
4fd33e:	8b 44 24 08          	mov    0x8(%esp),%eax
4fd342:	8b 0c b2             	mov    (%edx,%esi,4),%ecx
4fd345:	8d 53 30             	lea    0x30(%ebx),%edx
4fd348:	ff 53 34             	call   *0x34(%ebx)
4fd34b:	eb 15                	jmp    0x4fd362
4fd34d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4fd351:	8d 53 30             	lea    0x30(%ebx),%edx
4fd354:	51                   	push   %ecx
4fd355:	57                   	push   %edi
4fd356:	8b 03                	mov    (%ebx),%eax
4fd358:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
4fd35b:	8b 44 24 08          	mov    0x8(%esp),%eax
4fd35f:	ff 53 30             	call   *0x30(%ebx)
4fd362:	01 7c 24 0c          	add    %edi,0xc(%esp)
4fd366:	03 73 14             	add    0x14(%ebx),%esi
4fd369:	8b 43 10             	mov    0x10(%ebx),%eax
4fd36c:	3b f0                	cmp    %eax,%esi
4fd36e:	7c 82                	jl     0x4fd2f2
4fd370:	83 c4 10             	add    $0x10,%esp
4fd373:	5f                   	pop    %edi
4fd374:	5e                   	pop    %esi
4fd375:	5b                   	pop    %ebx
4fd376:	c3                   	ret
4fd377:	90                   	nop
4fd378:	53                   	push   %ebx
4fd379:	56                   	push   %esi
4fd37a:	57                   	push   %edi
4fd37b:	83 c4 f0             	add    $0xfffffff0,%esp
4fd37e:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4fd382:	8b da                	mov    %edx,%ebx
4fd384:	89 04 24             	mov    %eax,(%esp)
4fd387:	8b 43 08             	mov    0x8(%ebx),%eax
4fd38a:	c1 e0 07             	shl    $0x7,%eax
4fd38d:	89 44 24 08          	mov    %eax,0x8(%esp)
4fd391:	8b 53 18             	mov    0x18(%ebx),%edx
4fd394:	0f af 54 24 08       	imul   0x8(%esp),%edx
4fd399:	89 54 24 0c          	mov    %edx,0xc(%esp)
4fd39d:	33 f6                	xor    %esi,%esi
4fd39f:	eb 77                	jmp    0x4fd418
4fd3a1:	2b c6                	sub    %esi,%eax
4fd3a3:	3b 43 14             	cmp    0x14(%ebx),%eax
4fd3a6:	7e 05                	jle    0x4fd3ad
4fd3a8:	8b 43 14             	mov    0x14(%ebx),%eax
4fd3ab:	eb 05                	jmp    0x4fd3b2
4fd3ad:	8b 43 10             	mov    0x10(%ebx),%eax
4fd3b0:	2b c6                	sub    %esi,%eax
4fd3b2:	8b 53 18             	mov    0x18(%ebx),%edx
4fd3b5:	03 d6                	add    %esi,%edx
4fd3b7:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4fd3ba:	2b ca                	sub    %edx,%ecx
4fd3bc:	3b c1                	cmp    %ecx,%eax
4fd3be:	7c 05                	jl     0x4fd3c5
4fd3c0:	8b 43 1c             	mov    0x1c(%ebx),%eax
4fd3c3:	2b c2                	sub    %edx,%eax
4fd3c5:	8b 4b 04             	mov    0x4(%ebx),%ecx
4fd3c8:	2b ca                	sub    %edx,%ecx
4fd3ca:	3b c1                	cmp    %ecx,%eax
4fd3cc:	7c 05                	jl     0x4fd3d3
4fd3ce:	8b 43 04             	mov    0x4(%ebx),%eax