45f163:	50                   	push   %eax
45f164:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f167:	46                   	inc    %esi
45f168:	e8 80 7d fa ff       	call   0x406eed
45f16d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f170:	e8 85 cc fa ff       	call   0x40bdfa
45f175:	ff 75 d4             	push   -0x2c(%ebp)
45f178:	ff 75 d0             	push   -0x30(%ebp)
45f17b:	ff 15 60 d6 48 00    	call   *0x48d660
45f181:	53                   	push   %ebx
45f182:	8d 45 f8             	lea    -0x8(%ebp),%eax
45f185:	50                   	push   %eax
45f186:	8d 45 f4             	lea    -0xc(%ebp),%eax
45f189:	50                   	push   %eax
45f18a:	8d 45 d0             	lea    -0x30(%ebp),%eax
45f18d:	50                   	push   %eax
45f18e:	e8 b2 e4 fa ff       	call   0x40d645
45f193:	8b 5d f4             	mov    -0xc(%ebp),%ebx
45f196:	85 db                	test   %ebx,%ebx
45f198:	74 1b                	je     0x45f1b5
45f19a:	8b cb                	mov    %ebx,%ecx
45f19c:	e8 cb a1 fa ff       	call   0x40936c
45f1a1:	8b 43 08             	mov    0x8(%ebx),%eax
45f1a4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f1a7:	ff 30                	push   (%eax)
45f1a9:	e8 de 5f fa ff       	call   0x40518c
45f1ae:	b3 01                	mov    $0x1,%bl
45f1b0:	e9 f0 00 00 00       	jmp    0x45f2a5
45f1b5:	68 68 32 4b 00       	push   $0x4b3268
45f1ba:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f1bd:	b3 01                	mov    $0x1,%bl
45f1bf:	e8 c8 5f fa ff       	call   0x40518c
45f1c4:	8d 45 c0             	lea    -0x40(%ebp),%eax
45f1c7:	50                   	push   %eax
45f1c8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f1cb:	e8 3d 5f fa ff       	call   0x40510d
45f1d0:	68 68 32 4b 00       	push   $0x4b3268
45f1d5:	e9 b8 00 00 00       	jmp    0x45f292
45f1da:	66 3b c2             	cmp    %dx,%ax
45f1dd:	0f 85 b9 00 00 00    	jne    0x45f29c
45f1e3:	66 39 14 77          	cmp    %dx,(%edi,%esi,2)
45f1e7:	75 06                	jne    0x45f1ef
45f1e9:	52                   	push   %edx
45f1ea:	e9 2b ff ff ff       	jmp    0x45f11a
45f1ef:	68 00 dc 49 00       	push   $0x49dc00
45f1f4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45f1f7:	e8 67 78 fa ff       	call   0x406a63
45f1fc:	6a 40                	push   $0x40
45f1fe:	5b                   	pop    %ebx
45f1ff:	eb 0f                	jmp    0x45f210
45f201:	66 85 c0             	test   %ax,%ax
45f204:	74 13                	je     0x45f219
45f206:	50                   	push   %eax
45f207:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45f20a:	e8 8a d5 fa ff       	call   0x40c799
45f20f:	46                   	inc    %esi
45f210:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
45f214:	66 3b c3             	cmp    %bx,%ax
45f217:	75 e8                	jne    0x45f201
45f219:	33 c0                	xor    %eax,%eax
45f21b:	66 39 04 77          	cmp    %ax,(%edi,%esi,2)
45f21f:	0f 84 a9 00 00 00    	je     0x45f2ce
45f225:	8d 45 c0             	lea    -0x40(%ebp),%eax
45f228:	50                   	push   %eax
45f229:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f22c:	46                   	inc    %esi
45f22d:	e8 bb 7c fa ff       	call   0x406eed
45f232:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f235:	e8 c0 cb fa ff       	call   0x40bdfa
45f23a:	ff 75 d4             	push   -0x2c(%ebp)
45f23d:	ff 75 d0             	push   -0x30(%ebp)
45f240:	ff 15 60 d6 48 00    	call   *0x48d660
45f246:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45f249:	8d 45 ac             	lea    -0x54(%ebp),%eax
45f24c:	50                   	push   %eax
45f24d:	8d 45 d0             	lea    -0x30(%ebp),%eax
45f250:	50                   	push   %eax
45f251:	e8 cc e6 fb ff       	call   0x41d922
45f256:	85 c0                	test   %eax,%eax
45f258:	78 18                	js     0x45f272
45f25a:	8d 4d ac             	lea    -0x54(%ebp),%ecx
45f25d:	e8 0a a1 fa ff       	call   0x40936c
45f262:	ff 75 b4             	push   -0x4c(%ebp)
45f265:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f268:	e8 a0 5e fa ff       	call   0x40510d
45f26d:	e9 3c ff ff ff       	jmp    0x45f1ae
45f272:	68 d0 41 4b 00       	push   $0x4b41d0
45f277:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f27a:	b3 01                	mov    $0x1,%bl
45f27c:	e8 0b 5f fa ff       	call   0x40518c
45f281:	8d 45 c0             	lea    -0x40(%ebp),%eax
45f284:	50                   	push   %eax
45f285:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f288:	e8 80 5e fa ff       	call   0x40510d
45f28d:	68 d0 41 4b 00       	push   $0x4b41d0
45f292:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f295:	e8 f2 5e fa ff       	call   0x40518c
45f29a:	eb 09                	jmp    0x45f2a5
45f29c:	50                   	push   %eax
45f29d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f2a0:	e8 f4 d4 fa ff       	call   0x40c799
45f2a5:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
45f2a9:	66 85 c0             	test   %ax,%ax
45f2ac:	74 3b                	je     0x45f2e9
45f2ae:	e9 50 fe ff ff       	jmp    0x45f103
45f2b3:	68 68 32 4b 00       	push   $0x4b3268
45f2b8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f2bb:	e8 cc 5e fa ff       	call   0x40518c
45f2c0:	8d 45 c0             	lea    -0x40(%ebp),%eax
45f2c3:	50                   	push   %eax
45f2c4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f2c7:	e8 41 5e fa ff       	call   0x40510d
45f2cc:	eb 1f                	jmp    0x45f2ed
45f2ce:	68 d0 41 4b 00       	push   $0x4b41d0
45f2d3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f2d6:	b3 01                	mov    $0x1,%bl
45f2d8:	e8 af 5e fa ff       	call   0x40518c
45f2dd:	8d 45 c0             	lea    -0x40(%ebp),%eax
45f2e0:	50                   	push   %eax
45f2e1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f2e4:	e8 24 5e fa ff       	call   0x40510d
45f2e9:	84 db                	test   %bl,%bl
45f2eb:	74 0c                	je     0x45f2f9
45f2ed:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f2f0:	8d 45 e0             	lea    -0x20(%ebp),%eax
45f2f3:	50                   	push   %eax
45f2f4:	e8 6f 78 fa ff       	call   0x406b68
45f2f9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
45f2fc:	e8 1f 39 fb ff       	call   0x412c20
45f301:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f304:	e8 2e d8 fa ff       	call   0x40cb37
45f309:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45f30c:	e8 26 d8 fa ff       	call   0x40cb37
45f311:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f314:	e8 1e d8 fa ff       	call   0x40cb37
45f319:	5f                   	pop    %edi
45f31a:	5e                   	pop    %esi
45f31b:	5b                   	pop    %ebx
45f31c:	c9                   	leave
45f31d:	c2 04 00             	ret    $0x4
45f320:	55                   	push   %ebp
45f321:	8b ec                	mov    %esp,%ebp
45f323:	81 ec 24 01 00 00    	sub    $0x124,%esp
45f329:	8b 55 08             	mov    0x8(%ebp),%edx
45f32c:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
45f330:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45f334:	8b 42 04             	mov    0x4(%edx),%eax
45f337:	53                   	push   %ebx
45f338:	56                   	push   %esi
45f339:	8b 75 0c             	mov    0xc(%ebp),%esi
45f33c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45f33f:	8b 0e                	mov    (%esi),%ecx
45f341:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
45f348:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45f34c:	57                   	push   %edi
45f34d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45f351:	89 45 f4             	mov    %eax,-0xc(%ebp)
45f354:	8b 42 04             	mov    0x4(%edx),%eax
45f357:	6a 4e                	push   $0x4e
45f359:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f35c:	5b                   	pop    %ebx
45f35d:	33 ff                	xor    %edi,%edi
45f35f:	83 c9 ff             	or     $0xffffffff,%ecx
45f362:	66 39 58 08          	cmp    %bx,0x8(%eax)
45f366:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45f369:	eb 76                	jmp    0x45f3e1
45f36b:	ff 06                	incl   (%esi)
45f36d:	8b 06                	mov    (%esi),%eax
45f36f:	8b 7a 04             	mov    0x4(%edx),%edi
45f372:	51                   	push   %ecx
45f373:	8b 04 87             	mov    (%edi,%eax,4),%eax
45f376:	8b cb                	mov    %ebx,%ecx
45f378:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45f37c:	89 45 0c             	mov    %eax,0xc(%ebp)
45f37f:	8d 45 e0             	lea    -0x20(%ebp),%eax
45f382:	50                   	push   %eax
45f383:	56                   	push   %esi
45f384:	52                   	push   %edx
45f385:	e8 a6 0a fb ff       	call   0x40fe30
45f38a:	8b 7d fc             	mov    -0x4(%ebp),%edi
45f38d:	85 c0                	test   %eax,%eax
45f38f:	0f 88 9c 00 00 00    	js     0x45f431
45f395:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f398:	e8 e9 de fa ff       	call   0x40d286
45f39d:	85 c0                	test   %eax,%eax
45f39f:	0f 88 a1 00 00 00    	js     0x45f446
45f3a5:	8b 55 08             	mov    0x8(%ebp),%edx
45f3a8:	8b 0e                	mov    (%esi),%ecx
45f3aa:	8b 42 04             	mov    0x4(%edx),%eax
45f3ad:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f3b0:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
45f3b5:	75 7f                	jne    0x45f436
45f3b7:	8d 41 01             	lea    0x1(%ecx),%eax
45f3ba:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f3bd:	89 06                	mov    %eax,(%esi)
45f3bf:	e8 c2 de fa ff       	call   0x40d286
45f3c4:	8b 55 08             	mov    0x8(%ebp),%edx
45f3c7:	89 84 bd e0 fe ff ff 	mov    %eax,-0x120(%ebp,%edi,4)
45f3ce:	8b 4a 04             	mov    0x4(%edx),%ecx
45f3d1:	8b 06                	mov    (%esi),%eax
45f3d3:	6a 4e                	push   $0x4e
45f3d5:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45f3d8:	59                   	pop    %ecx
45f3d9:	47                   	inc    %edi
45f3da:	66 39 48 08          	cmp    %cx,0x8(%eax)
45f3de:	6a ff                	push   $0xffffffff
45f3e0:	59                   	pop    %ecx
45f3e1:	89 7d fc             	mov    %edi,-0x4(%ebp)
45f3e4:	74 85                	je     0x45f36b
45f3e6:	8b 75 10             	mov    0x10(%ebp),%esi
45f3e9:	8b 0e                	mov    (%esi),%ecx
45f3eb:	e8 6c cd fb ff       	call   0x41c15c
45f3f0:	33 ff                	xor    %edi,%edi
45f3f2:	39 7d fc             	cmp    %edi,-0x4(%ebp)
45f3f5:	7e 19                	jle    0x45f410
45f3f7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45f3fa:	ff b4 bd e0 fe ff ff 	push   -0x120(%ebp,%edi,4)
45f401:	8b 0e                	mov    (%esi),%ecx
45f403:	e8 6f cd fb ff       	call   0x41c177
45f408:	47                   	inc    %edi
45f409:	3b fb                	cmp    %ebx,%edi
45f40b:	7c ed                	jl     0x45f3fa
45f40d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45f410:	6a 00                	push   $0x0
45f412:	ff 75 14             	push   0x14(%ebp)
45f415:	ff 36                	push   (%esi)
45f417:	e8 74 27 fb ff       	call   0x411b90
45f41c:	83 c4 0c             	add    $0xc,%esp
45f41f:	89 06                	mov    %eax,(%esi)
45f421:	85 c0                	test   %eax,%eax
45f423:	75 26                	jne    0x45f44b
45f425:	ff 75 f4             	push   -0xc(%ebp)
45f428:	6a 7a                	push   $0x7a
45f42a:	8b cb                	mov    %ebx,%ecx
45f42c:	e8 2b d8 fe ff       	call   0x44cc5c
45f431:	83 ce ff             	or     $0xffffffff,%esi
45f434:	eb 17                	jmp    0x45f44d
45f436:	8b 42 04             	mov    0x4(%edx),%eax
45f439:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45f43d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45f441:	50                   	push   %eax
45f442:	6a 7b                	push   $0x7b
45f444:	eb e4                	jmp    0x45f42a
45f446:	ff 75 0c             	push   0xc(%ebp)
45f449:	eb f7                	jmp    0x45f442
45f44b:	33 f6                	xor    %esi,%esi
45f44d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f450:	e8 cb 37 fb ff       	call   0x412c20
45f455:	5f                   	pop    %edi
45f456:	8b c6                	mov    %esi,%eax
45f458:	5e                   	pop    %esi
45f459:	5b                   	pop    %ebx
45f45a:	c9                   	leave
45f45b:	c2 10 00             	ret    $0x10
45f45e:	55                   	push   %ebp
45f45f:	8b ec                	mov    %esp,%ebp
45f461:	83 ec 44             	sub    $0x44,%esp
45f464:	53                   	push   %ebx
45f465:	56                   	push   %esi
45f466:	33 f6                	xor    %esi,%esi
45f468:	33 c0                	xor    %eax,%eax
45f46a:	57                   	push   %edi
45f46b:	40                   	inc    %eax
45f46c:	8b f9                	mov    %ecx,%edi
45f46e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f471:	c7 45 e0 50 dc 49 00 	movl   $0x49dc50,-0x20(%ebp)
45f478:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45f47b:	89 75 e8             	mov    %esi,-0x18(%ebp)
45f47e:	89 75 ec             	mov    %esi,-0x14(%ebp)
45f481:	89 75 f0             	mov    %esi,-0x10(%ebp)
45f484:	89 75 f8             	mov    %esi,-0x8(%ebp)
45f487:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f48a:	89 75 c0             	mov    %esi,-0x40(%ebp)
45f48d:	89 75 c8             	mov    %esi,-0x38(%ebp)
45f490:	89 45 cc             	mov    %eax,-0x34(%ebp)
45f493:	e8 5f e3 fa ff       	call   0x40d7f7
45f498:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45f49b:	8b 45 08             	mov    0x8(%ebp),%eax
45f49e:	8b 0b                	mov    (%ebx),%ecx
45f4a0:	8b 40 04             	mov    0x4(%eax),%eax
45f4a3:	6a 47                	push   $0x47
45f4a5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f4a8:	59                   	pop    %ecx
45f4a9:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45f4ad:	66 83 f8 35          	cmp    $0x35,%ax
45f4b1:	74 0d                	je     0x45f4c0
45f4b3:	66 3b c1             	cmp    %cx,%ax
45f4b6:	74 08                	je     0x45f4c0
45f4b8:	ff 75 10             	push   0x10(%ebp)
45f4bb:	e9 e7 00 00 00       	jmp    0x45f5a7
45f4c0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f4c3:	e8 ad 0c fe ff       	call   0x440175
45f4c8:	8b 45 08             	mov    0x8(%ebp),%eax
45f4cb:	8b 0b                	mov    (%ebx),%ecx
45f4cd:	8b 40 04             	mov    0x4(%eax),%eax
45f4d0:	6a 47                	push   $0x47
45f4d2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f4d5:	5a                   	pop    %edx
45f4d6:	66 39 50 08          	cmp    %dx,0x8(%eax)
45f4da:	75 14                	jne    0x45f4f0
45f4dc:	8d 41 ff             	lea    -0x1(%ecx),%eax
45f4df:	68 00 dc 49 00       	push   $0x49dc00
45f4e4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f4e7:	89 03                	mov    %eax,(%ebx)
45f4e9:	e8 75 75 fa ff       	call   0x406a63
45f4ee:	eb 0a                	jmp    0x45f4fa
45f4f0:	ff 30                	push   (%eax)
45f4f2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f4f5:	e8 f3 79 fa ff       	call   0x406eed
45f4fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f4fd:	8b 13                	mov    (%ebx),%edx
45f4ff:	8b 41 04             	mov    0x4(%ecx),%eax
45f502:	6a 47                	push   $0x47
45f504:	8b 44 90 04          	mov    0x4(%eax,%edx,4),%eax
45f508:	59                   	pop    %ecx
45f509:	66 39 48 08          	cmp    %cx,0x8(%eax)
45f50d:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f510:	75 2b                	jne    0x45f53d
45f512:	8d 45 e0             	lea    -0x20(%ebp),%eax
45f515:	50                   	push   %eax
45f516:	53                   	push   %ebx
45f517:	51                   	push   %ecx
45f518:	8b cf                	mov    %edi,%ecx
45f51a:	e8 1e d4 ff ff       	call   0x45c93d
45f51f:	85 c0                	test   %eax,%eax
45f521:	79 15                	jns    0x45f538
45f523:	68 d8 41 4b 00       	push   $0x4b41d8
45f528:	51                   	push   %ecx
45f529:	8b cf                	mov    %edi,%ecx
45f52b:	e8 18 d5 fe ff       	call   0x44ca48
45f530:	83 ce ff             	or     $0xffffffff,%esi
45f533:	e9 8d 00 00 00       	jmp    0x45f5c5
45f538:	33 c0                	xor    %eax,%eax
45f53a:	40                   	inc    %eax
45f53b:	eb 07                	jmp    0x45f544
45f53d:	8d 42 01             	lea    0x1(%edx),%eax
45f540:	89 03                	mov    %eax,(%ebx)
45f542:	8b c6                	mov    %esi,%eax
45f544:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45f547:	51                   	push   %ecx
45f548:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f54b:	51                   	push   %ecx
45f54c:	ff 75 d0             	push   -0x30(%ebp)
45f54f:	8b cf                	mov    %edi,%ecx
45f551:	ff 75 10             	push   0x10(%ebp)
45f554:	50                   	push   %eax
45f555:	e8 40 d3 ff ff       	call   0x45c89a
45f55a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45f55d:	e8 1e d6 ff ff       	call   0x45cb80
45f562:	84 c0                	test   %al,%al