4610e3:	8b c6                	mov    %esi,%eax
4610e5:	5e                   	pop    %esi
4610e6:	5b                   	pop    %ebx
4610e7:	8b e5                	mov    %ebp,%esp
4610e9:	5d                   	pop    %ebp
4610ea:	c3                   	ret
4610eb:	90                   	nop
4610ec:	55                   	push   %ebp
4610ed:	8b ec                	mov    %esp,%ebp
4610ef:	83 c4 f0             	add    $0xfffffff0,%esp
4610f2:	53                   	push   %ebx
4610f3:	56                   	push   %esi
4610f4:	57                   	push   %edi
4610f5:	89 55 f8             	mov    %edx,-0x8(%ebp)
4610f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4610fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4610fe:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
461102:	0f 84 9e 01 00 00    	je     0x4612a6
461108:	8b 45 f8             	mov    -0x8(%ebp),%eax
46110b:	66 8b 40 04          	mov    0x4(%eax),%ax
46110f:	66 83 e8 04          	sub    $0x4,%ax
461113:	0f 83 8d 01 00 00    	jae    0x4612a6
461119:	8b 45 f8             	mov    -0x8(%ebp),%eax
46111c:	66 8b 40 04          	mov    0x4(%eax),%ax
461120:	66 83 e8 02          	sub    $0x2,%ax
461124:	72 08                	jb     0x46112e
461126:	66 83 e8 02          	sub    $0x2,%ax
46112a:	72 23                	jb     0x46114f
46112c:	eb 47                	jmp    0x461175
46112e:	8b 45 fc             	mov    -0x4(%ebp),%eax
461131:	0f b7 58 08          	movzwl 0x8(%eax),%ebx
461135:	8b c3                	mov    %ebx,%eax
461137:	8b 55 fc             	mov    -0x4(%ebp),%edx
46113a:	8b 4a 40             	mov    0x40(%edx),%ecx
46113d:	99                   	cltd
46113e:	f7 f9                	idiv   %ecx
461140:	89 45 f4             	mov    %eax,-0xc(%ebp)
461143:	8b c3                	mov    %ebx,%eax
461145:	99                   	cltd
461146:	f7 f9                	idiv   %ecx
461148:	89 55 f0             	mov    %edx,-0x10(%ebp)
46114b:	8b f1                	mov    %ecx,%esi
46114d:	eb 32                	jmp    0x461181
46114f:	8b 45 fc             	mov    -0x4(%ebp),%eax
461152:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
461156:	89 45 f4             	mov    %eax,-0xc(%ebp)
461159:	8b 45 fc             	mov    -0x4(%ebp),%eax
46115c:	8b 48 3c             	mov    0x3c(%eax),%ecx
46115f:	8b 45 f4             	mov    -0xc(%ebp),%eax
461162:	99                   	cltd
461163:	f7 f9                	idiv   %ecx
461165:	89 55 f0             	mov    %edx,-0x10(%ebp)
461168:	8b 45 f4             	mov    -0xc(%ebp),%eax
46116b:	99                   	cltd
46116c:	f7 f9                	idiv   %ecx
46116e:	89 45 f4             	mov    %eax,-0xc(%ebp)
461171:	8b f1                	mov    %ecx,%esi
461173:	eb 0c                	jmp    0x461181
461175:	33 f6                	xor    %esi,%esi
461177:	33 c0                	xor    %eax,%eax
461179:	89 45 f4             	mov    %eax,-0xc(%ebp)
46117c:	33 c0                	xor    %eax,%eax
46117e:	89 45 f0             	mov    %eax,-0x10(%ebp)
461181:	33 ff                	xor    %edi,%edi
461183:	85 f6                	test   %esi,%esi
461185:	0f 8e 9b 00 00 00    	jle    0x461226
46118b:	e8 28 6d fa ff       	call   0x407eb8
461190:	8b d8                	mov    %eax,%ebx
461192:	8b c3                	mov    %ebx,%eax
461194:	2b c7                	sub    %edi,%eax
461196:	8b 55 fc             	mov    -0x4(%ebp),%edx
461199:	8b 52 20             	mov    0x20(%edx),%edx
46119c:	3b c2                	cmp    %edx,%eax
46119e:	7d 08                	jge    0x4611a8
4611a0:	2b d0                	sub    %eax,%edx
4611a2:	52                   	push   %edx
4611a3:	e8 c4 d1 fa ff       	call   0x40e36c
4611a8:	8b fb                	mov    %ebx,%edi
4611aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4611ad:	66 8b 40 04          	mov    0x4(%eax),%ax
4611b1:	66 83 e8 01          	sub    $0x1,%ax
4611b5:	72 0e                	jb     0x4611c5
4611b7:	74 1f                	je     0x4611d8
4611b9:	66 ff c8             	dec    %ax
4611bc:	74 2d                	je     0x4611eb
4611be:	66 ff c8             	dec    %ax
4611c1:	74 3b                	je     0x4611fe
4611c3:	eb 4a                	jmp    0x46120f
4611c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611c8:	8b 50 0c             	mov    0xc(%eax),%edx
4611cb:	2b 55 f4             	sub    -0xc(%ebp),%edx
4611ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611d1:	e8 86 02 00 00       	call   0x46145c
4611d6:	eb 37                	jmp    0x46120f
4611d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611db:	8b 50 0c             	mov    0xc(%eax),%edx
4611de:	03 55 f4             	add    -0xc(%ebp),%edx
4611e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611e4:	e8 73 02 00 00       	call   0x46145c
4611e9:	eb 24                	jmp    0x46120f
4611eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611ee:	8b 50 0c             	mov    0xc(%eax),%edx
4611f1:	2b 55 f4             	sub    -0xc(%ebp),%edx
4611f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4611f7:	e8 60 02 00 00       	call   0x46145c
4611fc:	eb 11                	jmp    0x46120f
4611fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
461201:	8b 50 0c             	mov    0xc(%eax),%edx
461204:	03 55 f4             	add    -0xc(%ebp),%edx
461207:	8b 45 fc             	mov    -0x4(%ebp),%eax
46120a:	e8 4d 02 00 00       	call   0x46145c
46120f:	8b 45 fc             	mov    -0x4(%ebp),%eax
461212:	8b 40 04             	mov    0x4(%eax),%eax
461215:	8b 10                	mov    (%eax),%edx
461217:	ff 92 88 00 00 00    	call   *0x88(%edx)
46121d:	4e                   	dec    %esi
46121e:	85 f6                	test   %esi,%esi
461220:	0f 8f 65 ff ff ff    	jg     0x46118b
461226:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46122a:	0f 8e aa 01 00 00    	jle    0x4613da
461230:	8b 45 f8             	mov    -0x8(%ebp),%eax
461233:	66 8b 40 04          	mov    0x4(%eax),%ax
461237:	66 83 e8 01          	sub    $0x1,%ax
46123b:	72 11                	jb     0x46124e
46123d:	74 25                	je     0x461264
46123f:	66 ff c8             	dec    %ax
461242:	74 36                	je     0x46127a
461244:	66 ff c8             	dec    %ax
461247:	74 47                	je     0x461290
461249:	e9 8c 01 00 00       	jmp    0x4613da
46124e:	8b 45 fc             	mov    -0x4(%ebp),%eax
461251:	8b 50 0c             	mov    0xc(%eax),%edx
461254:	2b 55 f0             	sub    -0x10(%ebp),%edx
461257:	8b 45 fc             	mov    -0x4(%ebp),%eax
46125a:	e8 fd 01 00 00       	call   0x46145c
46125f:	e9 76 01 00 00       	jmp    0x4613da
461264:	8b 45 fc             	mov    -0x4(%ebp),%eax
461267:	8b 50 0c             	mov    0xc(%eax),%edx
46126a:	03 55 f0             	add    -0x10(%ebp),%edx
46126d:	8b 45 fc             	mov    -0x4(%ebp),%eax
461270:	e8 e7 01 00 00       	call   0x46145c
461275:	e9 60 01 00 00       	jmp    0x4613da
46127a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46127d:	8b 50 0c             	mov    0xc(%eax),%edx
461280:	2b 55 f0             	sub    -0x10(%ebp),%edx
461283:	8b 45 fc             	mov    -0x4(%ebp),%eax
461286:	e8 d1 01 00 00       	call   0x46145c
46128b:	e9 4a 01 00 00       	jmp    0x4613da
461290:	8b 45 fc             	mov    -0x4(%ebp),%eax
461293:	8b 50 0c             	mov    0xc(%eax),%edx
461296:	03 55 f0             	add    -0x10(%ebp),%edx
461299:	8b 45 fc             	mov    -0x4(%ebp),%eax
46129c:	e8 bb 01 00 00       	call   0x46145c
4612a1:	e9 34 01 00 00       	jmp    0x4613da
4612a6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4612a9:	0f bf 40 04          	movswl 0x4(%eax),%eax
4612ad:	83 f8 07             	cmp    $0x7,%eax
4612b0:	0f 87 24 01 00 00    	ja     0x4613da
4612b6:	ff 24 85 bd 12 46 00 	jmp    *0x4612bd(,%eax,4)
4612bd:	dd 12                	fstl   (%edx)
4612bf:	46                   	inc    %esi
4612c0:	00 f9                	add    %bh,%cl
4612c2:	12 46 00             	adc    0x0(%esi),%al
4612c5:	15 13 46 00 36       	adc    $0x36004613,%eax
4612ca:	13 46 00             	adc    0x0(%esi),%eax
4612cd:	57                   	push   %edi
4612ce:	13 46 00             	adc    0x0(%esi),%eax
4612d1:	87 13                	xchg   %edx,(%ebx)
4612d3:	46                   	inc    %esi
4612d4:	00 c0                	add    %al,%al
4612d6:	13 46 00             	adc    0x0(%esi),%eax
4612d9:	cc                   	int3
4612da:	13 46 00             	adc    0x0(%esi),%eax
4612dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612e0:	8b 50 0c             	mov    0xc(%eax),%edx
4612e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612e6:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4612ea:	2b d0                	sub    %eax,%edx
4612ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612ef:	e8 68 01 00 00       	call   0x46145c
4612f4:	e9 e1 00 00 00       	jmp    0x4613da
4612f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4612fc:	8b 50 0c             	mov    0xc(%eax),%edx
4612ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
461302:	0f b7 40 08          	movzwl 0x8(%eax),%eax
461306:	03 d0                	add    %eax,%edx
461308:	8b 45 fc             	mov    -0x4(%ebp),%eax
46130b:	e8 4c 01 00 00       	call   0x46145c
461310:	e9 c5 00 00 00       	jmp    0x4613da
461315:	33 c9                	xor    %ecx,%ecx
461317:	b2 01                	mov    $0x1,%dl
461319:	8b 45 fc             	mov    -0x4(%ebp),%eax
46131c:	e8 d3 fc ff ff       	call   0x460ff4
461321:	8b 55 fc             	mov    -0x4(%ebp),%edx
461324:	8b 52 0c             	mov    0xc(%edx),%edx
461327:	2b d0                	sub    %eax,%edx
461329:	8b 45 fc             	mov    -0x4(%ebp),%eax
46132c:	e8 2b 01 00 00       	call   0x46145c
461331:	e9 a4 00 00 00       	jmp    0x4613da
461336:	33 c9                	xor    %ecx,%ecx
461338:	b2 01                	mov    $0x1,%dl
46133a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46133d:	e8 b2 fc ff ff       	call   0x460ff4
461342:	8b d0                	mov    %eax,%edx
461344:	8b 45 fc             	mov    -0x4(%ebp),%eax
461347:	03 50 0c             	add    0xc(%eax),%edx
46134a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46134d:	e8 0a 01 00 00       	call   0x46145c
461352:	e9 83 00 00 00       	jmp    0x4613da
461357:	8b 45 fc             	mov    -0x4(%ebp),%eax
46135a:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
461361:	7e 13                	jle    0x461376
461363:	55                   	push   %ebp
461364:	e8 23 fd ff ff       	call   0x46108c
461369:	59                   	pop    %ecx
46136a:	8b d0                	mov    %eax,%edx
46136c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46136f:	e8 e8 00 00 00       	call   0x46145c
461374:	eb 64                	jmp    0x4613da
461376:	8b 55 f8             	mov    -0x8(%ebp),%edx
461379:	0f bf 52 06          	movswl 0x6(%edx),%edx
46137d:	8b 45 fc             	mov    -0x4(%ebp),%eax
461380:	e8 d7 00 00 00       	call   0x46145c
461385:	eb 53                	jmp    0x4613da
461387:	8b 45 fc             	mov    -0x4(%ebp),%eax
46138a:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
46138e:	74 4a                	je     0x4613da
461390:	8b 45 fc             	mov    -0x4(%ebp),%eax
461393:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
46139a:	7e 13                	jle    0x4613af
46139c:	55                   	push   %ebp
46139d:	e8 ea fc ff ff       	call   0x46108c
4613a2:	59                   	pop    %ecx
4613a3:	8b d0                	mov    %eax,%edx
4613a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613a8:	e8 af 00 00 00       	call   0x46145c
4613ad:	eb 2b                	jmp    0x4613da
4613af:	8b 55 f8             	mov    -0x8(%ebp),%edx
4613b2:	0f bf 52 06          	movswl 0x6(%edx),%edx
4613b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613b9:	e8 9e 00 00 00       	call   0x46145c
4613be:	eb 1a                	jmp    0x4613da
4613c0:	33 d2                	xor    %edx,%edx
4613c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613c5:	e8 92 00 00 00       	call   0x46145c
4613ca:	eb 0e                	jmp    0x4613da
4613cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613cf:	8b 50 14             	mov    0x14(%eax),%edx
4613d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4613d5:	e8 82 00 00 00       	call   0x46145c
4613da:	5f                   	pop    %edi
4613db:	5e                   	pop    %esi
4613dc:	5b                   	pop    %ebx
4613dd:	8b e5                	mov    %ebp,%esp
4613df:	5d                   	pop    %ebp
4613e0:	c3                   	ret
4613e1:	8d 40 00             	lea    0x0(%eax),%eax
4613e4:	53                   	push   %ebx
4613e5:	56                   	push   %esi
4613e6:	8b d8                	mov    %eax,%ebx
4613e8:	3b 53 24             	cmp    0x24(%ebx),%edx
4613eb:	74 36                	je     0x461423
4613ed:	8b f2                	mov    %edx,%esi
4613ef:	85 f6                	test   %esi,%esi
4613f1:	75 18                	jne    0x46140b
4613f3:	33 c0                	xor    %eax,%eax
4613f5:	8a 43 18             	mov    0x18(%ebx),%al
4613f8:	8b 04 85 d8 ad 68 00 	mov    0x68add8(,%eax,4),%eax
4613ff:	50                   	push   %eax
461400:	a1 04 6e 6a 00       	mov    0x6a6e04,%eax
461405:	8b 00                	mov    (%eax),%eax
461407:	ff d0                	call   *%eax
461409:	8b d0                	mov    %eax,%edx
46140b:	89 53 24             	mov    %edx,0x24(%ebx)
46140e:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
461412:	8b 43 04             	mov    0x4(%ebx),%eax
461415:	e8 aa 06 00 00       	call   0x461ac4
46141a:	85 f6                	test   %esi,%esi
46141c:	75 05                	jne    0x461423
46141e:	33 c0                	xor    %eax,%eax
461420:	89 43 24             	mov    %eax,0x24(%ebx)
461423:	5e                   	pop    %esi
461424:	5b                   	pop    %ebx
461425:	c3                   	ret
461426:	8b c0                	mov    %eax,%eax
461428:	3b 50 28             	cmp    0x28(%eax),%edx
46142b:	74 13                	je     0x461440
46142d:	89 50 28             	mov    %edx,0x28(%eax)
461430:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
461434:	c6 40 44 01          	movb   $0x1,0x44(%eax)
461438:	8b 40 04             	mov    0x4(%eax),%eax
46143b:	e8 84 06 00 00       	call   0x461ac4
461440:	c3                   	ret
461441:	8d 40 00             	lea    0x0(%eax),%eax
461444:	3a 50 2c             	cmp    0x2c(%eax),%dl
461447:	74 11                	je     0x46145a
461449:	88 50 2c             	mov    %dl,0x2c(%eax)
46144c:	84 d2                	test   %dl,%dl
46144e:	74 0a                	je     0x46145a
461450:	ba 14 00 00 80       	mov    $0x80000014,%edx
461455:	e8 ce ff ff ff       	call   0x461428
46145a:	c3                   	ret
46145b:	90                   	nop
46145c:	53                   	push   %ebx
46145d:	56                   	push   %esi
46145e:	57                   	push   %edi
46145f:	8b d8                	mov    %eax,%ebx
461461:	8b 43 04             	mov    0x4(%ebx),%eax
461464:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
461468:	74 08                	je     0x461472
46146a:	89 53 0c             	mov    %edx,0xc(%ebx)
46146d:	e9 a7 00 00 00       	jmp    0x461519
461472:	8b 43 14             	mov    0x14(%ebx),%eax
461475:	3b d0                	cmp    %eax,%edx
461477:	7e 04                	jle    0x46147d
461479:	8b d0                	mov    %eax,%edx
46147b:	eb 06                	jmp    0x461483
46147d:	85 d2                	test   %edx,%edx
46147f:	7d 02                	jge    0x461483
461481:	33 d2                	xor    %edx,%edx
461483:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
461487:	75 04                	jne    0x46148d
461489:	33 f6                	xor    %esi,%esi
46148b:	eb 04                	jmp    0x461491
46148d:	66 be 01 00          	mov    $0x1,%si
461491:	8b 43 0c             	mov    0xc(%ebx),%eax
461494:	3b d0                	cmp    %eax,%edx
461496:	74 4d                	je     0x4614e5
461498:	89 53 0c             	mov    %edx,0xc(%ebx)
46149b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
46149f:	75 10                	jne    0x4614b1
4614a1:	2b c2                	sub    %edx,%eax
4614a3:	8b d0                	mov    %eax,%edx
4614a5:	33 c9                	xor    %ecx,%ecx
4614a7:	8b 43 04             	mov    0x4(%ebx),%eax
4614aa:	e8 65 d6 fe ff       	call   0x44eb14
4614af:	eb 0e                	jmp    0x4614bf
4614b1:	8b c8                	mov    %eax,%ecx
4614b3:	2b ca                	sub    %edx,%ecx
4614b5:	8b 43 04             	mov    0x4(%ebx),%eax
4614b8:	33 d2                	xor    %edx,%edx
4614ba:	e8 55 d6 fe ff       	call   0x44eb14
4614bf:	8b 43 04             	mov    0x4(%ebx),%eax
4614c2:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4614c6:	74 1d                	je     0x4614e5
4614c8:	e8 ff f6 ff ff       	call   0x460bcc
4614cd:	85 c0                	test   %eax,%eax
4614cf:	74 14                	je     0x4614e5
4614d1:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
4614d8:	74 0b                	je     0x4614e5