45b227:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b22a:	56                   	push   %esi
45b22b:	2b ca                	sub    %edx,%ecx
45b22d:	8b 93 8c 00 00 00    	mov    0x8c(%ebx),%edx
45b233:	83 fa 0a             	cmp    $0xa,%edx
45b236:	6a 02                	push   $0x2
45b238:	5e                   	pop    %esi
45b239:	74 22                	je     0x45b25d
45b23b:	83 fa 0b             	cmp    $0xb,%edx
45b23e:	74 18                	je     0x45b258
45b240:	83 fa 0c             	cmp    $0xc,%edx
45b243:	6a 22                	push   $0x22
45b245:	5e                   	pop    %esi
45b246:	75 05                	jne    0x45b24d
45b248:	01 4b 2c             	add    %ecx,0x2c(%ebx)
45b24b:	eb 03                	jmp    0x45b250
45b24d:	01 4b 34             	add    %ecx,0x34(%ebx)
45b250:	8b 43 34             	mov    0x34(%ebx),%eax
45b253:	2b 43 2c             	sub    0x2c(%ebx),%eax
45b256:	eb 13                	jmp    0x45b26b
45b258:	83 fa 0a             	cmp    $0xa,%edx
45b25b:	75 05                	jne    0x45b262
45b25d:	01 43 28             	add    %eax,0x28(%ebx)
45b260:	eb 03                	jmp    0x45b265
45b262:	01 43 30             	add    %eax,0x30(%ebx)
45b265:	8b 43 30             	mov    0x30(%ebx),%eax
45b268:	2b 43 28             	sub    0x28(%ebx),%eax
45b26b:	85 c0                	test   %eax,%eax
45b26d:	7d 02                	jge    0x45b271
45b26f:	33 c0                	xor    %eax,%eax
45b271:	8b 4b 68             	mov    0x68(%ebx),%ecx
45b274:	8b 11                	mov    (%ecx),%edx
45b276:	57                   	push   %edi
45b277:	56                   	push   %esi
45b278:	50                   	push   %eax
45b279:	8d 45 f8             	lea    -0x8(%ebp),%eax
45b27c:	50                   	push   %eax
45b27d:	ff 92 34 01 00 00    	call   *0x134(%edx)
45b283:	ff 15 60 08 4b 00    	call   *0x4b0860
45b289:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45b28c:	51                   	push   %ecx
45b28d:	50                   	push   %eax
45b28e:	ff 15 40 07 4b 00    	call   *0x4b0740
45b294:	8b 83 8c 00 00 00    	mov    0x8c(%ebx),%eax
45b29a:	83 f8 0a             	cmp    $0xa,%eax
45b29d:	8d 73 48             	lea    0x48(%ebx),%esi
45b2a0:	8d 7d e8             	lea    -0x18(%ebp),%edi
45b2a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2a7:	5f                   	pop    %edi
45b2a8:	74 59                	je     0x45b303
45b2aa:	83 f8 0c             	cmp    $0xc,%eax
45b2ad:	74 54                	je     0x45b303
45b2af:	8b 43 60             	mov    0x60(%ebx),%eax
45b2b2:	2b 43 58             	sub    0x58(%ebx),%eax
45b2b5:	03 45 e8             	add    -0x18(%ebp),%eax
45b2b8:	03 45 f8             	add    -0x8(%ebp),%eax
45b2bb:	89 45 f0             	mov    %eax,-0x10(%ebp)
45b2be:	8b 43 64             	mov    0x64(%ebx),%eax
45b2c1:	2b 43 5c             	sub    0x5c(%ebx),%eax
45b2c4:	03 45 ec             	add    -0x14(%ebp),%eax
45b2c7:	03 45 fc             	add    -0x4(%ebp),%eax
45b2ca:	89 45 f4             	mov    %eax,-0xc(%ebp)
45b2cd:	8d 45 e8             	lea    -0x18(%ebp),%eax
45b2d0:	50                   	push   %eax
45b2d1:	8d 45 d8             	lea    -0x28(%ebp),%eax
45b2d4:	50                   	push   %eax
45b2d5:	8d 45 c8             	lea    -0x38(%ebp),%eax
45b2d8:	50                   	push   %eax
45b2d9:	ff 15 34 07 4b 00    	call   *0x4b0734
45b2df:	85 c0                	test   %eax,%eax
45b2e1:	74 72                	je     0x45b355
45b2e3:	8b 43 38             	mov    0x38(%ebx),%eax
45b2e6:	03 45 f8             	add    -0x8(%ebp),%eax
45b2e9:	89 43 40             	mov    %eax,0x40(%ebx)
45b2ec:	8b 43 3c             	mov    0x3c(%ebx),%eax
45b2ef:	03 45 fc             	add    -0x4(%ebp),%eax
45b2f2:	89 43 44             	mov    %eax,0x44(%ebx)
45b2f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
45b2f8:	89 43 50             	mov    %eax,0x50(%ebx)
45b2fb:	8b 45 f4             	mov    -0xc(%ebp),%eax
45b2fe:	89 43 54             	mov    %eax,0x54(%ebx)
45b301:	eb 52                	jmp    0x45b355
45b303:	8b 45 f0             	mov    -0x10(%ebp),%eax
45b306:	2b 43 60             	sub    0x60(%ebx),%eax
45b309:	2b 45 f8             	sub    -0x8(%ebp),%eax
45b30c:	03 43 58             	add    0x58(%ebx),%eax
45b30f:	89 45 e8             	mov    %eax,-0x18(%ebp)
45b312:	8b 43 5c             	mov    0x5c(%ebx),%eax
45b315:	2b 43 64             	sub    0x64(%ebx),%eax
45b318:	2b 45 fc             	sub    -0x4(%ebp),%eax
45b31b:	03 45 f4             	add    -0xc(%ebp),%eax
45b31e:	89 45 ec             	mov    %eax,-0x14(%ebp)
45b321:	8d 45 e8             	lea    -0x18(%ebp),%eax
45b324:	50                   	push   %eax
45b325:	8d 45 d8             	lea    -0x28(%ebp),%eax
45b328:	50                   	push   %eax
45b329:	8d 45 c8             	lea    -0x38(%ebp),%eax
45b32c:	50                   	push   %eax
45b32d:	ff 15 34 07 4b 00    	call   *0x4b0734
45b333:	85 c0                	test   %eax,%eax
45b335:	74 1e                	je     0x45b355
45b337:	8b 43 40             	mov    0x40(%ebx),%eax
45b33a:	2b 45 f8             	sub    -0x8(%ebp),%eax
45b33d:	89 43 38             	mov    %eax,0x38(%ebx)
45b340:	8b 43 44             	mov    0x44(%ebx),%eax
45b343:	2b 45 fc             	sub    -0x4(%ebp),%eax
45b346:	89 43 3c             	mov    %eax,0x3c(%ebx)
45b349:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b34c:	89 43 48             	mov    %eax,0x48(%ebx)
45b34f:	8b 45 ec             	mov    -0x14(%ebp),%eax
45b352:	89 43 4c             	mov    %eax,0x4c(%ebx)
45b355:	8b 45 08             	mov    0x8(%ebp),%eax
45b358:	89 43 04             	mov    %eax,0x4(%ebx)
45b35b:	8b 45 0c             	mov    0xc(%ebp),%eax
45b35e:	6a 00                	push   $0x0
45b360:	8b cb                	mov    %ebx,%ecx
45b362:	89 43 08             	mov    %eax,0x8(%ebx)
45b365:	e8 9d fc ff ff       	call   0x45b007
45b36a:	5e                   	pop    %esi
45b36b:	5b                   	pop    %ebx
45b36c:	c9                   	leave
45b36d:	c2 08 00             	ret    $0x8
45b370:	56                   	push   %esi
45b371:	57                   	push   %edi
45b372:	6a 01                	push   $0x1
45b374:	8b f1                	mov    %ecx,%esi
45b376:	e8 8c fc ff ff       	call   0x45b007
45b37b:	ff 15 3c 06 4b 00    	call   *0x4b063c
45b381:	ff 15 60 08 4b 00    	call   *0x4b0860
45b387:	50                   	push   %eax
45b388:	e8 15 99 fe ff       	call   0x444ca2
45b38d:	6a 00                	push   $0x0
45b38f:	8b f8                	mov    %eax,%edi
45b391:	ff 15 00 06 4b 00    	call   *0x4b0600
45b397:	81 c6 84 00 00 00    	add    $0x84,%esi
45b39d:	8b 06                	mov    (%esi),%eax
45b39f:	85 c0                	test   %eax,%eax
45b3a1:	74 0f                	je     0x45b3b2
45b3a3:	ff 70 04             	push   0x4(%eax)
45b3a6:	ff 77 1c             	push   0x1c(%edi)
45b3a9:	ff 15 5c 06 4b 00    	call   *0x4b065c
45b3af:	83 26 00             	andl   $0x0,(%esi)
45b3b2:	5f                   	pop    %edi
45b3b3:	5e                   	pop    %esi
45b3b4:	c3                   	ret
45b3b5:	55                   	push   %ebp
45b3b6:	8b ec                	mov    %esp,%ebp
45b3b8:	83 ec 14             	sub    $0x14,%esp
45b3bb:	53                   	push   %ebx
45b3bc:	8b d9                	mov    %ecx,%ebx
45b3be:	e8 ad ff ff ff       	call   0x45b370
45b3c3:	8b 43 74             	mov    0x74(%ebx),%eax
45b3c6:	85 c0                	test   %eax,%eax
45b3c8:	74 7d                	je     0x45b447
45b3ca:	56                   	push   %esi
45b3cb:	57                   	push   %edi
45b3cc:	50                   	push   %eax
45b3cd:	8b cb                	mov    %ebx,%ecx
45b3cf:	e8 a5 f9 ff ff       	call   0x45ad79
45b3d4:	f6 43 75 50          	testb  $0x50,0x75(%ebx)
45b3d8:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b3db:	8d 73 38             	lea    0x38(%ebx),%esi
45b3de:	75 03                	jne    0x45b3e3
45b3e0:	8d 73 28             	lea    0x28(%ebx),%esi
45b3e3:	8d 7d ec             	lea    -0x14(%ebp),%edi
45b3e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b3e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b3e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b3e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b3ea:	ff 70 1c             	push   0x1c(%eax)
45b3ed:	ff 15 0c 08 4b 00    	call   *0x4b080c
45b3f3:	0f b7 c0             	movzwl %ax,%eax
45b3f6:	3d 1b e8 00 00       	cmp    $0xe81b,%eax
45b3fb:	72 25                	jb     0x45b422
45b3fd:	3d 1e e8 00 00       	cmp    $0xe81e,%eax
45b402:	77 1e                	ja     0x45b422
45b404:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b407:	89 83 90 00 00 00    	mov    %eax,0x90(%ebx)
45b40d:	8d 83 94 00 00 00    	lea    0x94(%ebx),%eax
45b413:	8b f8                	mov    %eax,%edi
45b415:	8d 75 ec             	lea    -0x14(%ebp),%esi
45b418:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b419:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b41a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b41b:	50                   	push   %eax
45b41c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b41d:	e8 fc 3b ff ff       	call   0x44f01e
45b422:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45b425:	8d 45 ec             	lea    -0x14(%ebp),%eax
45b428:	50                   	push   %eax
45b429:	ff 75 fc             	push   -0x4(%ebp)
45b42c:	ff 73 68             	push   0x68(%ebx)
45b42f:	e8 be 92 00 00       	call   0x4646f2
45b434:	8b 5b 6c             	mov    0x6c(%ebx),%ebx
45b437:	8b 03                	mov    (%ebx),%eax
45b439:	6a 01                	push   $0x1
45b43b:	8b cb                	mov    %ebx,%ecx
45b43d:	ff 90 44 01 00 00    	call   *0x144(%eax)
45b443:	5f                   	pop    %edi
45b444:	5e                   	pop    %esi
45b445:	eb 6e                	jmp    0x45b4b5
45b447:	8b 43 78             	mov    0x78(%ebx),%eax
45b44a:	a8 04                	test   $0x4,%al
45b44c:	75 34                	jne    0x45b482
45b44e:	f6 c4 a0             	test   $0xa0,%ah
45b451:	74 06                	je     0x45b459
45b453:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
45b457:	74 29                	je     0x45b482
45b459:	f6 c4 50             	test   $0x50,%ah
45b45c:	74 06                	je     0x45b464
45b45e:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
45b462:	75 1e                	jne    0x45b482
45b464:	8b 43 70             	mov    0x70(%ebx),%eax
45b467:	8b 4b 58             	mov    0x58(%ebx),%ecx
45b46a:	83 e0 40             	and    $0x40,%eax
45b46d:	0d 00 10 00 00       	or     $0x1000,%eax
45b472:	89 8b a8 00 00 00    	mov    %ecx,0xa8(%ebx)
45b478:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
45b47b:	50                   	push   %eax
45b47c:	51                   	push   %ecx
45b47d:	ff 73 58             	push   0x58(%ebx)
45b480:	eb 1c                	jmp    0x45b49e
45b482:	8b 43 70             	mov    0x70(%ebx),%eax
45b485:	8b 4b 48             	mov    0x48(%ebx),%ecx
45b488:	83 e0 40             	and    $0x40,%eax
45b48b:	0d 00 20 00 00       	or     $0x2000,%eax
45b490:	89 8b a8 00 00 00    	mov    %ecx,0xa8(%ebx)
45b496:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
45b499:	50                   	push   %eax
45b49a:	51                   	push   %ecx
45b49b:	ff 73 48             	push   0x48(%ebx)
45b49e:	ff 73 68             	push   0x68(%ebx)
45b4a1:	89 8b ac 00 00 00    	mov    %ecx,0xac(%ebx)
45b4a7:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45b4aa:	89 83 a4 00 00 00    	mov    %eax,0xa4(%ebx)
45b4b0:	e8 d4 93 00 00       	call   0x464889
45b4b5:	5b                   	pop    %ebx
45b4b6:	c9                   	leave
45b4b7:	c3                   	ret
45b4b8:	51                   	push   %ecx
45b4b9:	51                   	push   %ecx
45b4ba:	56                   	push   %esi
45b4bb:	8b f1                	mov    %ecx,%esi
45b4bd:	e8 ae fe ff ff       	call   0x45b370
45b4c2:	8b 56 40             	mov    0x40(%esi),%edx
45b4c5:	2b 56 38             	sub    0x38(%esi),%edx
45b4c8:	8b 4e 68             	mov    0x68(%esi),%ecx
45b4cb:	8b 01                	mov    (%ecx),%eax
45b4cd:	6a 42                	push   $0x42
45b4cf:	52                   	push   %edx
45b4d0:	8d 54 24 0c          	lea    0xc(%esp),%edx
45b4d4:	52                   	push   %edx
45b4d5:	ff 90 34 01 00 00    	call   *0x134(%eax)
45b4db:	8b 46 70             	mov    0x70(%esi),%eax
45b4de:	8b 4e 6c             	mov    0x6c(%esi),%ecx
45b4e1:	83 e0 40             	and    $0x40,%eax
45b4e4:	0d 04 20 00 00       	or     $0x2004,%eax
45b4e9:	50                   	push   %eax
45b4ea:	ff 76 4c             	push   0x4c(%esi)
45b4ed:	ff 76 48             	push   0x48(%esi)
45b4f0:	ff 76 68             	push   0x68(%esi)
45b4f3:	e8 91 93 00 00       	call   0x464889
45b4f8:	5e                   	pop    %esi
45b4f9:	59                   	pop    %ecx
45b4fa:	59                   	pop    %ecx
45b4fb:	c3                   	ret
45b4fc:	55                   	push   %ebp
45b4fd:	8b ec                	mov    %esp,%ebp
45b4ff:	83 ec 1c             	sub    $0x1c,%esp
45b502:	53                   	push   %ebx
45b503:	8b 1d 94 06 4b 00    	mov    0x4b0694,%ebx
45b509:	56                   	push   %esi
45b50a:	57                   	push   %edi
45b50b:	8b f1                	mov    %ecx,%esi
45b50d:	ff d3                	call   *%ebx
45b50f:	85 c0                	test   %eax,%eax
45b511:	0f 85 d4 00 00 00    	jne    0x45b5eb
45b517:	8b 46 68             	mov    0x68(%esi),%eax
45b51a:	ff 70 1c             	push   0x1c(%eax)
45b51d:	ff 15 44 06 4b 00    	call   *0x4b0644
45b523:	50                   	push   %eax
45b524:	e8 79 97 fe ff       	call   0x444ca2
45b529:	ff d3                	call   *%ebx
45b52b:	50                   	push   %eax
45b52c:	e8 71 97 fe ff       	call   0x444ca2
45b531:	3b 46 68             	cmp    0x68(%esi),%eax
45b534:	0f 85 aa 00 00 00    	jne    0x45b5e4
45b53a:	33 ff                	xor    %edi,%edi
45b53c:	57                   	push   %edi
45b53d:	57                   	push   %edi
45b53e:	57                   	push   %edi
45b53f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b542:	50                   	push   %eax
45b543:	ff 15 90 07 4b 00    	call   *0x4b0790
45b549:	85 c0                	test   %eax,%eax
45b54b:	0f 84 a1 00 00 00    	je     0x45b5f2
45b551:	8b 45 e8             	mov    -0x18(%ebp),%eax
45b554:	2d 00 01 00 00       	sub    $0x100,%eax
45b559:	74 5e                	je     0x45b5b9
45b55b:	48                   	dec    %eax
45b55c:	74 46                	je     0x45b5a4
45b55e:	2d ff 00 00 00       	sub    $0xff,%eax
45b563:	74 18                	je     0x45b57d
45b565:	48                   	dec    %eax
45b566:	48                   	dec    %eax
45b567:	0f 84 8f 00 00 00    	je     0x45b5fc
45b56d:	48                   	dec    %eax
45b56e:	48                   	dec    %eax
45b56f:	74 73                	je     0x45b5e4
45b571:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b574:	50                   	push   %eax
45b575:	ff 15 98 07 4b 00    	call   *0x4b0798
45b57b:	eb 56                	jmp    0x45b5d3
45b57d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45b580:	8b 55 fc             	mov    -0x4(%ebp),%edx
45b583:	39 be 88 00 00 00    	cmp    %edi,0x88(%esi)
45b589:	51                   	push   %ecx
45b58a:	51                   	push   %ecx
45b58b:	8b c4                	mov    %esp,%eax
45b58d:	89 08                	mov    %ecx,(%eax)
45b58f:	89 50 04             	mov    %edx,0x4(%eax)
45b592:	8b ce                	mov    %esi,%ecx
45b594:	74 07                	je     0x45b59d
45b596:	e8 c5 fb ff ff       	call   0x45b160
45b59b:	eb 36                	jmp    0x45b5d3
45b59d:	e8 71 fc ff ff       	call   0x45b213
45b5a2:	eb 2f                	jmp    0x45b5d3
45b5a4:	39 be 88 00 00 00    	cmp    %edi,0x88(%esi)
45b5aa:	74 27                	je     0x45b5d3
45b5ac:	57                   	push   %edi
45b5ad:	ff 75 ec             	push   -0x14(%ebp)
45b5b0:	8b ce                	mov    %esi,%ecx
45b5b2:	e8 28 fc ff ff       	call   0x45b1df
45b5b7:	eb 1a                	jmp    0x45b5d3
45b5b9:	39 be 88 00 00 00    	cmp    %edi,0x88(%esi)
45b5bf:	74 0c                	je     0x45b5cd
45b5c1:	6a 01                	push   $0x1
45b5c3:	ff 75 ec             	push   -0x14(%ebp)
45b5c6:	8b ce                	mov    %esi,%ecx
45b5c8:	e8 12 fc ff ff       	call   0x45b1df
45b5cd:	83 7d ec 1b          	cmpl   $0x1b,-0x14(%ebp)
45b5d1:	74 11                	je     0x45b5e4
45b5d3:	ff d3                	call   *%ebx
45b5d5:	50                   	push   %eax
45b5d6:	e8 c7 96 fe ff       	call   0x444ca2
45b5db:	3b 46 68             	cmp    0x68(%esi),%eax
45b5de:	0f 84 58 ff ff ff    	je     0x45b53c