4581a6:	8b 45 08             	mov    0x8(%ebp),%eax
4581a9:	8b 40 d8             	mov    -0x28(%eax),%eax
4581ac:	59                   	pop    %ecx
4581ad:	e8 56 c7 fc ff       	call   0x424908
4581b2:	8b 45 08             	mov    0x8(%ebp),%eax
4581b5:	8b 50 b8             	mov    -0x48(%eax),%edx
4581b8:	8b 45 08             	mov    0x8(%ebp),%eax
4581bb:	8b 40 d8             	mov    -0x28(%eax),%eax
4581be:	8b 40 0c             	mov    0xc(%eax),%eax
4581c1:	e8 7e bc fc ff       	call   0x423e44
4581c6:	33 c0                	xor    %eax,%eax
4581c8:	5a                   	pop    %edx
4581c9:	59                   	pop    %ecx
4581ca:	59                   	pop    %ecx
4581cb:	64 89 10             	mov    %edx,%fs:(%eax)
4581ce:	68 f4 82 45 00       	push   $0x4582f4
4581d3:	8b 45 08             	mov    0x8(%ebp),%eax
4581d6:	8b 40 b4             	mov    -0x4c(%eax),%eax
4581d9:	e8 e2 b0 fa ff       	call   0x4032c0
4581de:	c3                   	ret
4581df:	e9 70 b8 fa ff       	jmp    0x403a54
4581e4:	eb ed                	jmp    0x4581d3
4581e6:	8b 45 08             	mov    0x8(%ebp),%eax
4581e9:	8b 55 08             	mov    0x8(%ebp),%edx
4581ec:	8d 70 f0             	lea    -0x10(%eax),%esi
4581ef:	8d 7a a4             	lea    -0x5c(%edx),%edi
4581f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4581f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4581f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4581f5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4581f6:	8b 45 08             	mov    0x8(%ebp),%eax
4581f9:	8b 40 c8             	mov    -0x38(%eax),%eax
4581fc:	8b 40 4c             	mov    0x4c(%eax),%eax
4581ff:	8b 10                	mov    (%eax),%edx
458201:	ff 52 2c             	call   *0x2c(%edx)
458204:	8b 55 08             	mov    0x8(%ebp),%edx
458207:	8b 52 f8             	mov    -0x8(%edx),%edx
45820a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45820d:	2b 51 f0             	sub    -0x10(%ecx),%edx
458210:	3b c2                	cmp    %edx,%eax
458212:	7d 4e                	jge    0x458262
458214:	8b 45 08             	mov    0x8(%ebp),%eax
458217:	8b 40 c8             	mov    -0x38(%eax),%eax
45821a:	8b 40 4c             	mov    0x4c(%eax),%eax
45821d:	8b 10                	mov    (%eax),%edx
45821f:	ff 52 2c             	call   *0x2c(%edx)
458222:	8b 55 08             	mov    0x8(%ebp),%edx
458225:	8b 52 f8             	mov    -0x8(%edx),%edx
458228:	8b 4d 08             	mov    0x8(%ebp),%ecx
45822b:	2b 51 f0             	sub    -0x10(%ecx),%edx
45822e:	2b d0                	sub    %eax,%edx
458230:	d1 fa                	sar    $1,%edx
458232:	79 03                	jns    0x458237
458234:	83 d2 00             	adc    $0x0,%edx
458237:	8b 45 08             	mov    0x8(%ebp),%eax
45823a:	8b 40 f8             	mov    -0x8(%eax),%eax
45823d:	2b c2                	sub    %edx,%eax
45823f:	40                   	inc    %eax
458240:	8b 55 08             	mov    0x8(%ebp),%edx
458243:	89 42 f8             	mov    %eax,-0x8(%edx)
458246:	8b 45 08             	mov    0x8(%ebp),%eax
458249:	8b 40 c8             	mov    -0x38(%eax),%eax
45824c:	8b 40 4c             	mov    0x4c(%eax),%eax
45824f:	8b 10                	mov    (%eax),%edx
458251:	ff 52 2c             	call   *0x2c(%edx)
458254:	8b 55 08             	mov    0x8(%ebp),%edx
458257:	8b 52 f8             	mov    -0x8(%edx),%edx
45825a:	2b d0                	sub    %eax,%edx
45825c:	8b 45 08             	mov    0x8(%ebp),%eax
45825f:	89 50 f0             	mov    %edx,-0x10(%eax)
458262:	8b 45 08             	mov    0x8(%ebp),%eax
458265:	8b 40 c8             	mov    -0x38(%eax),%eax
458268:	8b 40 4c             	mov    0x4c(%eax),%eax
45826b:	8b 10                	mov    (%eax),%edx
45826d:	ff 52 20             	call   *0x20(%edx)
458270:	8b 55 08             	mov    0x8(%ebp),%edx
458273:	8b 52 fc             	mov    -0x4(%edx),%edx
458276:	8b 4d 08             	mov    0x8(%ebp),%ecx
458279:	2b 51 f4             	sub    -0xc(%ecx),%edx
45827c:	3b c2                	cmp    %edx,%eax
45827e:	7d 4a                	jge    0x4582ca
458280:	8b 45 08             	mov    0x8(%ebp),%eax
458283:	8b 40 c8             	mov    -0x38(%eax),%eax
458286:	8b 40 4c             	mov    0x4c(%eax),%eax
458289:	8b 10                	mov    (%eax),%edx
45828b:	ff 52 20             	call   *0x20(%edx)
45828e:	8b 55 08             	mov    0x8(%ebp),%edx
458291:	8b 52 fc             	mov    -0x4(%edx),%edx
458294:	8b 4d 08             	mov    0x8(%ebp),%ecx
458297:	2b 51 f4             	sub    -0xc(%ecx),%edx
45829a:	2b d0                	sub    %eax,%edx
45829c:	d1 fa                	sar    $1,%edx
45829e:	79 03                	jns    0x4582a3
4582a0:	83 d2 00             	adc    $0x0,%edx
4582a3:	8b 45 08             	mov    0x8(%ebp),%eax
4582a6:	03 50 f4             	add    -0xc(%eax),%edx
4582a9:	42                   	inc    %edx
4582aa:	8b 45 08             	mov    0x8(%ebp),%eax
4582ad:	89 50 f4             	mov    %edx,-0xc(%eax)
4582b0:	8b 45 08             	mov    0x8(%ebp),%eax
4582b3:	8b 40 c8             	mov    -0x38(%eax),%eax
4582b6:	8b 40 4c             	mov    0x4c(%eax),%eax
4582b9:	8b 10                	mov    (%eax),%edx
4582bb:	ff 52 20             	call   *0x20(%edx)
4582be:	8b 55 08             	mov    0x8(%ebp),%edx
4582c1:	03 42 f4             	add    -0xc(%edx),%eax
4582c4:	8b 55 08             	mov    0x8(%ebp),%edx
4582c7:	89 42 fc             	mov    %eax,-0x4(%edx)
4582ca:	8b 45 08             	mov    0x8(%ebp),%eax
4582cd:	8b 40 c8             	mov    -0x38(%eax),%eax
4582d0:	8b 48 4c             	mov    0x4c(%eax),%ecx
4582d3:	8b 45 08             	mov    0x8(%ebp),%eax
4582d6:	8d 50 f0             	lea    -0x10(%eax),%edx
4582d9:	8b 45 08             	mov    0x8(%ebp),%eax
4582dc:	8b 40 d8             	mov    -0x28(%eax),%eax
4582df:	e8 18 c8 fc ff       	call   0x424afc
4582e4:	8b 45 08             	mov    0x8(%ebp),%eax
4582e7:	8b 55 08             	mov    0x8(%ebp),%edx
4582ea:	8d 70 a4             	lea    -0x5c(%eax),%esi
4582ed:	8d 7a f0             	lea    -0x10(%edx),%edi
4582f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4582f1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4582f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4582f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4582f4:	8b 45 08             	mov    0x8(%ebp),%eax
4582f7:	8b 40 c8             	mov    -0x38(%eax),%eax
4582fa:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
4582fe:	74 6b                	je     0x45836b
458300:	8b 45 08             	mov    0x8(%ebp),%eax
458303:	ff 48 f8             	decl   -0x8(%eax)
458306:	8b 45 08             	mov    0x8(%ebp),%eax
458309:	ff 48 fc             	decl   -0x4(%eax)
45830c:	eb 5d                	jmp    0x45836b
45830e:	8b 45 08             	mov    0x8(%ebp),%eax
458311:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
458315:	74 35                	je     0x45834c
458317:	8b 45 08             	mov    0x8(%ebp),%eax
45831a:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
45831e:	75 2c                	jne    0x45834c
458320:	8b 45 08             	mov    0x8(%ebp),%eax
458323:	8b 40 f8             	mov    -0x8(%eax),%eax
458326:	8b 55 08             	mov    0x8(%ebp),%edx
458329:	8b 52 c0             	mov    -0x40(%edx),%edx
45832c:	2b 42 34             	sub    0x34(%edx),%eax
45832f:	8b 55 08             	mov    0x8(%ebp),%edx
458332:	89 42 f0             	mov    %eax,-0x10(%edx)
458335:	8b 45 08             	mov    0x8(%ebp),%eax
458338:	8b 40 f4             	mov    -0xc(%eax),%eax
45833b:	8b 55 08             	mov    0x8(%ebp),%edx
45833e:	8b 52 c0             	mov    -0x40(%edx),%edx
458341:	03 42 30             	add    0x30(%edx),%eax
458344:	8b 55 08             	mov    0x8(%ebp),%edx
458347:	89 42 fc             	mov    %eax,-0x4(%edx)
45834a:	eb 18                	jmp    0x458364
45834c:	8b 45 08             	mov    0x8(%ebp),%eax
45834f:	8b 40 f8             	mov    -0x8(%eax),%eax
458352:	8b 55 08             	mov    0x8(%ebp),%edx
458355:	89 42 f0             	mov    %eax,-0x10(%edx)
458358:	8b 45 08             	mov    0x8(%ebp),%eax
45835b:	8b 40 f4             	mov    -0xc(%eax),%eax
45835e:	8b 55 08             	mov    0x8(%ebp),%edx
458361:	89 42 fc             	mov    %eax,-0x4(%edx)
458364:	8b 45 08             	mov    0x8(%ebp),%eax
458367:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
45836b:	8b 45 08             	mov    0x8(%ebp),%eax
45836e:	ff 48 f0             	decl   -0x10(%eax)
458371:	8b 45 08             	mov    0x8(%ebp),%eax
458374:	ff 48 f4             	decl   -0xc(%eax)
458377:	8b 45 08             	mov    0x8(%ebp),%eax
45837a:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
45837e:	8b 45 08             	mov    0x8(%ebp),%eax
458381:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
458385:	8b 45 08             	mov    0x8(%ebp),%eax
458388:	8b 40 c8             	mov    -0x38(%eax),%eax
45838b:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
45838f:	75 1b                	jne    0x4583ac
458391:	8b 45 08             	mov    0x8(%ebp),%eax
458394:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
458398:	74 3e                	je     0x4583d8
45839a:	8b 45 08             	mov    0x8(%ebp),%eax
45839d:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
4583a1:	74 35                	je     0x4583d8
4583a3:	8b 45 08             	mov    0x8(%ebp),%eax
4583a6:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
4583aa:	75 2c                	jne    0x4583d8
4583ac:	6a 0f                	push   $0xf
4583ae:	8b 45 08             	mov    0x8(%ebp),%eax
4583b1:	8b 40 c8             	mov    -0x38(%eax),%eax
4583b4:	0f b6 40 38          	movzbl 0x38(%eax),%eax
4583b8:	8b 04 85 94 9d 46 00 	mov    0x469d94(,%eax,4),%eax
4583bf:	50                   	push   %eax
4583c0:	8b 45 08             	mov    0x8(%ebp),%eax
4583c3:	83 c0 f0             	add    $0xfffffff0,%eax
4583c6:	50                   	push   %eax
4583c7:	8b 45 08             	mov    0x8(%ebp),%eax
4583ca:	8b 40 d8             	mov    -0x28(%eax),%eax
4583cd:	e8 4a c9 fc ff       	call   0x424d1c
4583d2:	50                   	push   %eax
4583d3:	e8 b4 e3 fa ff       	call   0x40678c
4583d8:	8b 45 08             	mov    0x8(%ebp),%eax
4583db:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4583df:	74 4c                	je     0x45842d
4583e1:	8b 45 08             	mov    0x8(%ebp),%eax
4583e4:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
4583e8:	74 0d                	je     0x4583f7
4583ea:	8b 45 08             	mov    0x8(%ebp),%eax
4583ed:	8b 40 f0             	mov    -0x10(%eax),%eax
4583f0:	48                   	dec    %eax
4583f1:	8b 55 08             	mov    0x8(%ebp),%edx
4583f4:	89 42 e8             	mov    %eax,-0x18(%edx)
4583f7:	8b 45 08             	mov    0x8(%ebp),%eax
4583fa:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
4583fe:	74 09                	je     0x458409
458400:	8b 45 08             	mov    0x8(%ebp),%eax
458403:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
458407:	75 13                	jne    0x45841c
458409:	8b 45 08             	mov    0x8(%ebp),%eax
45840c:	8b 40 d8             	mov    -0x28(%eax),%eax
45840f:	8b 40 14             	mov    0x14(%eax),%eax
458412:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
458417:	e8 f4 c1 fc ff       	call   0x424610
45841c:	8b 45 08             	mov    0x8(%ebp),%eax
45841f:	8d 50 e0             	lea    -0x20(%eax),%edx
458422:	8b 45 08             	mov    0x8(%ebp),%eax
458425:	8b 40 d8             	mov    -0x28(%eax),%eax
458428:	e8 87 c5 fc ff       	call   0x4249b4
45842d:	8b 45 08             	mov    0x8(%ebp),%eax
458430:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
458434:	74 77                	je     0x4584ad
458436:	8b 45 08             	mov    0x8(%ebp),%eax
458439:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
45843d:	74 6e                	je     0x4584ad
45843f:	8b 45 08             	mov    0x8(%ebp),%eax
458442:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
458446:	75 65                	jne    0x4584ad
458448:	8b 45 08             	mov    0x8(%ebp),%eax
45844b:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
45844f:	74 1e                	je     0x45846f
458451:	6a 0f                	push   $0xf
458453:	6a 02                	push   $0x2
458455:	8b 45 08             	mov    0x8(%ebp),%eax
458458:	83 c0 e0             	add    $0xffffffe0,%eax
45845b:	50                   	push   %eax
45845c:	8b 45 08             	mov    0x8(%ebp),%eax
45845f:	8b 40 d8             	mov    -0x28(%eax),%eax
458462:	e8 b5 c8 fc ff       	call   0x424d1c
458467:	50                   	push   %eax
458468:	e8 1f e3 fa ff       	call   0x40678c
45846d:	eb 25                	jmp    0x458494
45846f:	8b 45 08             	mov    0x8(%ebp),%eax
458472:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
458476:	74 1c                	je     0x458494
458478:	6a 0f                	push   $0xf
45847a:	6a 04                	push   $0x4
45847c:	8b 45 08             	mov    0x8(%ebp),%eax
45847f:	83 c0 e0             	add    $0xffffffe0,%eax
458482:	50                   	push   %eax
458483:	8b 45 08             	mov    0x8(%ebp),%eax
458486:	8b 40 d8             	mov    -0x28(%eax),%eax
458489:	e8 8e c8 fc ff       	call   0x424d1c
45848e:	50                   	push   %eax
45848f:	e8 f8 e2 fa ff       	call   0x40678c
458494:	8b 45 08             	mov    0x8(%ebp),%eax
458497:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
45849b:	75 10                	jne    0x4584ad
45849d:	6a ff                	push   $0xffffffff
45849f:	6a 00                	push   $0x0
4584a1:	8b 45 08             	mov    0x8(%ebp),%eax
4584a4:	83 c0 e0             	add    $0xffffffe0,%eax
4584a7:	50                   	push   %eax
4584a8:	e8 97 e5 fa ff       	call   0x406a44
4584ad:	8b 45 08             	mov    0x8(%ebp),%eax
4584b0:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
4584b4:	74 09                	je     0x4584bf
4584b6:	8b 45 08             	mov    0x8(%ebp),%eax
4584b9:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
4584bd:	75 0d                	jne    0x4584cc
4584bf:	8b 45 08             	mov    0x8(%ebp),%eax
4584c2:	8b 40 f0             	mov    -0x10(%eax),%eax
4584c5:	48                   	dec    %eax
4584c6:	8b 55 08             	mov    0x8(%ebp),%edx
4584c9:	89 42 e8             	mov    %eax,-0x18(%edx)
4584cc:	8b 45 08             	mov    0x8(%ebp),%eax
4584cf:	83 40 e0 02          	addl   $0x2,-0x20(%eax)
4584d3:	8b 45 08             	mov    0x8(%ebp),%eax
4584d6:	ff 48 e8             	decl   -0x18(%eax)
4584d9:	8b 45 08             	mov    0x8(%ebp),%eax
4584dc:	0f b6 40 cf          	movzbl -0x31(%eax),%eax
4584e0:	66 8b 04 45 8c 9d 46 	mov    0x469d8c(,%eax,2),%ax
4584e7:	00
4584e8:	66 83 c8 60          	or     $0x60,%ax
4584ec:	0f b7 c0             	movzwl %ax,%eax
4584ef:	8b 55 08             	mov    0x8(%ebp),%edx
4584f2:	89 42 9c             	mov    %eax,-0x64(%edx)
4584f5:	8b 45 08             	mov    0x8(%ebp),%eax
4584f8:	80 78 9b 00          	cmpb   $0x0,-0x65(%eax)
4584fc:	74 13                	je     0x458511
4584fe:	8b 45 08             	mov    0x8(%ebp),%eax
458501:	f6 40 0d 01          	testb  $0x1,0xd(%eax)
458505:	74 0a                	je     0x458511
458507:	8b 45 08             	mov    0x8(%ebp),%eax
45850a:	81 48 9c 00 00 10 00 	orl    $0x100000,-0x64(%eax)
458511:	8b 45 08             	mov    0x8(%ebp),%eax
458514:	8b 55 08             	mov    0x8(%ebp),%edx
458517:	8d 70 e0             	lea    -0x20(%eax),%esi
45851a:	8d 7a a4             	lea    -0x5c(%edx),%edi
45851d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45851e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45851f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458520:	a5                   	movsl  %ds:(%esi),%es:(%edi)
458521:	8b 45 08             	mov    0x8(%ebp),%eax
458524:	f6 40 0c 20          	testb  $0x20,0xc(%eax)
458528:	74 14                	je     0x45853e
45852a:	8b 45 08             	mov    0x8(%ebp),%eax
45852d:	8b 40 d8             	mov    -0x28(%eax),%eax
458530:	8b 40 0c             	mov    0xc(%eax),%eax
458533:	8a 15 b8 86 45 00    	mov    0x4586b8,%dl
458539:	e8 d2 bb fc ff       	call   0x424110
45853e:	8b 45 08             	mov    0x8(%ebp),%eax
458541:	83 c0 e0             	add    $0xffffffe0,%eax
458544:	50                   	push   %eax
458545:	8b 45 08             	mov    0x8(%ebp),%eax
458548:	8a 40 d7             	mov    -0x29(%eax),%al
45854b:	50                   	push   %eax
45854c:	8b 45 08             	mov    0x8(%ebp),%eax
45854f:	8b 40 9c             	mov    -0x64(%eax),%eax
458552:	0d 00 04 00 00       	or     $0x400,%eax
458557:	0d 00 01 00 00       	or     $0x100,%eax
45855c:	50                   	push   %eax
45855d:	8b 45 08             	mov    0x8(%ebp),%eax
458560:	8b 40 c8             	mov    -0x38(%eax),%eax
458563:	8b 48 30             	mov    0x30(%eax),%ecx
458566:	8b 45 08             	mov    0x8(%ebp),%eax
458569:	8b 50 d8             	mov    -0x28(%eax),%edx
45856c:	8b 45 08             	mov    0x8(%ebp),%eax
45856f:	8b 40 c8             	mov    -0x38(%eax),%eax
458572:	e8 c5 ec ff ff       	call   0x45723c
458577:	8b 45 08             	mov    0x8(%ebp),%eax
45857a:	8b 40 a4             	mov    -0x5c(%eax),%eax
45857d:	8b 55 08             	mov    0x8(%ebp),%edx
458580:	89 42 e0             	mov    %eax,-0x20(%edx)
458583:	8b 45 08             	mov    0x8(%ebp),%eax
458586:	8b 40 ac             	mov    -0x54(%eax),%eax
458589:	8b 55 08             	mov    0x8(%ebp),%edx
45858c:	89 42 e8             	mov    %eax,-0x18(%edx)
45858f:	8b 45 08             	mov    0x8(%ebp),%eax
458592:	8b 40 b0             	mov    -0x50(%eax),%eax
458595:	8b 55 08             	mov    0x8(%ebp),%edx
458598:	2b 42 a8             	sub    -0x58(%edx),%eax
45859b:	8b 55 08             	mov    0x8(%ebp),%edx