4f61b4:	5f                   	pop    %edi
4f61b5:	5e                   	pop    %esi
4f61b6:	5b                   	pop    %ebx
4f61b7:	59                   	pop    %ecx
4f61b8:	59                   	pop    %ecx
4f61b9:	5d                   	pop    %ebp
4f61ba:	c2 04 00             	ret    $0x4
4f61bd:	8d 40 00             	lea    0x0(%eax),%eax
4f61c0:	55                   	push   %ebp
4f61c1:	8b ec                	mov    %esp,%ebp
4f61c3:	53                   	push   %ebx
4f61c4:	8b 45 08             	mov    0x8(%ebp),%eax
4f61c7:	8b 58 f8             	mov    -0x8(%eax),%ebx
4f61ca:	8b 45 08             	mov    0x8(%ebp),%eax
4f61cd:	2b 58 f4             	sub    -0xc(%eax),%ebx
4f61d0:	85 db                	test   %ebx,%ebx
4f61d2:	7e 43                	jle    0x4f6217
4f61d4:	8b c3                	mov    %ebx,%eax
4f61d6:	48                   	dec    %eax
4f61d7:	8b 55 08             	mov    0x8(%ebp),%edx
4f61da:	88 42 ff             	mov    %al,-0x1(%edx)
4f61dd:	6a 01                	push   $0x1
4f61df:	8b 45 08             	mov    0x8(%ebp),%eax
4f61e2:	8d 48 ff             	lea    -0x1(%eax),%ecx
4f61e5:	8b 45 08             	mov    0x8(%ebp),%eax
4f61e8:	8b 50 08             	mov    0x8(%eax),%edx
4f61eb:	8b 45 08             	mov    0x8(%ebp),%eax
4f61ee:	8b 40 f0             	mov    -0x10(%eax),%eax
4f61f1:	e8 06 fd 0f 00       	call   0x5f5efc
4f61f6:	53                   	push   %ebx
4f61f7:	8b 45 08             	mov    0x8(%ebp),%eax
4f61fa:	8b 40 f4             	mov    -0xc(%eax),%eax
4f61fd:	8b 55 08             	mov    0x8(%ebp),%edx
4f6200:	8b 52 ec             	mov    -0x14(%edx),%edx
4f6203:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
4f6206:	8b 45 08             	mov    0x8(%ebp),%eax
4f6209:	8b 50 08             	mov    0x8(%eax),%edx
4f620c:	8b 45 08             	mov    0x8(%ebp),%eax
4f620f:	8b 40 f0             	mov    -0x10(%eax),%eax
4f6212:	e8 e5 fc 0f 00       	call   0x5f5efc
4f6217:	5b                   	pop    %ebx
4f6218:	5d                   	pop    %ebp
4f6219:	c3                   	ret
4f621a:	8b c0                	mov    %eax,%eax
4f621c:	55                   	push   %ebp
4f621d:	8b ec                	mov    %esp,%ebp
4f621f:	83 c4 ec             	add    $0xffffffec,%esp
4f6222:	53                   	push   %ebx
4f6223:	56                   	push   %esi
4f6224:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4f6227:	8b f2                	mov    %edx,%esi
4f6229:	89 45 ec             	mov    %eax,-0x14(%ebp)
4f622c:	33 c0                	xor    %eax,%eax
4f622e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4f6231:	33 c0                	xor    %eax,%eax
4f6233:	89 45 f4             	mov    %eax,-0xc(%ebp)
4f6236:	3b 75 f8             	cmp    -0x8(%ebp),%esi
4f6239:	0f 8e 99 00 00 00    	jle    0x4f62d8
4f623f:	bb 01 00 00 00       	mov    $0x1,%ebx
4f6244:	eb 01                	jmp    0x4f6247
4f6246:	43                   	inc    %ebx
4f6247:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f624a:	03 c3                	add    %ebx,%eax
4f624c:	3b f0                	cmp    %eax,%esi
4f624e:	7e 19                	jle    0x4f6269
4f6250:	8b 55 ec             	mov    -0x14(%ebp),%edx
4f6253:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4f6256:	8a 14 0a             	mov    (%edx,%ecx,1),%dl
4f6259:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4f625c:	3a 14 01             	cmp    (%ecx,%eax,1),%dl
4f625f:	75 08                	jne    0x4f6269
4f6261:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4f6267:	7c dd                	jl     0x4f6246
4f6269:	83 fb 03             	cmp    $0x3,%ebx
4f626c:	7e 42                	jle    0x4f62b0
4f626e:	55                   	push   %ebp
4f626f:	e8 4c ff ff ff       	call   0x4f61c0
4f6274:	59                   	pop    %ecx
4f6275:	8b c3                	mov    %ebx,%eax
4f6277:	48                   	dec    %eax
4f6278:	8b d0                	mov    %eax,%edx
4f627a:	f7 d8                	neg    %eax
4f627c:	88 45 ff             	mov    %al,-0x1(%ebp)
4f627f:	6a 01                	push   $0x1
4f6281:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4f6284:	8b 55 08             	mov    0x8(%ebp),%edx
4f6287:	8b 45 f0             	mov    -0x10(%ebp),%eax
4f628a:	e8 6d fc 0f 00       	call   0x5f5efc
4f628f:	6a 01                	push   $0x1
4f6291:	8b 45 ec             	mov    -0x14(%ebp),%eax
4f6294:	8b 55 f8             	mov    -0x8(%ebp),%edx
4f6297:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
4f629a:	8b 55 08             	mov    0x8(%ebp),%edx
4f629d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4f62a0:	e8 57 fc 0f 00       	call   0x5f5efc
4f62a5:	01 5d f8             	add    %ebx,-0x8(%ebp)
4f62a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f62ab:	89 45 f4             	mov    %eax,-0xc(%ebp)
4f62ae:	eb 1f                	jmp    0x4f62cf
4f62b0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f62b3:	2b 45 f4             	sub    -0xc(%ebp),%eax
4f62b6:	3d 80 00 00 00       	cmp    $0x80,%eax
4f62bb:	75 0f                	jne    0x4f62cc
4f62bd:	55                   	push   %ebp
4f62be:	e8 fd fe ff ff       	call   0x4f61c0
4f62c3:	59                   	pop    %ecx
4f62c4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4f62c7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4f62ca:	eb 03                	jmp    0x4f62cf
4f62cc:	ff 45 f8             	incl   -0x8(%ebp)
4f62cf:	3b 75 f8             	cmp    -0x8(%ebp),%esi
4f62d2:	0f 8f 67 ff ff ff    	jg     0x4f623f
4f62d8:	55                   	push   %ebp
4f62d9:	e8 e2 fe ff ff       	call   0x4f61c0
4f62de:	59                   	pop    %ecx
4f62df:	5e                   	pop    %esi
4f62e0:	5b                   	pop    %ebx
4f62e1:	8b e5                	mov    %ebp,%esp
4f62e3:	5d                   	pop    %ebp
4f62e4:	c2 04 00             	ret    $0x4
4f62e7:	90                   	nop
4f62e8:	55                   	push   %ebp
4f62e9:	8b ec                	mov    %esp,%ebp
4f62eb:	51                   	push   %ecx
4f62ec:	53                   	push   %ebx
4f62ed:	56                   	push   %esi
4f62ee:	57                   	push   %edi
4f62ef:	8b d9                	mov    %ecx,%ebx
4f62f1:	8b fa                	mov    %edx,%edi
4f62f3:	8b f0                	mov    %eax,%esi
4f62f5:	33 c9                	xor    %ecx,%ecx
4f62f7:	b2 01                	mov    $0x1,%dl
4f62f9:	a1 90 63 5c 00       	mov    0x5c6390,%eax
4f62fe:	e8 f5 59 0d 00       	call   0x5cbcf8
4f6303:	89 45 fc             	mov    %eax,-0x4(%ebp)
4f6306:	8b 43 20             	mov    0x20(%ebx),%eax
4f6309:	8b 55 fc             	mov    -0x4(%ebp),%edx
4f630c:	89 82 c4 00 00 00    	mov    %eax,0xc4(%edx)
4f6312:	8a 43 24             	mov    0x24(%ebx),%al
4f6315:	8b 55 fc             	mov    -0x4(%ebp),%edx
4f6318:	88 82 c0 00 00 00    	mov    %al,0xc0(%edx)
4f631e:	8b 45 08             	mov    0x8(%ebp),%eax
4f6321:	50                   	push   %eax
4f6322:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4f6325:	8b d7                	mov    %edi,%edx
4f6327:	8b c6                	mov    %esi,%eax
4f6329:	e8 92 6d fe ff       	call   0x4dd0c0
4f632e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4f6331:	e8 42 d7 f0 ff       	call   0x403a78
4f6336:	5f                   	pop    %edi
4f6337:	5e                   	pop    %esi
4f6338:	5b                   	pop    %ebx
4f6339:	59                   	pop    %ecx
4f633a:	5d                   	pop    %ebp
4f633b:	c2 04 00             	ret    $0x4
4f633e:	8b c0                	mov    %eax,%eax
4f6340:	55                   	push   %ebp
4f6341:	8b ec                	mov    %esp,%ebp
4f6343:	53                   	push   %ebx
4f6344:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f6347:	8b 5b 0c             	mov    0xc(%ebx),%ebx
4f634a:	83 7b 04 03          	cmpl   $0x3,0x4(%ebx)
4f634e:	75 2f                	jne    0x4f637f
4f6350:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4f6354:	75 29                	jne    0x4f637f
4f6356:	8b 45 08             	mov    0x8(%ebp),%eax
4f6359:	48                   	dec    %eax
4f635a:	50                   	push   %eax
4f635b:	8b 45 08             	mov    0x8(%ebp),%eax
4f635e:	83 c0 f8             	add    $0xfffffff8,%eax
4f6361:	50                   	push   %eax
4f6362:	8b 45 08             	mov    0x8(%ebp),%eax
4f6365:	8b 40 08             	mov    0x8(%eax),%eax
4f6368:	8b 40 28             	mov    0x28(%eax),%eax
4f636b:	50                   	push   %eax
4f636c:	8b 43 0c             	mov    0xc(%ebx),%eax
4f636f:	50                   	push   %eax
4f6370:	8b 45 08             	mov    0x8(%ebp),%eax
4f6373:	8b 48 ec             	mov    -0x14(%eax),%ecx
4f6376:	33 d2                	xor    %edx,%edx
4f6378:	33 c0                	xor    %eax,%eax
4f637a:	e8 49 36 fe ff       	call   0x4d99c8
4f637f:	83 7b 04 03          	cmpl   $0x3,0x4(%ebx)
4f6383:	75 36                	jne    0x4f63bb
4f6385:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
4f6389:	75 30                	jne    0x4f63bb
4f638b:	8b 45 08             	mov    0x8(%ebp),%eax
4f638e:	48                   	dec    %eax
4f638f:	50                   	push   %eax
4f6390:	8b 45 08             	mov    0x8(%ebp),%eax
4f6393:	83 c0 f8             	add    $0xfffffff8,%eax
4f6396:	50                   	push   %eax
4f6397:	8b 45 08             	mov    0x8(%ebp),%eax
4f639a:	83 c0 f4             	add    $0xfffffff4,%eax
4f639d:	50                   	push   %eax
4f639e:	8b 45 08             	mov    0x8(%ebp),%eax
4f63a1:	8b 40 08             	mov    0x8(%eax),%eax
4f63a4:	8b 40 28             	mov    0x28(%eax),%eax
4f63a7:	50                   	push   %eax
4f63a8:	8b 43 0c             	mov    0xc(%ebx),%eax
4f63ab:	50                   	push   %eax
4f63ac:	8b 45 08             	mov    0x8(%ebp),%eax
4f63af:	8b 48 ec             	mov    -0x14(%eax),%ecx
4f63b2:	33 d2                	xor    %edx,%edx
4f63b4:	33 c0                	xor    %eax,%eax
4f63b6:	e8 4d 39 fe ff       	call   0x4d9d08
4f63bb:	83 7b 04 04          	cmpl   $0x4,0x4(%ebx)
4f63bf:	75 30                	jne    0x4f63f1
4f63c1:	8b 45 08             	mov    0x8(%ebp),%eax
4f63c4:	48                   	dec    %eax
4f63c5:	50                   	push   %eax
4f63c6:	8b 45 08             	mov    0x8(%ebp),%eax
4f63c9:	83 c0 f8             	add    $0xfffffff8,%eax
4f63cc:	50                   	push   %eax
4f63cd:	8b 45 08             	mov    0x8(%ebp),%eax
4f63d0:	83 c0 f4             	add    $0xfffffff4,%eax
4f63d3:	50                   	push   %eax
4f63d4:	8b 45 08             	mov    0x8(%ebp),%eax
4f63d7:	8b 40 08             	mov    0x8(%eax),%eax
4f63da:	8b 40 28             	mov    0x28(%eax),%eax
4f63dd:	50                   	push   %eax
4f63de:	8b 43 0c             	mov    0xc(%ebx),%eax
4f63e1:	50                   	push   %eax
4f63e2:	8b 45 08             	mov    0x8(%ebp),%eax
4f63e5:	8b 48 ec             	mov    -0x14(%eax),%ecx
4f63e8:	33 d2                	xor    %edx,%edx
4f63ea:	33 c0                	xor    %eax,%eax
4f63ec:	e8 87 3a fe ff       	call   0x4d9e78
4f63f1:	83 7b 04 05          	cmpl   $0x5,0x4(%ebx)
4f63f5:	75 13                	jne    0x4f640a
4f63f7:	8b 45 08             	mov    0x8(%ebp),%eax
4f63fa:	83 c0 f0             	add    $0xfffffff0,%eax
4f63fd:	50                   	push   %eax
4f63fe:	8b 45 08             	mov    0x8(%ebp),%eax
4f6401:	8b 48 ec             	mov    -0x14(%eax),%ecx
4f6404:	33 d2                	xor    %edx,%edx
4f6406:	33 c0                	xor    %eax,%eax
4f6408:	ff 13                	call   *(%ebx)
4f640a:	5b                   	pop    %ebx
4f640b:	5d                   	pop    %ebp
4f640c:	c3                   	ret
4f640d:	8d 40 00             	lea    0x0(%eax),%eax
4f6410:	55                   	push   %ebp
4f6411:	8b ec                	mov    %esp,%ebp
4f6413:	81 c4 7c ff ff ff    	add    $0xffffff7c,%esp
4f6419:	53                   	push   %ebx
4f641a:	56                   	push   %esi
4f641b:	57                   	push   %edi
4f641c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4f641f:	8b da                	mov    %edx,%ebx
4f6421:	89 45 ec             	mov    %eax,-0x14(%ebp)
4f6424:	8b 45 0c             	mov    0xc(%ebp),%eax
4f6427:	83 78 04 07          	cmpl   $0x7,0x4(%eax)
4f642b:	75 11                	jne    0x4f643e
4f642d:	be 01 00 00 00       	mov    $0x1,%esi
4f6432:	8b c3                	mov    %ebx,%eax
4f6434:	8b 10                	mov    (%eax),%edx
4f6436:	ff 52 08             	call   *0x8(%edx)
4f6439:	89 45 9c             	mov    %eax,-0x64(%ebp)
4f643c:	eb 66                	jmp    0x4f64a4
4f643e:	8b c3                	mov    %ebx,%eax
4f6440:	8b 10                	mov    (%eax),%edx
4f6442:	ff 52 08             	call   *0x8(%edx)
4f6445:	8b f0                	mov    %eax,%esi
4f6447:	8b c3                	mov    %ebx,%eax
4f6449:	8b 10                	mov    (%eax),%edx
4f644b:	ff 52 14             	call   *0x14(%edx)
4f644e:	0f af f0             	imul   %eax,%esi
4f6451:	8b c6                	mov    %esi,%eax
4f6453:	85 c0                	test   %eax,%eax
4f6455:	79 05                	jns    0x4f645c
4f6457:	05 ff ff 07 00       	add    $0x7ffff,%eax
4f645c:	c1 f8 13             	sar    $0x13,%eax
4f645f:	ba 01 00 00 00       	mov    $0x1,%edx
4f6464:	e8 ab 2f 0b 00       	call   0x5a9414
4f6469:	8b f0                	mov    %eax,%esi
4f646b:	8b c3                	mov    %ebx,%eax
4f646d:	8b 10                	mov    (%eax),%edx
4f646f:	ff 52 08             	call   *0x8(%edx)
4f6472:	99                   	cltd
4f6473:	f7 fe                	idiv   %esi
4f6475:	89 45 9c             	mov    %eax,-0x64(%ebp)
4f6478:	8b c3                	mov    %ebx,%eax
4f647a:	8b 10                	mov    (%eax),%edx
4f647c:	ff 52 08             	call   *0x8(%edx)
4f647f:	89 45 80             	mov    %eax,-0x80(%ebp)
4f6482:	db 45 80             	fildl  -0x80(%ebp)
4f6485:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
4f648b:	db 85 7c ff ff ff    	fildl  -0x84(%ebp)
4f6491:	de f9                	fdivrp %st,%st(1)
4f6493:	e8 04 c8 f0 ff       	call   0x402c9c
4f6498:	d8 1d 20 74 4f 00    	fcomps 0x4f7420
4f649e:	df e0                	fnstsw %ax
4f64a0:	9e                   	sahf
4f64a1:	76 01                	jbe    0x4f64a4
4f64a3:	46                   	inc    %esi
4f64a4:	8b c6                	mov    %esi,%eax
4f64a6:	03 c0                	add    %eax,%eax
4f64a8:	8b f8                	mov    %eax,%edi
4f64aa:	c1 e7 02             	shl    $0x2,%edi
4f64ad:	8b c7                	mov    %edi,%eax
4f64af:	e8 f8 c2 f0 ff       	call   0x4027ac
4f64b4:	89 45 90             	mov    %eax,-0x70(%ebp)
4f64b7:	8b c7                	mov    %edi,%eax
4f64b9:	e8 ee c2 f0 ff       	call   0x4027ac
4f64be:	89 45 8c             	mov    %eax,-0x74(%ebp)
4f64c1:	33 f6                	xor    %esi,%esi
4f64c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4f64c6:	0f b6 40 10          	movzbl 0x10(%eax),%eax
4f64ca:	83 f8 07             	cmp    $0x7,%eax
4f64cd:	77 6f                	ja     0x4f653e
4f64cf:	ff 24 85 d6 64 4f 00 	jmp    *0x4f64d6(,%eax,4)
4f64d6:	f6 64 4f 00          	mulb   0x0(%edi,%ecx,2)
4f64da:	ff 64 4f 00          	jmp    *0x0(%edi,%ecx,2)
4f64de:	08 65 4f             	or     %ah,0x4f(%ebp)
4f64e1:	00 11                	add    %dl,(%ecx)
4f64e3:	65 4f                	gs dec %edi
4f64e5:	00 1a                	add    %bl,(%edx)
4f64e7:	65 4f                	gs dec %edi
4f64e9:	00 23                	add    %ah,(%ebx)
4f64eb:	65 4f                	gs dec %edi
4f64ed:	00 2c 65 4f 00 35 65 	add    %ch,0x6535004f(,%eiz,2)
4f64f4:	4f                   	dec    %edi
4f64f5:	00 c7                	add    %al,%bh
4f64f7:	45                   	inc    %ebp
4f64f8:	a8 01                	test   $0x1,%al
4f64fa:	00 00                	add    %al,(%eax)
4f64fc:	00 eb                	add    %ch,%bl
4f64fe:	46                   	inc    %esi
4f64ff:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
4f6506:	eb 3d                	jmp    0x4f6545
4f6508:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f650f:	eb 34                	jmp    0x4f6545
4f6511:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
4f6518:	eb 2b                	jmp    0x4f6545
4f651a:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
4f6521:	eb 22                	jmp    0x4f6545
4f6523:	c7 45 a8 04 00 00 00 	movl   $0x4,-0x58(%ebp)
4f652a:	eb 19                	jmp    0x4f6545
4f652c:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f6533:	eb 10                	jmp    0x4f6545
4f6535:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f653c:	eb 07                	jmp    0x4f6545
4f653e:	c7 45 a8 03 00 00 00 	movl   $0x3,-0x58(%ebp)
4f6545:	8b c3                	mov    %ebx,%eax
4f6547:	e8 bc 13 10 00       	call   0x5f7908
4f654c:	84 c0                	test   %al,%al
4f654e:	74 3b                	je     0x4f658b
4f6550:	8b c3                	mov    %ebx,%eax
4f6552:	e8 81 13 10 00       	call   0x5f78d8