45e00b:	66 b8 01 00          	mov    $0x1,%ax
45e00f:	e8 1c ff ff ff       	call   0x45df30
45e014:	59                   	pop    %ecx
45e015:	8b d8                	mov    %eax,%ebx
45e017:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e01a:	8b 40 04             	mov    0x4(%eax),%eax
45e01d:	e8 f2 85 fe ff       	call   0x446614
45e022:	03 d8                	add    %eax,%ebx
45e024:	8b c3                	mov    %ebx,%eax
45e026:	5b                   	pop    %ebx
45e027:	8b e5                	mov    %ebp,%esp
45e029:	5d                   	pop    %ebp
45e02a:	c3                   	ret
45e02b:	90                   	nop
45e02c:	53                   	push   %ebx
45e02d:	8b d8                	mov    %eax,%ebx
45e02f:	33 c9                	xor    %ecx,%ecx
45e031:	33 d2                	xor    %edx,%edx
45e033:	8b c3                	mov    %ebx,%eax
45e035:	e8 72 ff ff ff       	call   0x45dfac
45e03a:	3b 43 10             	cmp    0x10(%ebx),%eax
45e03d:	0f 9c c0             	setl   %al
45e040:	5b                   	pop    %ebx
45e041:	c3                   	ret
45e042:	8b c0                	mov    %eax,%eax
45e044:	55                   	push   %ebp
45e045:	8b ec                	mov    %esp,%ebp
45e047:	83 c4 e4             	add    $0xffffffe4,%esp
45e04a:	53                   	push   %ebx
45e04b:	56                   	push   %esi
45e04c:	c7 45 e4 1c 00 00 00 	movl   $0x1c,-0x1c(%ebp)
45e053:	c7 45 e8 10 00 00 00 	movl   $0x10,-0x18(%ebp)
45e05a:	33 db                	xor    %ebx,%ebx
45e05c:	8b 45 08             	mov    0x8(%ebp),%eax
45e05f:	8b 40 fc             	mov    -0x4(%eax),%eax
45e062:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
45e066:	75 05                	jne    0x45e06d
45e068:	bb 01 00 00 00       	mov    $0x1,%ebx
45e06d:	8b 45 08             	mov    0x8(%ebp),%eax
45e070:	8b 70 f8             	mov    -0x8(%eax),%esi
45e073:	0f bf 76 06          	movswl 0x6(%esi),%esi
45e077:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45e07a:	50                   	push   %eax
45e07b:	53                   	push   %ebx
45e07c:	8b 45 08             	mov    0x8(%ebp),%eax
45e07f:	8b 40 fc             	mov    -0x4(%eax),%eax
45e082:	8b 40 04             	mov    0x4(%eax),%eax
45e085:	e8 52 f3 fe ff       	call   0x44d3dc
45e08a:	50                   	push   %eax
45e08b:	a1 10 45 47 00       	mov    0x474510,%eax
45e090:	8b 00                	mov    (%eax),%eax
45e092:	ff d0                	call   *%eax
45e094:	85 c0                	test   %eax,%eax
45e096:	74 03                	je     0x45e09b
45e098:	8b 75 fc             	mov    -0x4(%ebp),%esi
45e09b:	8b c6                	mov    %esi,%eax
45e09d:	5e                   	pop    %esi
45e09e:	5b                   	pop    %ebx
45e09f:	8b e5                	mov    %ebp,%esp
45e0a1:	5d                   	pop    %ebp
45e0a2:	c3                   	ret
45e0a3:	90                   	nop
45e0a4:	55                   	push   %ebp
45e0a5:	8b ec                	mov    %esp,%ebp
45e0a7:	83 c4 f0             	add    $0xfffffff0,%esp
45e0aa:	53                   	push   %ebx
45e0ab:	56                   	push   %esi
45e0ac:	57                   	push   %edi
45e0ad:	89 55 f8             	mov    %edx,-0x8(%ebp)
45e0b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e0b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e0b6:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
45e0ba:	0f 84 9e 01 00 00    	je     0x45e25e
45e0c0:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e0c3:	66 8b 40 04          	mov    0x4(%eax),%ax
45e0c7:	66 83 e8 04          	sub    $0x4,%ax
45e0cb:	0f 83 8d 01 00 00    	jae    0x45e25e
45e0d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e0d4:	66 8b 40 04          	mov    0x4(%eax),%ax
45e0d8:	66 83 e8 02          	sub    $0x2,%ax
45e0dc:	72 08                	jb     0x45e0e6
45e0de:	66 83 e8 02          	sub    $0x2,%ax
45e0e2:	72 23                	jb     0x45e107
45e0e4:	eb 47                	jmp    0x45e12d
45e0e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e0e9:	0f b7 58 08          	movzwl 0x8(%eax),%ebx
45e0ed:	8b c3                	mov    %ebx,%eax
45e0ef:	8b 55 fc             	mov    -0x4(%ebp),%edx
45e0f2:	8b 4a 40             	mov    0x40(%edx),%ecx
45e0f5:	99                   	cltd
45e0f6:	f7 f9                	idiv   %ecx
45e0f8:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e0fb:	8b c3                	mov    %ebx,%eax
45e0fd:	99                   	cltd
45e0fe:	f7 f9                	idiv   %ecx
45e100:	89 55 f0             	mov    %edx,-0x10(%ebp)
45e103:	8b f1                	mov    %ecx,%esi
45e105:	eb 32                	jmp    0x45e139
45e107:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e10a:	0f b7 40 0a          	movzwl 0xa(%eax),%eax
45e10e:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e111:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e114:	8b 48 3c             	mov    0x3c(%eax),%ecx
45e117:	8b 45 f4             	mov    -0xc(%ebp),%eax
45e11a:	99                   	cltd
45e11b:	f7 f9                	idiv   %ecx
45e11d:	89 55 f0             	mov    %edx,-0x10(%ebp)
45e120:	8b 45 f4             	mov    -0xc(%ebp),%eax
45e123:	99                   	cltd
45e124:	f7 f9                	idiv   %ecx
45e126:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e129:	8b f1                	mov    %ecx,%esi
45e12b:	eb 0c                	jmp    0x45e139
45e12d:	33 f6                	xor    %esi,%esi
45e12f:	33 c0                	xor    %eax,%eax
45e131:	89 45 f4             	mov    %eax,-0xc(%ebp)
45e134:	33 c0                	xor    %eax,%eax
45e136:	89 45 f0             	mov    %eax,-0x10(%ebp)
45e139:	33 ff                	xor    %edi,%edi
45e13b:	85 f6                	test   %esi,%esi
45e13d:	0f 8e 9b 00 00 00    	jle    0x45e1de
45e143:	e8 ac 8a fa ff       	call   0x406bf4
45e148:	8b d8                	mov    %eax,%ebx
45e14a:	8b c3                	mov    %ebx,%eax
45e14c:	2b c7                	sub    %edi,%eax
45e14e:	8b 55 fc             	mov    -0x4(%ebp),%edx
45e151:	8b 52 20             	mov    0x20(%edx),%edx
45e154:	3b c2                	cmp    %edx,%eax
45e156:	7d 08                	jge    0x45e160
45e158:	2b d0                	sub    %eax,%edx
45e15a:	52                   	push   %edx
45e15b:	e8 14 ee fa ff       	call   0x40cf74
45e160:	8b fb                	mov    %ebx,%edi
45e162:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e165:	66 8b 40 04          	mov    0x4(%eax),%ax
45e169:	66 83 e8 01          	sub    $0x1,%ax
45e16d:	72 0e                	jb     0x45e17d
45e16f:	74 1f                	je     0x45e190
45e171:	66 ff c8             	dec    %ax
45e174:	74 2d                	je     0x45e1a3
45e176:	66 ff c8             	dec    %ax
45e179:	74 3b                	je     0x45e1b6
45e17b:	eb 4a                	jmp    0x45e1c7
45e17d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e180:	8b 50 0c             	mov    0xc(%eax),%edx
45e183:	2b 55 f4             	sub    -0xc(%ebp),%edx
45e186:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e189:	e8 86 02 00 00       	call   0x45e414
45e18e:	eb 37                	jmp    0x45e1c7
45e190:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e193:	8b 50 0c             	mov    0xc(%eax),%edx
45e196:	03 55 f4             	add    -0xc(%ebp),%edx
45e199:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e19c:	e8 73 02 00 00       	call   0x45e414
45e1a1:	eb 24                	jmp    0x45e1c7
45e1a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e1a6:	8b 50 0c             	mov    0xc(%eax),%edx
45e1a9:	2b 55 f4             	sub    -0xc(%ebp),%edx
45e1ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e1af:	e8 60 02 00 00       	call   0x45e414
45e1b4:	eb 11                	jmp    0x45e1c7
45e1b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e1b9:	8b 50 0c             	mov    0xc(%eax),%edx
45e1bc:	03 55 f4             	add    -0xc(%ebp),%edx
45e1bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e1c2:	e8 4d 02 00 00       	call   0x45e414
45e1c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e1ca:	8b 40 04             	mov    0x4(%eax),%eax
45e1cd:	8b 10                	mov    (%eax),%edx
45e1cf:	ff 92 88 00 00 00    	call   *0x88(%edx)
45e1d5:	4e                   	dec    %esi
45e1d6:	85 f6                	test   %esi,%esi
45e1d8:	0f 8f 65 ff ff ff    	jg     0x45e143
45e1de:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45e1e2:	0f 8e aa 01 00 00    	jle    0x45e392
45e1e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e1eb:	66 8b 40 04          	mov    0x4(%eax),%ax
45e1ef:	66 83 e8 01          	sub    $0x1,%ax
45e1f3:	72 11                	jb     0x45e206
45e1f5:	74 25                	je     0x45e21c
45e1f7:	66 ff c8             	dec    %ax
45e1fa:	74 36                	je     0x45e232
45e1fc:	66 ff c8             	dec    %ax
45e1ff:	74 47                	je     0x45e248
45e201:	e9 8c 01 00 00       	jmp    0x45e392
45e206:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e209:	8b 50 0c             	mov    0xc(%eax),%edx
45e20c:	2b 55 f0             	sub    -0x10(%ebp),%edx
45e20f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e212:	e8 fd 01 00 00       	call   0x45e414
45e217:	e9 76 01 00 00       	jmp    0x45e392
45e21c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e21f:	8b 50 0c             	mov    0xc(%eax),%edx
45e222:	03 55 f0             	add    -0x10(%ebp),%edx
45e225:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e228:	e8 e7 01 00 00       	call   0x45e414
45e22d:	e9 60 01 00 00       	jmp    0x45e392
45e232:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e235:	8b 50 0c             	mov    0xc(%eax),%edx
45e238:	2b 55 f0             	sub    -0x10(%ebp),%edx
45e23b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e23e:	e8 d1 01 00 00       	call   0x45e414
45e243:	e9 4a 01 00 00       	jmp    0x45e392
45e248:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e24b:	8b 50 0c             	mov    0xc(%eax),%edx
45e24e:	03 55 f0             	add    -0x10(%ebp),%edx
45e251:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e254:	e8 bb 01 00 00       	call   0x45e414
45e259:	e9 34 01 00 00       	jmp    0x45e392
45e25e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e261:	0f bf 40 04          	movswl 0x4(%eax),%eax
45e265:	83 f8 07             	cmp    $0x7,%eax
45e268:	0f 87 24 01 00 00    	ja     0x45e392
45e26e:	ff 24 85 75 e2 45 00 	jmp    *0x45e275(,%eax,4)
45e275:	95                   	xchg   %eax,%ebp
45e276:	e2 45                	loop   0x45e2bd
45e278:	00 b1 e2 45 00 cd    	add    %dh,-0x32ffba1e(%ecx)
45e27e:	e2 45                	loop   0x45e2c5
45e280:	00 ee                	add    %ch,%dh
45e282:	e2 45                	loop   0x45e2c9
45e284:	00 0f                	add    %cl,(%edi)
45e286:	e3 45                	jecxz  0x45e2cd
45e288:	00 3f                	add    %bh,(%edi)
45e28a:	e3 45                	jecxz  0x45e2d1
45e28c:	00 78 e3             	add    %bh,-0x1d(%eax)
45e28f:	45                   	inc    %ebp
45e290:	00 84 e3 45 00 8b 45 	add    %al,0x458b0045(%ebx,%eiz,8)
45e297:	fc                   	cld
45e298:	8b 50 0c             	mov    0xc(%eax),%edx
45e29b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e29e:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e2a2:	2b d0                	sub    %eax,%edx
45e2a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2a7:	e8 68 01 00 00       	call   0x45e414
45e2ac:	e9 e1 00 00 00       	jmp    0x45e392
45e2b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2b4:	8b 50 0c             	mov    0xc(%eax),%edx
45e2b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2ba:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45e2be:	03 d0                	add    %eax,%edx
45e2c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2c3:	e8 4c 01 00 00       	call   0x45e414
45e2c8:	e9 c5 00 00 00       	jmp    0x45e392
45e2cd:	33 c9                	xor    %ecx,%ecx
45e2cf:	b2 01                	mov    $0x1,%dl
45e2d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2d4:	e8 d3 fc ff ff       	call   0x45dfac
45e2d9:	8b 55 fc             	mov    -0x4(%ebp),%edx
45e2dc:	8b 52 0c             	mov    0xc(%edx),%edx
45e2df:	2b d0                	sub    %eax,%edx
45e2e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2e4:	e8 2b 01 00 00       	call   0x45e414
45e2e9:	e9 a4 00 00 00       	jmp    0x45e392
45e2ee:	33 c9                	xor    %ecx,%ecx
45e2f0:	b2 01                	mov    $0x1,%dl
45e2f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2f5:	e8 b2 fc ff ff       	call   0x45dfac
45e2fa:	8b d0                	mov    %eax,%edx
45e2fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e2ff:	03 50 0c             	add    0xc(%eax),%edx
45e302:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e305:	e8 0a 01 00 00       	call   0x45e414
45e30a:	e9 83 00 00 00       	jmp    0x45e392
45e30f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e312:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45e319:	7e 13                	jle    0x45e32e
45e31b:	55                   	push   %ebp
45e31c:	e8 23 fd ff ff       	call   0x45e044
45e321:	59                   	pop    %ecx
45e322:	8b d0                	mov    %eax,%edx
45e324:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e327:	e8 e8 00 00 00       	call   0x45e414
45e32c:	eb 64                	jmp    0x45e392
45e32e:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e331:	0f bf 52 06          	movswl 0x6(%edx),%edx
45e335:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e338:	e8 d7 00 00 00       	call   0x45e414
45e33d:	eb 53                	jmp    0x45e392
45e33f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e342:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
45e346:	74 4a                	je     0x45e392
45e348:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e34b:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45e352:	7e 13                	jle    0x45e367
45e354:	55                   	push   %ebp
45e355:	e8 ea fc ff ff       	call   0x45e044
45e35a:	59                   	pop    %ecx
45e35b:	8b d0                	mov    %eax,%edx
45e35d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e360:	e8 af 00 00 00       	call   0x45e414
45e365:	eb 2b                	jmp    0x45e392
45e367:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e36a:	0f bf 52 06          	movswl 0x6(%edx),%edx
45e36e:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e371:	e8 9e 00 00 00       	call   0x45e414
45e376:	eb 1a                	jmp    0x45e392
45e378:	33 d2                	xor    %edx,%edx
45e37a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e37d:	e8 92 00 00 00       	call   0x45e414
45e382:	eb 0e                	jmp    0x45e392
45e384:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e387:	8b 50 14             	mov    0x14(%eax),%edx
45e38a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e38d:	e8 82 00 00 00       	call   0x45e414
45e392:	5f                   	pop    %edi
45e393:	5e                   	pop    %esi
45e394:	5b                   	pop    %ebx
45e395:	8b e5                	mov    %ebp,%esp
45e397:	5d                   	pop    %ebp
45e398:	c3                   	ret
45e399:	8d 40 00             	lea    0x0(%eax),%eax
45e39c:	53                   	push   %ebx
45e39d:	56                   	push   %esi
45e39e:	8b d8                	mov    %eax,%ebx
45e3a0:	3b 53 24             	cmp    0x24(%ebx),%edx
45e3a3:	74 36                	je     0x45e3db
45e3a5:	8b f2                	mov    %edx,%esi
45e3a7:	85 f6                	test   %esi,%esi
45e3a9:	75 18                	jne    0x45e3c3
45e3ab:	33 c0                	xor    %eax,%eax
45e3ad:	8a 43 18             	mov    0x18(%ebx),%al
45e3b0:	8b 04 85 d4 9d 46 00 	mov    0x469dd4(,%eax,4),%eax
45e3b7:	50                   	push   %eax
45e3b8:	a1 0c 46 47 00       	mov    0x47460c,%eax
45e3bd:	8b 00                	mov    (%eax),%eax
45e3bf:	ff d0                	call   *%eax
45e3c1:	8b d0                	mov    %eax,%edx
45e3c3:	89 53 24             	mov    %edx,0x24(%ebx)
45e3c6:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
45e3ca:	8b 43 04             	mov    0x4(%ebx),%eax
45e3cd:	e8 ba 06 00 00       	call   0x45ea8c
45e3d2:	85 f6                	test   %esi,%esi
45e3d4:	75 05                	jne    0x45e3db
45e3d6:	33 c0                	xor    %eax,%eax
45e3d8:	89 43 24             	mov    %eax,0x24(%ebx)
45e3db:	5e                   	pop    %esi
45e3dc:	5b                   	pop    %ebx
45e3dd:	c3                   	ret
45e3de:	8b c0                	mov    %eax,%eax
45e3e0:	3b 50 28             	cmp    0x28(%eax),%edx
45e3e3:	74 13                	je     0x45e3f8
45e3e5:	89 50 28             	mov    %edx,0x28(%eax)
45e3e8:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
45e3ec:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45e3f0:	8b 40 04             	mov    0x4(%eax),%eax
45e3f3:	e8 94 06 00 00       	call   0x45ea8c
45e3f8:	c3                   	ret
45e3f9:	8d 40 00             	lea    0x0(%eax),%eax
45e3fc:	3a 50 2c             	cmp    0x2c(%eax),%dl
45e3ff:	74 11                	je     0x45e412