58f2ad:	56                   	push   %esi
58f2ae:	ff d1                	call   *%ecx
58f2b0:	83 c4 08             	add    $0x8,%esp
58f2b3:	89 46 3c             	mov    %eax,0x3c(%esi)
58f2b6:	83 f8 05             	cmp    $0x5,%eax
58f2b9:	0f 87 65 01 00 00    	ja     0x58f424
58f2bf:	ff 24 85 44 f5 58 00 	jmp    *0x58f544(,%eax,4)
58f2c6:	8b 46 04             	mov    0x4(%esi),%eax
58f2c9:	8b 40 64             	mov    0x64(%eax),%eax
58f2cc:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f2d0:	74 15                	je     0x58f2e7
58f2d2:	8d 44 24 10          	lea    0x10(%esp),%eax
58f2d6:	50                   	push   %eax
58f2d7:	8d 44 24 18          	lea    0x18(%esp),%eax
58f2db:	50                   	push   %eax
58f2dc:	56                   	push   %esi
58f2dd:	e8 ae 80 01 00       	call   0x5a7390
58f2e2:	83 c4 0c             	add    $0xc,%esp
58f2e5:	eb 0e                	jmp    0x58f2f5
58f2e7:	8d 44 24 14          	lea    0x14(%esp),%eax
58f2eb:	50                   	push   %eax
58f2ec:	56                   	push   %esi
58f2ed:	e8 ce 62 00 00       	call   0x5955c0
58f2f2:	83 c4 08             	add    $0x8,%esp
58f2f5:	85 c0                	test   %eax,%eax
58f2f7:	0f 84 3d 02 00 00    	je     0x58f53a
58f2fd:	85 ed                	test   %ebp,%ebp
58f2ff:	74 1a                	je     0x58f31b
58f301:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
58f305:	6a 01                	push   $0x1
58f307:	74 07                	je     0x58f310
58f309:	68 01 20 00 00       	push   $0x2001
58f30e:	eb 05                	jmp    0x58f315
58f310:	68 01 10 00 00       	push   $0x1001
58f315:	56                   	push   %esi
58f316:	ff d5                	call   *%ebp
58f318:	83 c4 0c             	add    $0xc,%esp
58f31b:	ff 74 24 14          	push   0x14(%esp)
58f31f:	56                   	push   %esi
58f320:	ff d3                	call   *%ebx
58f322:	83 c4 08             	add    $0x8,%esp
58f325:	85 c0                	test   %eax,%eax
58f327:	0f 84 0d 02 00 00    	je     0x58f53a
58f32d:	8b 46 7c             	mov    0x7c(%esi),%eax
58f330:	56                   	push   %esi
58f331:	8b b8 08 02 00 00    	mov    0x208(%eax),%edi
58f337:	ff 54 24 1c          	call   *0x1c(%esp)
58f33b:	83 c4 04             	add    $0x4,%esp
58f33e:	3b f8                	cmp    %eax,%edi
58f340:	0f 87 a9 01 00 00    	ja     0x58f4ef
58f346:	8b 46 04             	mov    0x4(%esi),%eax
58f349:	8b 40 64             	mov    0x64(%eax),%eax
58f34c:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f350:	75 39                	jne    0x58f38b
58f352:	85 ff                	test   %edi,%edi
58f354:	74 35                	je     0x58f38b
58f356:	8b 46 6c             	mov    0x6c(%esi),%eax
58f359:	8d 5f 04             	lea    0x4(%edi),%ebx
58f35c:	8b 7e 70             	mov    0x70(%esi),%edi
58f35f:	53                   	push   %ebx
58f360:	50                   	push   %eax
58f361:	2b 78 04             	sub    0x4(%eax),%edi
58f364:	e8 57 c3 f7 ff       	call   0x50b6c0
58f369:	83 c4 08             	add    $0x8,%esp
58f36c:	85 c0                	test   %eax,%eax
58f36e:	0f 84 24 01 00 00    	je     0x58f498
58f374:	3b df                	cmp    %edi,%ebx
58f376:	0f 82 1c 01 00 00    	jb     0x58f498
58f37c:	8b 46 6c             	mov    0x6c(%esi),%eax
58f37f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58f383:	8b 40 04             	mov    0x4(%eax),%eax
58f386:	03 c7                	add    %edi,%eax
58f388:	89 46 70             	mov    %eax,0x70(%esi)
58f38b:	8b 7c 24 20          	mov    0x20(%esp),%edi
58f38f:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
58f396:	8b 46 04             	mov    0x4(%esi),%eax
58f399:	8b 40 64             	mov    0x64(%eax),%eax
58f39c:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f3a0:	75 16                	jne    0x58f3b8
58f3a2:	8d 44 24 10          	lea    0x10(%esp),%eax
58f3a6:	50                   	push   %eax
58f3a7:	56                   	push   %esi
58f3a8:	e8 33 60 00 00       	call   0x5953e0
58f3ad:	83 c4 08             	add    $0x8,%esp
58f3b0:	85 c0                	test   %eax,%eax
58f3b2:	0f 84 82 01 00 00    	je     0x58f53a
58f3b8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58f3bc:	c7 86 00 05 00 00 00 	movl   $0x0,0x500(%esi)
58f3c3:	00 00 00
58f3c6:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
58f3cc:	0f 87 0c 01 00 00    	ja     0x58f4de
58f3d2:	8b 46 70             	mov    0x70(%esi),%eax
58f3d5:	89 44 24 24          	mov    %eax,0x24(%esp)
58f3d9:	8d 44 24 24          	lea    0x24(%esp),%eax
58f3dd:	50                   	push   %eax
58f3de:	56                   	push   %esi
58f3df:	89 4c 24 30          	mov    %ecx,0x30(%esp)
58f3e3:	ff d7                	call   *%edi
58f3e5:	83 c4 08             	add    $0x8,%esp
58f3e8:	c7 46 74 00 00 00 00 	movl   $0x0,0x74(%esi)
58f3ef:	83 e8 00             	sub    $0x0,%eax
58f3f2:	0f 84 d0 00 00 00    	je     0x58f4c8
58f3f8:	83 e8 01             	sub    $0x1,%eax
58f3fb:	0f 84 a5 00 00 00    	je     0x58f4a6
58f401:	83 e8 01             	sub    $0x1,%eax
58f404:	74 10                	je     0x58f416
58f406:	8b 4c 24 30          	mov    0x30(%esp),%ecx
58f40a:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
58f411:	e9 7a fe ff ff       	jmp    0x58f290
58f416:	c7 46 38 02 00 00 00 	movl   $0x2,0x38(%esi)
58f41d:	c7 46 3c 03 00 00 00 	movl   $0x3,0x3c(%esi)
58f424:	8b 4c 24 30          	mov    0x30(%esp),%ecx
58f428:	e9 63 fe ff ff       	jmp    0x58f290
58f42d:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
58f431:	74 0a                	je     0x58f43d
58f433:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f437:	0f 84 fd 00 00 00    	je     0x58f53a
58f43d:	68 9b 02 00 00       	push   $0x29b
58f442:	68 48 6f 66 00       	push   $0x666f48
58f447:	68 00 01 00 00       	push   $0x100
58f44c:	68 60 01 00 00       	push   $0x160
58f451:	6a 14                	push   $0x14
58f453:	e8 28 9b f4 ff       	call   0x4d8f80
58f458:	83 c4 14             	add    $0x14,%esp
58f45b:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
58f45f:	74 0a                	je     0x58f46b
58f461:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f465:	0f 84 cf 00 00 00    	je     0x58f53a
58f46b:	83 7e 60 01          	cmpl   $0x1,0x60(%esi)
58f46f:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%esi)
58f476:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
58f47d:	0f 84 b7 00 00 00    	je     0x58f53a
58f483:	6a 50                	push   $0x50
58f485:	e9 a5 00 00 00       	jmp    0x58f52f
58f48a:	68 b1 02 00 00       	push   $0x2b1
58f48f:	68 48 6f 66 00       	push   $0x666f48
58f494:	6a 44                	push   $0x44
58f496:	eb b4                	jmp    0x58f44c
58f498:	68 65 02 00 00       	push   $0x265
58f49d:	68 48 6f 66 00       	push   $0x666f48
58f4a2:	6a 07                	push   $0x7
58f4a4:	eb a6                	jmp    0x58f44c
58f4a6:	8b 46 04             	mov    0x4(%esi),%eax
58f4a9:	8b 40 64             	mov    0x64(%eax),%eax
58f4ac:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f4b0:	74 09                	je     0x58f4bb
58f4b2:	56                   	push   %esi
58f4b3:	e8 38 91 01 00       	call   0x5a85f0
58f4b8:	83 c4 04             	add    $0x4,%esp
58f4bb:	5f                   	pop    %edi
58f4bc:	5e                   	pop    %esi
58f4bd:	5d                   	pop    %ebp
58f4be:	b8 01 00 00 00       	mov    $0x1,%eax
58f4c3:	5b                   	pop    %ebx
58f4c4:	83 c4 1c             	add    $0x1c,%esp
58f4c7:	c3                   	ret
58f4c8:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
58f4cc:	74 06                	je     0x58f4d4
58f4ce:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f4d2:	74 66                	je     0x58f53a
58f4d4:	68 83 02 00 00       	push   $0x283
58f4d9:	e9 64 ff ff ff       	jmp    0x58f442
58f4de:	68 79 02 00 00       	push   $0x279
58f4e3:	68 48 6f 66 00       	push   $0x666f48
58f4e8:	6a 44                	push   $0x44
58f4ea:	e9 5d ff ff ff       	jmp    0x58f44c
58f4ef:	68 5b 02 00 00       	push   $0x25b
58f4f4:	68 48 6f 66 00       	push   $0x666f48
58f4f9:	68 98 00 00 00       	push   $0x98
58f4fe:	68 60 01 00 00       	push   $0x160
58f503:	6a 14                	push   $0x14
58f505:	e8 76 9a f4 ff       	call   0x4d8f80
58f50a:	83 c4 14             	add    $0x14,%esp
58f50d:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
58f511:	74 06                	je     0x58f519
58f513:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f517:	74 21                	je     0x58f53a
58f519:	83 7e 60 01          	cmpl   $0x1,0x60(%esi)
58f51d:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%esi)
58f524:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
58f52b:	74 0d                	je     0x58f53a
58f52d:	6a 2f                	push   $0x2f
58f52f:	6a 02                	push   $0x2
58f531:	56                   	push   %esi
58f532:	e8 79 50 01 00       	call   0x5a45b0
58f537:	83 c4 0c             	add    $0xc,%esp
58f53a:	5f                   	pop    %edi
58f53b:	5e                   	pop    %esi
58f53c:	5d                   	pop    %ebp
58f53d:	33 c0                	xor    %eax,%eax
58f53f:	5b                   	pop    %ebx
58f540:	83 c4 1c             	add    $0x1c,%esp
58f543:	c3                   	ret
58f544:	2d f4 58 00 a6       	sub    $0xa60058f4,%eax
58f549:	f4                   	hlt
58f54a:	58                   	pop    %eax
58f54b:	00 06                	add    %al,(%esi)
58f54d:	f4                   	hlt
58f54e:	58                   	pop    %eax
58f54f:	00 3a                	add    %bh,(%edx)
58f551:	f5                   	cmc
58f552:	58                   	pop    %eax
58f553:	00 3a                	add    %bh,(%edx)
58f555:	f5                   	cmc
58f556:	58                   	pop    %eax
58f557:	00 3a                	add    %bh,(%edx)
58f559:	f5                   	cmc
58f55a:	58                   	pop    %eax
58f55b:	00 cc                	add    %cl,%ah
58f55d:	cc                   	int3
58f55e:	cc                   	int3
58f55f:	cc                   	int3
58f560:	53                   	push   %ebx
58f561:	55                   	push   %ebp
58f562:	56                   	push   %esi
58f563:	8b 74 24 10          	mov    0x10(%esp),%esi
58f567:	83 cd ff             	or     $0xffffffff,%ebp
58f56a:	57                   	push   %edi
58f56b:	33 ff                	xor    %edi,%edi
58f56d:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f571:	0f 84 5c 03 00 00    	je     0x58f8d3
58f577:	e8 44 92 f4 ff       	call   0x4d87c0
58f57c:	57                   	push   %edi
58f57d:	ff 15 04 21 60 00    	call   *0x602104
58f583:	8b 9e b4 04 00 00    	mov    0x4b4(%esi),%ebx
58f589:	85 db                	test   %ebx,%ebx
58f58b:	75 0c                	jne    0x58f599
58f58d:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
58f593:	8b 98 a0 00 00 00    	mov    0xa0(%eax),%ebx
58f599:	ff 46 50             	incl   0x50(%esi)
58f59c:	39 7e 48             	cmp    %edi,0x48(%esi)
58f59f:	74 0a                	je     0x58f5ab
58f5a1:	39 7e 40             	cmp    %edi,0x40(%esi)
58f5a4:	75 21                	jne    0x58f5c7
58f5a6:	39 7e 2c             	cmp    %edi,0x2c(%esi)
58f5a9:	75 1c                	jne    0x58f5c7
58f5ab:	8b 46 7c             	mov    0x7c(%esi),%eax
58f5ae:	f7 00 00 08 00 00    	testl  $0x800,(%eax)
58f5b4:	75 11                	jne    0x58f5c7
58f5b6:	56                   	push   %esi
58f5b7:	e8 14 97 ff ff       	call   0x588cd0
58f5bc:	83 c4 04             	add    $0x4,%esp
58f5bf:	85 c0                	test   %eax,%eax
58f5c1:	0f 84 0c 03 00 00    	je     0x58f8d3
58f5c7:	8b 46 2c             	mov    0x2c(%esi),%eax
58f5ca:	85 c0                	test   %eax,%eax
58f5cc:	74 0a                	je     0x58f5d8
58f5ce:	83 f8 04             	cmp    $0x4,%eax
58f5d1:	74 0b                	je     0x58f5de
58f5d3:	e9 f8 01 00 00       	jmp    0x58f7d0
58f5d8:	89 7e 40             	mov    %edi,0x40(%esi)
58f5db:	89 7e 44             	mov    %edi,0x44(%esi)
58f5de:	8b 54 24 18          	mov    0x18(%esp),%edx
58f5e2:	89 56 1c             	mov    %edx,0x1c(%esi)
58f5e5:	85 db                	test   %ebx,%ebx
58f5e7:	74 3d                	je     0x58f626
58f5e9:	8b 46 7c             	mov    0x7c(%esi),%eax
58f5ec:	39 b8 80 01 00 00    	cmp    %edi,0x180(%eax)
58f5f2:	74 24                	je     0x58f618
58f5f4:	39 b8 04 02 00 00    	cmp    %edi,0x204(%eax)
58f5fa:	74 1c                	je     0x58f618
58f5fc:	8b 4e 04             	mov    0x4(%esi),%ecx
58f5ff:	8b 41 64             	mov    0x64(%ecx),%eax
58f602:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f606:	75 10                	jne    0x58f618
58f608:	8b 01                	mov    (%ecx),%eax
58f60a:	3d 04 03 00 00       	cmp    $0x304,%eax
58f60f:	7c 07                	jl     0x58f618
58f611:	3d 00 00 01 00       	cmp    $0x10000,%eax
58f616:	75 0e                	jne    0x58f626
58f618:	6a 01                	push   $0x1
58f61a:	6a 10                	push   $0x10
58f61c:	56                   	push   %esi
58f61d:	ff d3                	call   *%ebx
58f61f:	8b 54 24 24          	mov    0x24(%esp),%edx
58f623:	83 c4 0c             	add    $0xc,%esp
58f626:	8b 46 04             	mov    0x4(%esi),%eax
58f629:	8b 0e                	mov    (%esi),%ecx
58f62b:	8b 40 64             	mov    0x64(%eax),%eax
58f62e:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58f632:	8b c1                	mov    %ecx,%eax
58f634:	74 54                	je     0x58f68a
58f636:	25 00 ff 00 00       	and    $0xff00,%eax
58f63b:	3d 00 fe 00 00       	cmp    $0xfe00,%eax
58f640:	74 5b                	je     0x58f69d
58f642:	85 d2                	test   %edx,%edx
58f644:	75 07                	jne    0x58f64d
58f646:	3d 00 01 00 00       	cmp    $0x100,%eax
58f64b:	74 50                	je     0x58f69d
58f64d:	68 68 01 00 00       	push   $0x168
58f652:	68 48 6f 66 00       	push   $0x666f48
58f657:	6a 44                	push   $0x44
58f659:	68 61 01 00 00       	push   $0x161
58f65e:	6a 14                	push   $0x14
58f660:	e8 1b 99 f4 ff       	call   0x4d8f80
58f665:	83 c4 14             	add    $0x14,%esp
58f668:	39 7e 48             	cmp    %edi,0x48(%esi)
58f66b:	74 0a                	je     0x58f677
58f66d:	83 7e 2c 01          	cmpl   $0x1,0x2c(%esi)
58f671:	0f 84 20 02 00 00    	je     0x58f897
58f677:	c7 46 48 01 00 00 00 	movl   $0x1,0x48(%esi)
58f67e:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
58f685:	e9 0d 02 00 00       	jmp    0x58f897
58f68a:	25 00 ff ff ff       	and    $0xffffff00,%eax
58f68f:	3d 00 03 00 00       	cmp    $0x300,%eax
58f694:	74 07                	je     0x58f69d
58f696:	68 6e 01 00 00       	push   $0x16e
58f69b:	eb b5                	jmp    0x58f652
58f69d:	6a 00                	push   $0x0
58f69f:	51                   	push   %ecx
58f6a0:	6a 00                	push   $0x0
58f6a2:	6a 09                	push   $0x9
58f6a4:	56                   	push   %esi
58f6a5:	e8 d6 be ff ff       	call   0x58b580
58f6aa:	83 c4 14             	add    $0x14,%esp
58f6ad:	85 c0                	test   %eax,%eax
58f6af:	75 07                	jne    0x58f6b8
58f6b1:	68 75 01 00 00       	push   $0x175
58f6b6:	eb 9a                	jmp    0x58f652
58f6b8:	39 7e 6c             	cmp    %edi,0x6c(%esi)
58f6bb:	75 48                	jne    0x58f705
58f6bd:	e8 fe c0 f7 ff       	call   0x50b7c0
58f6c2:	8b f8                	mov    %eax,%edi
58f6c4:	85 ff                	test   %edi,%edi
58f6c6:	75 21                	jne    0x58f6e9
58f6c8:	68 7c 01 00 00       	push   $0x17c
58f6cd:	68 48 6f 66 00       	push   $0x666f48
58f6d2:	6a 44                	push   $0x44
58f6d4:	68 61 01 00 00       	push   $0x161
58f6d9:	6a 14                	push   $0x14
58f6db:	e8 a0 98 f4 ff       	call   0x4d8f80
58f6e0:	83 c4 14             	add    $0x14,%esp
58f6e3:	83 7e 48 00          	cmpl   $0x0,0x48(%esi)
58f6e7:	eb 82                	jmp    0x58f66b
58f6e9:	68 00 40 00 00       	push   $0x4000
58f6ee:	57                   	push   %edi
58f6ef:	e8 ec be f7 ff       	call   0x50b5e0
58f6f4:	83 c4 08             	add    $0x8,%esp
58f6f7:	85 c0                	test   %eax,%eax
58f6f9:	75 07                	jne    0x58f702
58f6fb:	68 81 01 00 00       	push   $0x181
58f700:	eb cb                	jmp    0x58f6cd
58f702:	89 7e 6c             	mov    %edi,0x6c(%esi)
58f705:	56                   	push   %esi
58f706:	e8 b5 3a 00 00       	call   0x5931c0
58f70b:	83 c4 04             	add    $0x4,%esp
58f70e:	85 c0                	test   %eax,%eax
58f710:	75 3e                	jne    0x58f750
58f712:	68 8a 01 00 00       	push   $0x18a
58f717:	68 48 6f 66 00       	push   $0x666f48