434f46:	8b 45 d8             	mov    -0x28(%ebp),%eax
434f49:	8b 4d b0             	mov    -0x50(%ebp),%ecx
434f4c:	50                   	push   %eax
434f4d:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
434f50:	50                   	push   %eax
434f51:	51                   	push   %ecx
434f52:	8b 4d bc             	mov    -0x44(%ebp),%ecx
434f55:	e8 bb 66 00 00       	call   0x43b615
434f5a:	ff 76 30             	push   0x30(%esi)
434f5d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
434f60:	e8 d7 3e ff ff       	call   0x428e3c
434f65:	8d 45 b4             	lea    -0x4c(%ebp),%eax
434f68:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
434f6c:	50                   	push   %eax
434f6d:	e8 9f a4 ff ff       	call   0x42f411
434f72:	59                   	pop    %ecx
434f73:	8b f0                	mov    %eax,%esi
434f75:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
434f79:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
434f7c:	89 75 b0             	mov    %esi,-0x50(%ebp)
434f7f:	e8 63 a4 fd ff       	call   0x40f3e7
434f84:	8b 06                	mov    (%esi),%eax
434f86:	8b 70 14             	mov    0x14(%eax),%esi
434f89:	8d 45 c0             	lea    -0x40(%ebp),%eax
434f8c:	50                   	push   %eax
434f8d:	8b ce                	mov    %esi,%ecx
434f8f:	ff 15 54 43 49 00    	call   *0x494354
434f95:	8b 4d b0             	mov    -0x50(%ebp),%ecx
434f98:	ff d6                	call   *%esi
434f9a:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
434f9e:	8d 75 c0             	lea    -0x40(%ebp),%esi
434fa1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
434fa5:	72 03                	jb     0x434faa
434fa7:	8b 75 c0             	mov    -0x40(%ebp),%esi
434faa:	8a 06                	mov    (%esi),%al
434fac:	3c 7f                	cmp    $0x7f,%al
434fae:	74 44                	je     0x434ff4
434fb0:	84 c0                	test   %al,%al
434fb2:	7e 40                	jle    0x434ff4
434fb4:	8b 4d b0             	mov    -0x50(%ebp),%ecx
434fb7:	e8 b8 65 00 00       	call   0x43b574
434fbc:	0f b7 d0             	movzwl %ax,%edx
434fbf:	89 55 bc             	mov    %edx,-0x44(%ebp)
434fc2:	eb 2a                	jmp    0x434fee
434fc4:	84 c0                	test   %al,%al
434fc6:	7e 2c                	jle    0x434ff4
434fc8:	0f be c8             	movsbl %al,%ecx
434fcb:	8b c3                	mov    %ebx,%eax
434fcd:	2b c7                	sub    %edi,%eax
434fcf:	3b c8                	cmp    %eax,%ecx
434fd1:	73 21                	jae    0x434ff4
434fd3:	52                   	push   %edx
434fd4:	2b d9                	sub    %ecx,%ebx
434fd6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
434fd9:	6a 01                	push   $0x1
434fdb:	53                   	push   %ebx
434fdc:	e8 fe 60 00 00       	call   0x43b0df
434fe1:	8d 46 01             	lea    0x1(%esi),%eax
434fe4:	80 38 00             	cmpb   $0x0,(%eax)
434fe7:	7e 02                	jle    0x434feb
434fe9:	8b f0                	mov    %eax,%esi
434feb:	8b 55 bc             	mov    -0x44(%ebp),%edx
434fee:	8a 06                	mov    (%esi),%al
434ff0:	3c 7f                	cmp    $0x7f,%al
434ff2:	75 d0                	jne    0x434fc4
434ff4:	8b 45 a8             	mov    -0x58(%ebp),%eax
434ff7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
434ffa:	89 4d bc             	mov    %ecx,-0x44(%ebp)
434ffd:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
435001:	7c 13                	jl     0x435016
435003:	7f 06                	jg     0x43500b
435005:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
435009:	76 0b                	jbe    0x435016
43500b:	8b 70 20             	mov    0x20(%eax),%esi
43500e:	3b f1                	cmp    %ecx,%esi
435010:	76 04                	jbe    0x435016
435012:	2b f1                	sub    %ecx,%esi
435014:	eb 02                	jmp    0x435018
435016:	33 f6                	xor    %esi,%esi
435018:	8b 40 14             	mov    0x14(%eax),%eax
43501b:	25 c0 01 00 00       	and    $0x1c0,%eax
435020:	83 f8 40             	cmp    $0x40,%eax
435023:	74 75                	je     0x43509a
435025:	3d 00 01 00 00       	cmp    $0x100,%eax
43502a:	74 33                	je     0x43505f
43502c:	8b 5d 08             	mov    0x8(%ebp),%ebx
43502f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
435032:	56                   	push   %esi
435033:	ff 75 1c             	push   0x1c(%ebp)
435036:	ff 75 14             	push   0x14(%ebp)
435039:	ff 75 10             	push   0x10(%ebp)
43503c:	50                   	push   %eax
43503d:	53                   	push   %ebx
43503e:	e8 40 1b 00 00       	call   0x436b83
435043:	83 c4 18             	add    $0x18,%esp
435046:	33 f6                	xor    %esi,%esi
435048:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43504c:	8b c8                	mov    %eax,%ecx
43504e:	8d 45 d8             	lea    -0x28(%ebp),%eax
435051:	72 03                	jb     0x435056
435053:	8b 45 d8             	mov    -0x28(%ebp),%eax
435056:	57                   	push   %edi
435057:	50                   	push   %eax
435058:	ff 71 04             	push   0x4(%ecx)
43505b:	ff 31                	push   (%ecx)
43505d:	eb 52                	jmp    0x4350b1
43505f:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
435063:	8d 45 d8             	lea    -0x28(%ebp),%eax
435066:	72 03                	jb     0x43506b
435068:	8b 45 d8             	mov    -0x28(%ebp),%eax
43506b:	8b 5d 08             	mov    0x8(%ebp),%ebx
43506e:	57                   	push   %edi
43506f:	50                   	push   %eax
435070:	ff 75 14             	push   0x14(%ebp)
435073:	8d 45 b4             	lea    -0x4c(%ebp),%eax
435076:	ff 75 10             	push   0x10(%ebp)
435079:	50                   	push   %eax
43507a:	53                   	push   %ebx
43507b:	e8 7b 0f 00 00       	call   0x435ffb
435080:	56                   	push   %esi
435081:	ff 75 1c             	push   0x1c(%ebp)
435084:	ff 70 04             	push   0x4(%eax)
435087:	ff 30                	push   (%eax)
435089:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43508c:	50                   	push   %eax
43508d:	53                   	push   %ebx
43508e:	e8 f0 1a 00 00       	call   0x436b83
435093:	83 c4 30             	add    $0x30,%esp
435096:	33 f6                	xor    %esi,%esi
435098:	eb 24                	jmp    0x4350be
43509a:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43509e:	8d 45 d8             	lea    -0x28(%ebp),%eax
4350a1:	72 03                	jb     0x4350a6
4350a3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4350a6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4350a9:	57                   	push   %edi
4350aa:	50                   	push   %eax
4350ab:	ff 75 14             	push   0x14(%ebp)
4350ae:	ff 75 10             	push   0x10(%ebp)
4350b1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4350b4:	50                   	push   %eax
4350b5:	53                   	push   %ebx
4350b6:	e8 40 0f 00 00       	call   0x435ffb
4350bb:	83 c4 18             	add    $0x18,%esp
4350be:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4350c2:	8b 08                	mov    (%eax),%ecx
4350c4:	89 4d 10             	mov    %ecx,0x10(%ebp)
4350c7:	8b 50 04             	mov    0x4(%eax),%edx
4350ca:	8d 45 d8             	lea    -0x28(%ebp),%eax
4350cd:	89 55 14             	mov    %edx,0x14(%ebp)
4350d0:	89 45 b0             	mov    %eax,-0x50(%ebp)
4350d3:	72 06                	jb     0x4350db
4350d5:	8b 45 d8             	mov    -0x28(%ebp),%eax
4350d8:	89 45 b0             	mov    %eax,-0x50(%ebp)
4350db:	8b 45 bc             	mov    -0x44(%ebp),%eax
4350de:	2b c7                	sub    %edi,%eax
4350e0:	50                   	push   %eax
4350e1:	8b 45 b0             	mov    -0x50(%ebp),%eax
4350e4:	8d 04 78             	lea    (%eax,%edi,2),%eax
4350e7:	50                   	push   %eax
4350e8:	52                   	push   %edx
4350e9:	51                   	push   %ecx
4350ea:	8d 45 ac             	lea    -0x54(%ebp),%eax
4350ed:	50                   	push   %eax
4350ee:	53                   	push   %ebx
4350ef:	e8 07 0f 00 00       	call   0x435ffb
4350f4:	8b 55 a8             	mov    -0x58(%ebp),%edx
4350f7:	56                   	push   %esi
4350f8:	ff 75 1c             	push   0x1c(%ebp)
4350fb:	8b 08                	mov    (%eax),%ecx
4350fd:	8b 75 a4             	mov    -0x5c(%ebp),%esi
435100:	89 4d 10             	mov    %ecx,0x10(%ebp)
435103:	8b 40 04             	mov    0x4(%eax),%eax
435106:	83 62 20 00          	andl   $0x0,0x20(%edx)
43510a:	83 62 24 00          	andl   $0x0,0x24(%edx)
43510e:	50                   	push   %eax
43510f:	51                   	push   %ecx
435110:	56                   	push   %esi
435111:	53                   	push   %ebx
435112:	89 45 14             	mov    %eax,0x14(%ebp)
435115:	e8 69 1a 00 00       	call   0x436b83
43511a:	83 c4 30             	add    $0x30,%esp
43511d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
435120:	e8 af 81 fe ff       	call   0x41d2d4
435125:	8d 4d d8             	lea    -0x28(%ebp),%ecx
435128:	e8 5e 1b 00 00       	call   0x436c8b
43512d:	8b c6                	mov    %esi,%eax
43512f:	e8 f4 a8 00 00       	call   0x43fa28
435134:	c3                   	ret
435135:	6a 50                	push   $0x50
435137:	b8 82 21 49 00       	mov    $0x492182,%eax
43513c:	e8 3d a9 00 00       	call   0x43fa7e
435141:	8b 5d 24             	mov    0x24(%ebp),%ebx
435144:	8b 45 0c             	mov    0xc(%ebp),%eax
435147:	8b 75 18             	mov    0x18(%ebp),%esi
43514a:	8b 4d 20             	mov    0x20(%ebp),%ecx
43514d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
435150:	89 75 a8             	mov    %esi,-0x58(%ebp)
435153:	89 4d b0             	mov    %ecx,-0x50(%ebp)
435156:	85 db                	test   %ebx,%ebx
435158:	74 0f                	je     0x435169
43515a:	8a 01                	mov    (%ecx),%al
43515c:	3c 2b                	cmp    $0x2b,%al
43515e:	74 04                	je     0x435164
435160:	3c 2d                	cmp    $0x2d,%al
435162:	75 05                	jne    0x435169
435164:	33 ff                	xor    %edi,%edi
435166:	47                   	inc    %edi
435167:	eb 02                	jmp    0x43516b
435169:	33 ff                	xor    %edi,%edi
43516b:	8b 46 14             	mov    0x14(%esi),%eax
43516e:	25 00 0e 00 00       	and    $0xe00,%eax
435173:	3d 00 08 00 00       	cmp    $0x800,%eax
435178:	75 1d                	jne    0x435197
43517a:	8d 47 02             	lea    0x2(%edi),%eax
43517d:	3b c3                	cmp    %ebx,%eax
43517f:	77 16                	ja     0x435197
435181:	80 3c 39 30          	cmpb   $0x30,(%ecx,%edi,1)
435185:	75 10                	jne    0x435197
435187:	8a 4c 39 01          	mov    0x1(%ecx,%edi,1),%cl
43518b:	80 f9 78             	cmp    $0x78,%cl
43518e:	74 05                	je     0x435195
435190:	80 f9 58             	cmp    $0x58,%cl
435193:	75 02                	jne    0x435197
435195:	8b f8                	mov    %eax,%edi
435197:	ff 76 30             	push   0x30(%esi)
43519a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
43519d:	e8 9a 3c ff ff       	call   0x428e3c
4351a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4351a6:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4351a9:	50                   	push   %eax
4351aa:	e8 b3 3b fd ff       	call   0x408d62
4351af:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4351b3:	59                   	pop    %ecx
4351b4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4351b7:	89 45 bc             	mov    %eax,-0x44(%ebp)
4351ba:	e8 28 a2 fd ff       	call   0x40f3e7
4351bf:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4351c3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4351c6:	33 c0                	xor    %eax,%eax
4351c8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
4351cf:	50                   	push   %eax
4351d0:	53                   	push   %ebx
4351d1:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4351d5:	e8 57 a6 fe ff       	call   0x41f831
4351da:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4351de:	8d 45 d8             	lea    -0x28(%ebp),%eax
4351e1:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4351e8:	72 03                	jb     0x4351ed
4351ea:	8b 45 d8             	mov    -0x28(%ebp),%eax
4351ed:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4351f0:	50                   	push   %eax
4351f1:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
4351f4:	50                   	push   %eax
4351f5:	51                   	push   %ecx
4351f6:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4351f9:	e8 3e 64 00 00       	call   0x43b63c
4351fe:	ff 76 30             	push   0x30(%esi)
435201:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
435204:	e8 33 3c ff ff       	call   0x428e3c
435209:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43520c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
435210:	50                   	push   %eax
435211:	e8 98 3c fd ff       	call   0x408eae
435216:	59                   	pop    %ecx
435217:	8b f0                	mov    %eax,%esi
435219:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43521d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
435220:	89 75 b0             	mov    %esi,-0x50(%ebp)
435223:	e8 bf a1 fd ff       	call   0x40f3e7
435228:	8b 06                	mov    (%esi),%eax
43522a:	8b 70 14             	mov    0x14(%eax),%esi
43522d:	8d 45 c0             	lea    -0x40(%ebp),%eax
435230:	50                   	push   %eax
435231:	8b ce                	mov    %esi,%ecx
435233:	ff 15 54 43 49 00    	call   *0x494354
435239:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43523c:	ff d6                	call   *%esi
43523e:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
435242:	8d 75 c0             	lea    -0x40(%ebp),%esi
435245:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
435249:	72 03                	jb     0x43524e
43524b:	8b 75 c0             	mov    -0x40(%ebp),%esi
43524e:	8a 06                	mov    (%esi),%al
435250:	3c 7f                	cmp    $0x7f,%al
435252:	74 44                	je     0x435298
435254:	84 c0                	test   %al,%al
435256:	7e 40                	jle    0x435298
435258:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43525b:	e8 2c 63 00 00       	call   0x43b58c
435260:	0f b7 d0             	movzwl %ax,%edx
435263:	89 55 bc             	mov    %edx,-0x44(%ebp)
435266:	eb 2a                	jmp    0x435292
435268:	84 c0                	test   %al,%al
43526a:	7e 2c                	jle    0x435298
43526c:	0f be c8             	movsbl %al,%ecx
43526f:	8b c3                	mov    %ebx,%eax
435271:	2b c7                	sub    %edi,%eax
435273:	3b c8                	cmp    %eax,%ecx
435275:	73 21                	jae    0x435298
435277:	52                   	push   %edx
435278:	2b d9                	sub    %ecx,%ebx
43527a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43527d:	6a 01                	push   $0x1
43527f:	53                   	push   %ebx
435280:	e8 d2 5e 00 00       	call   0x43b157
435285:	8d 46 01             	lea    0x1(%esi),%eax
435288:	80 38 00             	cmpb   $0x0,(%eax)
43528b:	7e 02                	jle    0x43528f
43528d:	8b f0                	mov    %eax,%esi
43528f:	8b 55 bc             	mov    -0x44(%ebp),%edx
435292:	8a 06                	mov    (%esi),%al
435294:	3c 7f                	cmp    $0x7f,%al
435296:	75 d0                	jne    0x435268
435298:	8b 45 a8             	mov    -0x58(%ebp),%eax
43529b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43529e:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4352a1:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4352a5:	7c 13                	jl     0x4352ba
4352a7:	7f 06                	jg     0x4352af
4352a9:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
4352ad:	76 0b                	jbe    0x4352ba
4352af:	8b 70 20             	mov    0x20(%eax),%esi
4352b2:	3b f1                	cmp    %ecx,%esi
4352b4:	76 04                	jbe    0x4352ba
4352b6:	2b f1                	sub    %ecx,%esi
4352b8:	eb 02                	jmp    0x4352bc
4352ba:	33 f6                	xor    %esi,%esi
4352bc:	8b 40 14             	mov    0x14(%eax),%eax
4352bf:	25 c0 01 00 00       	and    $0x1c0,%eax
4352c4:	83 f8 40             	cmp    $0x40,%eax
4352c7:	74 75                	je     0x43533e
4352c9:	3d 00 01 00 00       	cmp    $0x100,%eax
4352ce:	74 33                	je     0x435303
4352d0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4352d3:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4352d6:	56                   	push   %esi
4352d7:	ff 75 1c             	push   0x1c(%ebp)
4352da:	ff 75 14             	push   0x14(%ebp)
4352dd:	ff 75 10             	push   0x10(%ebp)
4352e0:	50                   	push   %eax
4352e1:	53                   	push   %ebx
4352e2:	e8 c8 18 00 00       	call   0x436baf
4352e7:	83 c4 18             	add    $0x18,%esp
4352ea:	33 f6                	xor    %esi,%esi
4352ec:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4352f0:	8b c8                	mov    %eax,%ecx
4352f2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4352f5:	72 03                	jb     0x4352fa
4352f7:	8b 45 d8             	mov    -0x28(%ebp),%eax