45d1dd:	e8 ca 47 ff ff       	call   0x4519ac
45d1e2:	50                   	push   %eax
45d1e3:	e8 70 f1 fd ff       	call   0x43c358
45d1e8:	5e                   	pop    %esi
45d1e9:	5b                   	pop    %ebx
45d1ea:	5d                   	pop    %ebp
45d1eb:	c3                   	ret
45d1ec:	55                   	push   %ebp
45d1ed:	8b ec                	mov    %esp,%ebp
45d1ef:	83 c4 dc             	add    $0xffffffdc,%esp
45d1f2:	53                   	push   %ebx
45d1f3:	56                   	push   %esi
45d1f4:	57                   	push   %edi
45d1f5:	88 4d fa             	mov    %cl,-0x6(%ebp)
45d1f8:	88 55 fb             	mov    %dl,-0x5(%ebp)
45d1fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
45d1fe:	8d 75 fc             	lea    -0x4(%ebp),%esi
45d201:	8b 06                	mov    (%esi),%eax
45d203:	33 d2                	xor    %edx,%edx
45d205:	89 50 14             	mov    %edx,0x14(%eax)
45d208:	33 db                	xor    %ebx,%ebx
45d20a:	8b 06                	mov    (%esi),%eax
45d20c:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
45d210:	75 04                	jne    0x45d216
45d212:	66 bb 01 00          	mov    $0x1,%bx
45d216:	8b 06                	mov    (%esi),%eax
45d218:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
45d21c:	74 26                	je     0x45d244
45d21e:	0f b6 4d fa          	movzbl -0x6(%ebp),%ecx
45d222:	0f b6 55 fb          	movzbl -0x5(%ebp),%edx
45d226:	8b 06                	mov    (%esi),%eax
45d228:	e8 af f8 ff ff       	call   0x45cadc
45d22d:	8b 16                	mov    (%esi),%edx
45d22f:	8b 7a 10             	mov    0x10(%edx),%edi
45d232:	2b f8                	sub    %eax,%edi
45d234:	8b 06                	mov    (%esi),%eax
45d236:	89 78 14             	mov    %edi,0x14(%eax)
45d239:	85 ff                	test   %edi,%edi
45d23b:	7d 07                	jge    0x45d244
45d23d:	8b 06                	mov    (%esi),%eax
45d23f:	33 d2                	xor    %edx,%edx
45d241:	89 50 14             	mov    %edx,0x14(%eax)
45d244:	c7 45 de 1c 00 00 00 	movl   $0x1c,-0x22(%ebp)
45d24b:	c7 45 e2 17 00 00 00 	movl   $0x17,-0x1e(%ebp)
45d252:	33 c0                	xor    %eax,%eax
45d254:	89 45 e6             	mov    %eax,-0x1a(%ebp)
45d257:	8b 06                	mov    (%esi),%eax
45d259:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
45d25d:	7e 0a                	jle    0x45d269
45d25f:	8b 06                	mov    (%esi),%eax
45d261:	8b 40 10             	mov    0x10(%eax),%eax
45d264:	89 45 ea             	mov    %eax,-0x16(%ebp)
45d267:	eb 05                	jmp    0x45d26e
45d269:	33 c0                	xor    %eax,%eax
45d26b:	89 45 ea             	mov    %eax,-0x16(%ebp)
45d26e:	0f b6 4d fa          	movzbl -0x6(%ebp),%ecx
45d272:	0f b6 55 fb          	movzbl -0x5(%ebp),%edx
45d276:	8b 06                	mov    (%esi),%eax
45d278:	e8 5f f8 ff ff       	call   0x45cadc
45d27d:	40                   	inc    %eax
45d27e:	89 45 ee             	mov    %eax,-0x12(%ebp)
45d281:	8b 06                	mov    (%esi),%eax
45d283:	8b 40 0c             	mov    0xc(%eax),%eax
45d286:	89 45 f2             	mov    %eax,-0xe(%ebp)
45d289:	89 45 f6             	mov    %eax,-0xa(%ebp)
45d28c:	55                   	push   %ebp
45d28d:	8b 06                	mov    (%esi),%eax
45d28f:	0f b6 40 44          	movzbl 0x44(%eax),%eax
45d293:	e8 4c fe ff ff       	call   0x45d0e4
45d298:	59                   	pop    %ecx
45d299:	8b 06                	mov    (%esi),%eax
45d29b:	c6 40 44 00          	movb   $0x0,0x44(%eax)
45d29f:	6a ff                	push   $0xffffffff
45d2a1:	8d 45 de             	lea    -0x22(%ebp),%eax
45d2a4:	50                   	push   %eax
45d2a5:	0f b7 c3             	movzwl %bx,%eax
45d2a8:	50                   	push   %eax
45d2a9:	8b 06                	mov    (%esi),%eax
45d2ab:	8b 40 04             	mov    0x4(%eax),%eax
45d2ae:	e8 f9 46 ff ff       	call   0x4519ac
45d2b3:	50                   	push   %eax
45d2b4:	a1 10 78 4a 00       	mov    0x4a7810,%eax
45d2b9:	8b 00                	mov    (%eax),%eax
45d2bb:	ff d0                	call   *%eax
45d2bd:	8b 06                	mov    (%esi),%eax
45d2bf:	8b 50 0c             	mov    0xc(%eax),%edx
45d2c2:	8b 06                	mov    (%esi),%eax
45d2c4:	e8 9b fc ff ff       	call   0x45cf64
45d2c9:	33 c9                	xor    %ecx,%ecx
45d2cb:	b2 01                	mov    $0x1,%dl
45d2cd:	8b 06                	mov    (%esi),%eax
45d2cf:	e8 08 f8 ff ff       	call   0x45cadc
45d2d4:	8d 04 c0             	lea    (%eax,%eax,8),%eax
45d2d7:	b9 0a 00 00 00       	mov    $0xa,%ecx
45d2dc:	99                   	cltd
45d2dd:	f7 f9                	idiv   %ecx
45d2df:	8b d8                	mov    %eax,%ebx
45d2e1:	8b 06                	mov    (%esi),%eax
45d2e3:	66 89 58 0a          	mov    %bx,0xa(%eax)
45d2e7:	8b 06                	mov    (%esi),%eax
45d2e9:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
45d2ed:	74 12                	je     0x45d301
45d2ef:	0f b7 c3             	movzwl %bx,%eax
45d2f2:	b9 0a 00 00 00       	mov    $0xa,%ecx
45d2f7:	33 d2                	xor    %edx,%edx
45d2f9:	f7 f1                	div    %ecx
45d2fb:	8b 16                	mov    (%esi),%edx
45d2fd:	66 89 42 08          	mov    %ax,0x8(%edx)
45d301:	5f                   	pop    %edi
45d302:	5e                   	pop    %esi
45d303:	5b                   	pop    %ebx
45d304:	8b e5                	mov    %ebp,%esp
45d306:	5d                   	pop    %ebp
45d307:	c3                   	ret
45d308:	53                   	push   %ebx
45d309:	56                   	push   %esi
45d30a:	84 d2                	test   %dl,%dl
45d30c:	74 08                	je     0x45d316
45d30e:	83 c4 f0             	add    $0xfffffff0,%esp
45d311:	e8 2a 69 fa ff       	call   0x403c40
45d316:	8b da                	mov    %edx,%ebx
45d318:	8b f0                	mov    %eax,%esi
45d31a:	33 d2                	xor    %edx,%edx
45d31c:	8b c6                	mov    %esi,%eax
45d31e:	e8 2d f8 fe ff       	call   0x44cb50
45d323:	8b 46 50             	mov    0x50(%esi),%eax
45d326:	0b 05 7c d3 45 00    	or     0x45d37c,%eax
45d32c:	89 46 50             	mov    %eax,0x50(%esi)
45d32f:	6a 00                	push   $0x0
45d331:	8b ce                	mov    %esi,%ecx
45d333:	b2 01                	mov    $0x1,%dl
45d335:	a1 90 a1 45 00       	mov    0x45a190,%eax
45d33a:	e8 11 f4 ff ff       	call   0x45c750
45d33f:	89 86 50 02 00 00    	mov    %eax,0x250(%esi)
45d345:	6a 01                	push   $0x1
45d347:	8b ce                	mov    %esi,%ecx
45d349:	b2 01                	mov    $0x1,%dl
45d34b:	a1 90 a1 45 00       	mov    0x45a190,%eax
45d350:	e8 fb f3 ff ff       	call   0x45c750
45d355:	89 86 54 02 00 00    	mov    %eax,0x254(%esi)
45d35b:	c6 86 58 02 00 00 00 	movb   $0x0,0x258(%esi)
45d362:	8b c6                	mov    %esi,%eax
45d364:	84 db                	test   %bl,%bl
45d366:	74 0f                	je     0x45d377
45d368:	e8 2b 69 fa ff       	call   0x403c98
45d36d:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45d374:	83 c4 0c             	add    $0xc,%esp
45d377:	8b c6                	mov    %esi,%eax
45d379:	5e                   	pop    %esi
45d37a:	5b                   	pop    %ebx
45d37b:	c3                   	ret
45d37c:	00 00                	add    %al,(%eax)
45d37e:	02 00                	add    (%eax),%al
45d380:	53                   	push   %ebx
45d381:	56                   	push   %esi
45d382:	e8 61 69 fa ff       	call   0x403ce8
45d387:	8b da                	mov    %edx,%ebx
45d389:	8b f0                	mov    %eax,%esi
45d38b:	8b 86 50 02 00 00    	mov    0x250(%esi),%eax
45d391:	e8 86 65 fa ff       	call   0x40391c
45d396:	8b 86 54 02 00 00    	mov    0x254(%esi),%eax
45d39c:	e8 7b 65 fa ff       	call   0x40391c
45d3a1:	8b d3                	mov    %ebx,%edx
45d3a3:	80 e2 fc             	and    $0xfc,%dl
45d3a6:	8b c6                	mov    %esi,%eax
45d3a8:	e8 e7 f8 fe ff       	call   0x44cc94
45d3ad:	84 db                	test   %bl,%bl
45d3af:	7e 07                	jle    0x45d3b8
45d3b1:	8b c6                	mov    %esi,%eax
45d3b3:	e8 d8 68 fa ff       	call   0x403c90
45d3b8:	5e                   	pop    %esi
45d3b9:	5b                   	pop    %ebx
45d3ba:	c3                   	ret
45d3bb:	90                   	nop
45d3bc:	53                   	push   %ebx
45d3bd:	8b da                	mov    %edx,%ebx
45d3bf:	8b d3                	mov    %ebx,%edx
45d3c1:	e8 ca 0a ff ff       	call   0x44de90
45d3c6:	83 63 24 fc          	andl   $0xfffffffc,0x24(%ebx)
45d3ca:	5b                   	pop    %ebx
45d3cb:	c3                   	ret
45d3cc:	53                   	push   %ebx
45d3cd:	8b d8                	mov    %eax,%ebx
45d3cf:	8b c3                	mov    %ebx,%eax
45d3d1:	e8 e6 0b ff ff       	call   0x44dfbc
45d3d6:	a1 48 78 4a 00       	mov    0x4a7848,%eax
45d3db:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
45d3df:	75 20                	jne    0x45d401
45d3e1:	ba 01 00 00 00       	mov    $0x1,%edx
45d3e6:	b8 05 00 00 00       	mov    $0x5,%eax
45d3eb:	e8 90 f8 fa ff       	call   0x40cc80
45d3f0:	84 c0                	test   %al,%al
45d3f2:	75 0d                	jne    0x45d401
45d3f4:	8b c3                	mov    %ebx,%eax
45d3f6:	e8 b1 45 ff ff       	call   0x4519ac
45d3fb:	50                   	push   %eax
45d3fc:	e8 8b ef fd ff       	call   0x43c38c
45d401:	8b c3                	mov    %ebx,%eax
45d403:	e8 dc 01 00 00       	call   0x45d5e4
45d408:	5b                   	pop    %ebx
45d409:	c3                   	ret
45d40a:	8b c0                	mov    %eax,%eax
45d40c:	53                   	push   %ebx
45d40d:	56                   	push   %esi
45d40e:	57                   	push   %edi
45d40f:	8b f9                	mov    %ecx,%edi
45d411:	8b f2                	mov    %edx,%esi
45d413:	8b d8                	mov    %eax,%ebx
45d415:	8b c3                	mov    %ebx,%eax
45d417:	e8 48 01 00 00       	call   0x45d564
45d41c:	8b cf                	mov    %edi,%ecx
45d41e:	8b d6                	mov    %esi,%edx
45d420:	8b c3                	mov    %ebx,%eax
45d422:	e8 61 02 ff ff       	call   0x44d688
45d427:	5f                   	pop    %edi
45d428:	5e                   	pop    %esi
45d429:	5b                   	pop    %ebx
45d42a:	c3                   	ret
45d42b:	90                   	nop
45d42c:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
45d430:	75 12                	jne    0x45d444
45d432:	80 b8 dc 01 00 00 00 	cmpb   $0x0,0x1dc(%eax)
45d439:	74 0c                	je     0x45d447
45d43b:	80 b8 db 01 00 00 00 	cmpb   $0x0,0x1db(%eax)
45d442:	74 03                	je     0x45d447
45d444:	33 c0                	xor    %eax,%eax
45d446:	c3                   	ret
45d447:	b0 01                	mov    $0x1,%al
45d449:	c3                   	ret
45d44a:	8b c0                	mov    %eax,%eax
45d44c:	55                   	push   %ebp
45d44d:	8b ec                	mov    %esp,%ebp
45d44f:	83 c4 f0             	add    $0xfffffff0,%esp
45d452:	53                   	push   %ebx
45d453:	56                   	push   %esi
45d454:	57                   	push   %edi
45d455:	89 45 fc             	mov    %eax,-0x4(%ebp)
45d458:	b2 01                	mov    $0x1,%dl
45d45a:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
45d45f:	e8 88 64 fa ff       	call   0x4038ec
45d464:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d467:	33 c0                	xor    %eax,%eax
45d469:	55                   	push   %ebp
45d46a:	68 54 d5 45 00       	push   $0x45d554
45d46f:	64 ff 30             	push   %fs:(%eax)
45d472:	64 89 20             	mov    %esp,%fs:(%eax)
45d475:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d478:	e8 63 c3 fe ff       	call   0x4497e0
45d47d:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d480:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d483:	8b 98 50 02 00 00    	mov    0x250(%eax),%ebx
45d489:	8b c3                	mov    %ebx,%eax
45d48b:	e8 64 f5 ff ff       	call   0x45c9f4
45d490:	84 c0                	test   %al,%al
45d492:	74 08                	je     0x45d49c
45d494:	8b 43 10             	mov    0x10(%ebx),%eax
45d497:	3b 45 f8             	cmp    -0x8(%ebp),%eax
45d49a:	7f 04                	jg     0x45d4a0
45d49c:	33 c0                	xor    %eax,%eax
45d49e:	eb 02                	jmp    0x45d4a2
45d4a0:	b0 01                	mov    $0x1,%al
45d4a2:	88 45 f7             	mov    %al,-0x9(%ebp)
45d4a5:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45d4a9:	74 0f                	je     0x45d4ba
45d4ab:	8b 43 10             	mov    0x10(%ebx),%eax
45d4ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d4b1:	33 d2                	xor    %edx,%edx
45d4b3:	8b c3                	mov    %ebx,%eax
45d4b5:	e8 aa fa ff ff       	call   0x45cf64
45d4ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d4bd:	e8 42 08 ff ff       	call   0x44dd04
45d4c2:	8b f0                	mov    %eax,%esi
45d4c4:	4e                   	dec    %esi
45d4c5:	85 f6                	test   %esi,%esi
45d4c7:	7c 37                	jl     0x45d500
45d4c9:	46                   	inc    %esi
45d4ca:	33 db                	xor    %ebx,%ebx
45d4cc:	8b d3                	mov    %ebx,%edx
45d4ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d4d1:	e8 f2 07 ff ff       	call   0x44dcc8
45d4d6:	8b f8                	mov    %eax,%edi
45d4d8:	8b d3                	mov    %ebx,%edx
45d4da:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d4dd:	e8 e6 07 ff ff       	call   0x44dcc8
45d4e2:	8b d0                	mov    %eax,%edx
45d4e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d4e7:	e8 8c ab fb ff       	call   0x418078
45d4ec:	8b 55 f8             	mov    -0x8(%ebp),%edx
45d4ef:	2b 57 48             	sub    0x48(%edi),%edx
45d4f2:	2b 57 40             	sub    0x40(%edi),%edx
45d4f5:	8b c7                	mov    %edi,%eax
45d4f7:	e8 f8 bf fe ff       	call   0x4494f4
45d4fc:	43                   	inc    %ebx
45d4fd:	4e                   	dec    %esi
45d4fe:	75 cc                	jne    0x45d4cc
45d500:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d503:	8b 70 08             	mov    0x8(%eax),%esi
45d506:	4e                   	dec    %esi
45d507:	85 f6                	test   %esi,%esi
45d509:	7c 1f                	jl     0x45d52a
45d50b:	46                   	inc    %esi
45d50c:	33 db                	xor    %ebx,%ebx
45d50e:	6a 00                	push   $0x0
45d510:	8b d3                	mov    %ebx,%edx
45d512:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d515:	e8 be ac fb ff       	call   0x4181d8
45d51a:	33 c9                	xor    %ecx,%ecx
45d51c:	ba 3e b0 00 00       	mov    $0xb03e,%edx
45d521:	e8 06 dc fe ff       	call   0x44b12c
45d526:	43                   	inc    %ebx
45d527:	4e                   	dec    %esi
45d528:	75 e4                	jne    0x45d50e
45d52a:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45d52e:	74 0e                	je     0x45d53e
45d530:	8b 45 fc             	mov    -0x4(%ebp),%eax
45d533:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
45d539:	e8 f6 f2 ff ff       	call   0x45c834
45d53e:	33 c0                	xor    %eax,%eax
45d540:	5a                   	pop    %edx
45d541:	59                   	pop    %ecx
45d542:	59                   	pop    %ecx
45d543:	64 89 10             	mov    %edx,%fs:(%eax)
45d546:	68 5b d5 45 00       	push   $0x45d55b
45d54b:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d54e:	e8 c9 63 fa ff       	call   0x40391c
45d553:	c3                   	ret
45d554:	e9 57 6b fa ff       	jmp    0x4040b0
45d559:	eb f0                	jmp    0x45d54b
45d55b:	5f                   	pop    %edi
45d55c:	5e                   	pop    %esi
45d55d:	5b                   	pop    %ebx
45d55e:	8b e5                	mov    %ebp,%esp
45d560:	5d                   	pop    %ebp
45d561:	c3                   	ret
45d562:	8b c0                	mov    %eax,%eax
45d564:	53                   	push   %ebx
45d565:	8b d8                	mov    %eax,%ebx
45d567:	83 bb 5c 02 00 00 00 	cmpl   $0x0,0x25c(%ebx)
45d56e:	7f 16                	jg     0x45d586
45d570:	8b 83 50 02 00 00    	mov    0x250(%ebx),%eax
45d576:	e8 cd f3 ff ff       	call   0x45c948
45d57b:	8b 83 54 02 00 00    	mov    0x254(%ebx),%eax
45d581:	e8 c2 f3 ff ff       	call   0x45c948
45d586:	5b                   	pop    %ebx
45d587:	c3                   	ret
45d588:	53                   	push   %ebx
45d589:	8b d8                	mov    %eax,%ebx
45d58b:	3a 93 58 02 00 00    	cmp    0x258(%ebx),%dl
45d591:	74 2d                	je     0x45d5c0
45d593:	88 93 58 02 00 00    	mov    %dl,0x258(%ebx)