45f243:	56                   	push   %esi
45f244:	57                   	push   %edi
45f245:	33 db                	xor    %ebx,%ebx
45f247:	89 5d b8             	mov    %ebx,-0x48(%ebp)
45f24a:	84 d2                	test   %dl,%dl
45f24c:	74 08                	je     0x45f256
45f24e:	83 c4 f0             	add    $0xfffffff0,%esp
45f251:	e8 e2 44 fa ff       	call   0x403738
45f256:	8b f1                	mov    %ecx,%esi
45f258:	8b da                	mov    %edx,%ebx
45f25a:	8b f8                	mov    %eax,%edi
45f25c:	33 c0                	xor    %eax,%eax
45f25e:	55                   	push   %ebp
45f25f:	68 c3 f2 45 00       	push   $0x45f2c3
45f264:	64 ff 30             	push   %fs:(%eax)
45f267:	64 89 20             	mov    %esp,%fs:(%eax)
45f26a:	8d 55 de             	lea    -0x22(%ebp),%edx
45f26d:	8b c6                	mov    %esi,%eax
45f26f:	e8 b4 04 00 00       	call   0x45f728
45f274:	66 8b 45 08          	mov    0x8(%ebp),%ax
45f278:	50                   	push   %eax
45f279:	8d 55 bc             	lea    -0x44(%ebp),%edx
45f27c:	8d 45 de             	lea    -0x22(%ebp),%eax
45f27f:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
45f283:	e8 58 22 00 00       	call   0x4614e0
45f288:	84 c0                	test   %al,%al
45f28a:	75 15                	jne    0x45f2a1
45f28c:	8d 55 b8             	lea    -0x48(%ebp),%edx
45f28f:	a1 e0 b1 49 00       	mov    0x49b1e0,%eax
45f294:	e8 9f 6f fa ff       	call   0x406238
45f299:	8b 45 b8             	mov    -0x48(%ebp),%eax
45f29c:	e8 93 fb ff ff       	call   0x45ee34
45f2a1:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45f2a4:	33 d2                	xor    %edx,%edx
45f2a6:	8b c7                	mov    %edi,%eax
45f2a8:	e8 7f fe ff ff       	call   0x45f12c
45f2ad:	33 c0                	xor    %eax,%eax
45f2af:	5a                   	pop    %edx
45f2b0:	59                   	pop    %ecx
45f2b1:	59                   	pop    %ecx
45f2b2:	64 89 10             	mov    %edx,%fs:(%eax)
45f2b5:	68 ca f2 45 00       	push   $0x45f2ca
45f2ba:	8d 45 b8             	lea    -0x48(%ebp),%eax
45f2bd:	e8 a2 4e fa ff       	call   0x404164
45f2c2:	c3                   	ret
45f2c3:	e9 a0 48 fa ff       	jmp    0x403b68
45f2c8:	eb f0                	jmp    0x45f2ba
45f2ca:	8b c7                	mov    %edi,%eax
45f2cc:	84 db                	test   %bl,%bl
45f2ce:	74 0f                	je     0x45f2df
45f2d0:	e8 bb 44 fa ff       	call   0x403790
45f2d5:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45f2dc:	83 c4 0c             	add    $0xc,%esp
45f2df:	8b c7                	mov    %edi,%eax
45f2e1:	5f                   	pop    %edi
45f2e2:	5e                   	pop    %esi
45f2e3:	5b                   	pop    %ebx
45f2e4:	8b e5                	mov    %ebp,%esp
45f2e6:	5d                   	pop    %ebp
45f2e7:	c2 08 00             	ret    $0x8
45f2ea:	8b c0                	mov    %eax,%eax
45f2ec:	53                   	push   %ebx
45f2ed:	56                   	push   %esi
45f2ee:	84 d2                	test   %dl,%dl
45f2f0:	74 08                	je     0x45f2fa
45f2f2:	83 c4 f0             	add    $0xfffffff0,%esp
45f2f5:	e8 3e 44 fa ff       	call   0x403738
45f2fa:	8b da                	mov    %edx,%ebx
45f2fc:	8b f0                	mov    %eax,%esi
45f2fe:	8d 41 04             	lea    0x4(%ecx),%eax
45f301:	8b c8                	mov    %eax,%ecx
45f303:	33 d2                	xor    %edx,%edx
45f305:	8b c6                	mov    %esi,%eax
45f307:	e8 20 fe ff ff       	call   0x45f12c
45f30c:	8b c6                	mov    %esi,%eax
45f30e:	84 db                	test   %bl,%bl
45f310:	74 0f                	je     0x45f321
45f312:	e8 79 44 fa ff       	call   0x403790
45f317:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45f31e:	83 c4 0c             	add    $0xc,%esp
45f321:	8b c6                	mov    %esi,%eax
45f323:	5e                   	pop    %esi
45f324:	5b                   	pop    %ebx
45f325:	c3                   	ret
45f326:	8b c0                	mov    %eax,%eax
45f328:	66 c7 02 00 00       	movw   $0x0,(%edx)
45f32d:	8d 42 08             	lea    0x8(%edx),%eax
45f330:	e8 a3 ed fa ff       	call   0x40e0d8
45f335:	c3                   	ret
45f336:	8b c0                	mov    %eax,%eax
45f338:	55                   	push   %ebp
45f339:	8b ec                	mov    %esp,%ebp
45f33b:	83 c4 d4             	add    $0xffffffd4,%esp
45f33e:	53                   	push   %ebx
45f33f:	33 db                	xor    %ebx,%ebx
45f341:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45f344:	8b d9                	mov    %ecx,%ebx
45f346:	89 55 f8             	mov    %edx,-0x8(%ebp)
45f349:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f34c:	33 c0                	xor    %eax,%eax
45f34e:	55                   	push   %ebp
45f34f:	68 62 f4 45 00       	push   $0x45f462
45f354:	64 ff 30             	push   %fs:(%eax)
45f357:	64 89 20             	mov    %esp,%fs:(%eax)
45f35a:	8d 55 e8             	lea    -0x18(%ebp),%edx
45f35d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f360:	e8 8b 76 fb ff       	call   0x4169f0
45f365:	33 c0                	xor    %eax,%eax
45f367:	55                   	push   %ebp
45f368:	68 45 f4 45 00       	push   $0x45f445
45f36d:	64 ff 30             	push   %fs:(%eax)
45f370:	64 89 20             	mov    %esp,%fs:(%eax)
45f373:	8b cb                	mov    %ebx,%ecx
45f375:	8d 55 e8             	lea    -0x18(%ebp),%edx
45f378:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f37b:	e8 80 76 fb ff       	call   0x416a00
45f380:	8d 55 e8             	lea    -0x18(%ebp),%edx
45f383:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f386:	e8 01 77 fb ff       	call   0x416a8c
45f38b:	84 c0                	test   %al,%al
45f38d:	74 29                	je     0x45f3b8
45f38f:	6a 20                	push   $0x20
45f391:	6a 08                	push   $0x8
45f393:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45f396:	8d 55 e8             	lea    -0x18(%ebp),%edx
45f399:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f39c:	e8 f7 76 fb ff       	call   0x416a98
45f3a1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
45f3a4:	b2 01                	mov    $0x1,%dl
45f3a6:	a1 70 ec 45 00       	mov    0x45ec70,%eax
45f3ab:	e8 8c fe ff ff       	call   0x45f23c
45f3b0:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f3b3:	89 42 08             	mov    %eax,0x8(%edx)
45f3b6:	eb 67                	jmp    0x45f41f
45f3b8:	8d 55 d8             	lea    -0x28(%ebp),%edx
45f3bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f3be:	e8 2d 76 fb ff       	call   0x4169f0
45f3c3:	33 c0                	xor    %eax,%eax
45f3c5:	55                   	push   %ebp
45f3c6:	68 18 f4 45 00       	push   $0x45f418
45f3cb:	64 ff 30             	push   %fs:(%eax)
45f3ce:	64 89 20             	mov    %esp,%fs:(%eax)
45f3d1:	6a 05                	push   $0x5
45f3d3:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45f3d6:	8d 55 d8             	lea    -0x28(%ebp),%edx
45f3d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f3dc:	e8 2b 76 fb ff       	call   0x416a0c
45f3e1:	ff 75 e4             	push   -0x1c(%ebp)
45f3e4:	ff 75 e0             	push   -0x20(%ebp)
45f3e7:	6a 08                	push   $0x8
45f3e9:	66 b9 20 00          	mov    $0x20,%cx
45f3ed:	b2 01                	mov    $0x1,%dl
45f3ef:	a1 70 ec 45 00       	mov    0x45ec70,%eax
45f3f4:	e8 7b fd ff ff       	call   0x45f174
45f3f9:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f3fc:	89 42 08             	mov    %eax,0x8(%edx)
45f3ff:	33 c0                	xor    %eax,%eax
45f401:	5a                   	pop    %edx
45f402:	59                   	pop    %ecx
45f403:	59                   	pop    %ecx
45f404:	64 89 10             	mov    %edx,%fs:(%eax)
45f407:	68 1f f4 45 00       	push   $0x45f41f
45f40c:	8d 55 d8             	lea    -0x28(%ebp),%edx
45f40f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f412:	e8 e1 75 fb ff       	call   0x4169f8
45f417:	c3                   	ret
45f418:	e9 4b 47 fa ff       	jmp    0x403b68
45f41d:	eb ed                	jmp    0x45f40c
45f41f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f422:	66 8b 40 04          	mov    0x4(%eax),%ax
45f426:	8b 55 f8             	mov    -0x8(%ebp),%edx
45f429:	66 89 02             	mov    %ax,(%edx)
45f42c:	33 c0                	xor    %eax,%eax
45f42e:	5a                   	pop    %edx
45f42f:	59                   	pop    %ecx
45f430:	59                   	pop    %ecx
45f431:	64 89 10             	mov    %edx,%fs:(%eax)
45f434:	68 4c f4 45 00       	push   $0x45f44c
45f439:	8d 55 e8             	lea    -0x18(%ebp),%edx
45f43c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f43f:	e8 b4 75 fb ff       	call   0x4169f8
45f444:	c3                   	ret
45f445:	e9 1e 47 fa ff       	jmp    0x403b68
45f44a:	eb ed                	jmp    0x45f439
45f44c:	33 c0                	xor    %eax,%eax
45f44e:	5a                   	pop    %edx
45f44f:	59                   	pop    %ecx
45f450:	59                   	pop    %ecx
45f451:	64 89 10             	mov    %edx,%fs:(%eax)
45f454:	68 69 f4 45 00       	push   $0x45f469
45f459:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45f45c:	e8 03 4d fa ff       	call   0x404164
45f461:	c3                   	ret
45f462:	e9 01 47 fa ff       	jmp    0x403b68
45f467:	eb f0                	jmp    0x45f459
45f469:	5b                   	pop    %ebx
45f46a:	8b e5                	mov    %ebp,%esp
45f46c:	5d                   	pop    %ebp
45f46d:	c3                   	ret
45f46e:	8b c0                	mov    %eax,%eax
45f470:	55                   	push   %ebp
45f471:	8b ec                	mov    %esp,%ebp
45f473:	83 c4 e0             	add    $0xffffffe0,%esp
45f476:	53                   	push   %ebx
45f477:	56                   	push   %esi
45f478:	57                   	push   %edi
45f479:	33 db                	xor    %ebx,%ebx
45f47b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45f47e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
45f481:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
45f484:	8b d9                	mov    %ecx,%ebx
45f486:	8b fa                	mov    %edx,%edi
45f488:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f48b:	8b 75 08             	mov    0x8(%ebp),%esi
45f48e:	33 c0                	xor    %eax,%eax
45f490:	55                   	push   %ebp
45f491:	68 8a f5 45 00       	push   $0x45f58a
45f496:	64 ff 30             	push   %fs:(%eax)
45f499:	64 89 20             	mov    %esp,%fs:(%eax)
45f49c:	66 8b 03             	mov    (%ebx),%ax
45f49f:	8b 55 fc             	mov    -0x4(%ebp),%edx
45f4a2:	66 3b 42 04          	cmp    0x4(%edx),%ax
45f4a6:	0f 85 ae 00 00 00    	jne    0x45f55a
45f4ac:	8b c6                	mov    %esi,%eax
45f4ae:	66 83 e8 08          	sub    $0x8,%ax
45f4b2:	74 08                	je     0x45f4bc
45f4b4:	66 2d f8 00          	sub    $0xf8,%ax
45f4b8:	74 2a                	je     0x45f4e4
45f4ba:	eb 42                	jmp    0x45f4fe
45f4bc:	8d 55 e4             	lea    -0x1c(%ebp),%edx
45f4bf:	8b 43 08             	mov    0x8(%ebx),%eax
45f4c2:	e8 5d fa ff ff       	call   0x45ef24
45f4c7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
45f4ca:	8d 45 e8             	lea    -0x18(%ebp),%eax
45f4cd:	e8 ea 54 fa ff       	call   0x4049bc
45f4d2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45f4d5:	8b d7                	mov    %edi,%edx
45f4d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4da:	e8 61 75 fb ff       	call   0x416a40
45f4df:	e9 83 00 00 00       	jmp    0x45f567
45f4e4:	8d 55 e0             	lea    -0x20(%ebp),%edx
45f4e7:	8b 43 08             	mov    0x8(%ebx),%eax
45f4ea:	e8 35 fa ff ff       	call   0x45ef24
45f4ef:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45f4f2:	8b d7                	mov    %edi,%edx
45f4f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f4f7:	e8 38 75 fb ff       	call   0x416a34
45f4fc:	eb 69                	jmp    0x45f567
45f4fe:	8d 55 ec             	lea    -0x14(%ebp),%edx
45f501:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f504:	e8 e7 74 fb ff       	call   0x4169f0
45f509:	33 c0                	xor    %eax,%eax
45f50b:	55                   	push   %ebp
45f50c:	68 53 f5 45 00       	push   $0x45f553
45f511:	64 ff 30             	push   %fs:(%eax)
45f514:	64 89 20             	mov    %esp,%fs:(%eax)
45f517:	66 c7 45 ec 05 00    	movw   $0x5,-0x14(%ebp)
45f51d:	8b 43 08             	mov    0x8(%ebx),%eax
45f520:	83 c0 04             	add    $0x4,%eax
45f523:	e8 f4 02 00 00       	call   0x45f81c
45f528:	dd 5d f4             	fstpl  -0xc(%ebp)
45f52b:	9b                   	fwait
45f52c:	56                   	push   %esi
45f52d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45f530:	8b d7                	mov    %edi,%edx
45f532:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f535:	e8 d2 74 fb ff       	call   0x416a0c
45f53a:	33 c0                	xor    %eax,%eax
45f53c:	5a                   	pop    %edx
45f53d:	59                   	pop    %ecx
45f53e:	59                   	pop    %ecx
45f53f:	64 89 10             	mov    %edx,%fs:(%eax)
45f542:	68 67 f5 45 00       	push   $0x45f567
45f547:	8d 55 ec             	lea    -0x14(%ebp),%edx
45f54a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f54d:	e8 a6 74 fb ff       	call   0x4169f8
45f552:	c3                   	ret
45f553:	e9 10 46 fa ff       	jmp    0x403b68
45f558:	eb ed                	jmp    0x45f547
45f55a:	56                   	push   %esi
45f55b:	8b cb                	mov    %ebx,%ecx
45f55d:	8b d7                	mov    %edi,%edx
45f55f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f562:	e8 15 70 fb ff       	call   0x41657c
45f567:	33 c0                	xor    %eax,%eax
45f569:	5a                   	pop    %edx
45f56a:	59                   	pop    %ecx
45f56b:	59                   	pop    %ecx
45f56c:	64 89 10             	mov    %edx,%fs:(%eax)
45f56f:	68 91 f5 45 00       	push   $0x45f591
45f574:	8d 45 e0             	lea    -0x20(%ebp),%eax
45f577:	ba 02 00 00 00       	mov    $0x2,%edx
45f57c:	e8 07 4c fa ff       	call   0x404188
45f581:	8d 45 e8             	lea    -0x18(%ebp),%eax
45f584:	e8 e7 52 fa ff       	call   0x404870
45f589:	c3                   	ret
45f58a:	e9 d9 45 fa ff       	jmp    0x403b68
45f58f:	eb e3                	jmp    0x45f574
45f591:	5f                   	pop    %edi
45f592:	5e                   	pop    %esi
45f593:	5b                   	pop    %ebx
45f594:	8b e5                	mov    %ebp,%esp
45f596:	5d                   	pop    %ebp
45f597:	c2 04 00             	ret    $0x4
45f59a:	8b c0                	mov    %eax,%eax
45f59c:	55                   	push   %ebp
45f59d:	8b ec                	mov    %esp,%ebp
45f59f:	53                   	push   %ebx
45f5a0:	56                   	push   %esi
45f5a1:	57                   	push   %edi
45f5a2:	8b f1                	mov    %ecx,%esi
45f5a4:	8b fa                	mov    %edx,%edi
45f5a6:	8b d8                	mov    %eax,%ebx
45f5a8:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
45f5ac:	74 1a                	je     0x45f5c8
45f5ae:	8b d6                	mov    %esi,%edx
45f5b0:	8b c3                	mov    %ebx,%eax
45f5b2:	e8 69 74 fb ff       	call   0x416a20
45f5b7:	84 c0                	test   %al,%al
45f5b9:	74 0d                	je     0x45f5c8
45f5bb:	8b ce                	mov    %esi,%ecx
45f5bd:	8b d7                	mov    %edi,%edx
45f5bf:	8b c3                	mov    %ebx,%eax
45f5c1:	e8 3a 74 fb ff       	call   0x416a00
45f5c6:	eb 19                	jmp    0x45f5e1
45f5c8:	66 8b 43 04          	mov    0x4(%ebx),%ax
45f5cc:	66 89 07             	mov    %ax,(%edi)
45f5cf:	8b 4e 08             	mov    0x8(%esi),%ecx
45f5d2:	b2 01                	mov    $0x1,%dl
45f5d4:	a1 70 ec 45 00       	mov    0x45ec70,%eax
45f5d9:	e8 0e fd ff ff       	call   0x45f2ec
45f5de:	89 47 08             	mov    %eax,0x8(%edi)
45f5e1:	5f                   	pop    %edi
45f5e2:	5e                   	pop    %esi
45f5e3:	5b                   	pop    %ebx
45f5e4:	5d                   	pop    %ebp
45f5e5:	c2 04 00             	ret    $0x4
45f5e8:	55                   	push   %ebp
45f5e9:	8b ec                	mov    %esp,%ebp
45f5eb:	53                   	push   %ebx
45f5ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f5ef:	83 eb 01             	sub    $0x1,%ebx
45f5f2:	72 0a                	jb     0x45f5fe
45f5f4:	74 15                	je     0x45f60b
45f5f6:	4b                   	dec    %ebx
45f5f7:	74 1f                	je     0x45f618
45f5f9:	4b                   	dec    %ebx
45f5fa:	74 29                	je     0x45f625
45f5fc:	eb 34                	jmp    0x45f632
45f5fe:	8b 42 08             	mov    0x8(%edx),%eax