45a173:	6b ff f6             	imul   $0xfffffff6,%edi,%edi
45a176:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
45a17c:	50                   	push   %eax
45a17d:	33 c0                	xor    %eax,%eax
45a17f:	50                   	push   %eax
45a180:	6a 02                	push   $0x2
45a182:	50                   	push   %eax
45a183:	6a 04                	push   $0x4
45a185:	6a 01                	push   $0x1
45a187:	50                   	push   %eax
45a188:	50                   	push   %eax
45a189:	50                   	push   %eax
45a18a:	68 58 02 00 00       	push   $0x258
45a18f:	50                   	push   %eax
45a190:	50                   	push   %eax
45a191:	50                   	push   %eax
45a192:	6a 48                	push   $0x48
45a194:	8b c7                	mov    %edi,%eax
45a196:	99                   	cltd
45a197:	59                   	pop    %ecx
45a198:	f7 f9                	idiv   %ecx
45a19a:	50                   	push   %eax
45a19b:	ff 15 44 d1 48 00    	call   *0x48d144
45a1a1:	8b 35 70 d6 48 00    	mov    0x48d670,%esi
45a1a7:	6a 01                	push   $0x1
45a1a9:	50                   	push   %eax
45a1aa:	6a 30                	push   $0x30
45a1ac:	ff 35 cc 10 4c 00    	push   0x4c10cc
45a1b2:	ff d6                	call   *%esi
45a1b4:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a1b7:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a1ba:	33 ff                	xor    %edi,%edi
45a1bc:	57                   	push   %edi
45a1bd:	57                   	push   %edi
45a1be:	57                   	push   %edi
45a1bf:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a1c5:	b9 04 01 00 00       	mov    $0x104,%ecx
45a1ca:	6a 14                	push   $0x14
45a1cc:	2b c1                	sub    %ecx,%eax
45a1ce:	51                   	push   %ecx
45a1cf:	99                   	cltd
45a1d0:	6a 1e                	push   $0x1e
45a1d2:	2b c2                	sub    %edx,%eax
45a1d4:	d1 f8                	sar    $1,%eax
45a1d6:	50                   	push   %eax
45a1d7:	68 01 00 00 50       	push   $0x50000001
45a1dc:	57                   	push   %edi
45a1dd:	8b 3d 08 d7 48 00    	mov    0x48d708,%edi
45a1e3:	68 60 3d 4b 00       	push   $0x4b3d60
45a1e8:	68 00 02 00 00       	push   $0x200
45a1ed:	ff d7                	call   *%edi
45a1ef:	a3 d0 10 4c 00       	mov    %eax,0x4c10d0
45a1f4:	68 00 00 64 00       	push   $0x640000
45a1f9:	6a 00                	push   $0x0
45a1fb:	68 01 04 00 00       	push   $0x401
45a200:	50                   	push   %eax
45a201:	ff d6                	call   *%esi
45a203:	6a 00                	push   $0x0
45a205:	6a 01                	push   $0x1
45a207:	68 04 04 00 00       	push   $0x404
45a20c:	ff 35 d0 10 4c 00    	push   0x4c10d0
45a212:	ff d6                	call   *%esi
45a214:	33 c9                	xor    %ecx,%ecx
45a216:	51                   	push   %ecx
45a217:	51                   	push   %ecx
45a218:	51                   	push   %ecx
45a219:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a21f:	6a 32                	push   $0x32
45a221:	68 00 05 00 00       	push   $0x500
45a226:	6a 37                	push   $0x37
45a228:	8b 45 ec             	mov    -0x14(%ebp),%eax
45a22b:	2b 45 e4             	sub    -0x1c(%ebp),%eax
45a22e:	2d 18 01 00 00       	sub    $0x118,%eax
45a233:	50                   	push   %eax
45a234:	68 00 00 00 50       	push   $0x50000000
45a239:	ff 75 d4             	push   -0x2c(%ebp)
45a23c:	68 78 18 4b 00       	push   $0x4b1878
45a241:	51                   	push   %ecx
45a242:	ff d7                	call   *%edi
45a244:	6a 01                	push   $0x1
45a246:	6a 11                	push   $0x11
45a248:	a3 c8 10 4c 00       	mov    %eax,0x4c10c8
45a24d:	ff d3                	call   *%ebx
45a24f:	50                   	push   %eax
45a250:	6a 30                	push   $0x30
45a252:	ff 35 c8 10 4c 00    	push   0x4c10c8
45a258:	ff d6                	call   *%esi
45a25a:	6a 04                	push   $0x4
45a25c:	ff 35 d4 10 4c 00    	push   0x4c10d4
45a262:	ff 15 04 d7 48 00    	call   *0x48d704
45a268:	5f                   	pop    %edi
45a269:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45a26c:	e8 c6 28 fb ff       	call   0x40cb37
45a271:	5e                   	pop    %esi
45a272:	33 c0                	xor    %eax,%eax
45a274:	5b                   	pop    %ebx
45a275:	c9                   	leave
45a276:	c2 0c 00             	ret    $0xc
45a279:	55                   	push   %ebp
45a27a:	8b ec                	mov    %esp,%ebp
45a27c:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
45a280:	56                   	push   %esi
45a281:	8b 75 0c             	mov    0xc(%ebp),%esi
45a284:	8b ca                	mov    %edx,%ecx
45a286:	2b ce                	sub    %esi,%ecx
45a288:	79 02                	jns    0x45a28c
45a28a:	33 c9                	xor    %ecx,%ecx
45a28c:	8b 45 10             	mov    0x10(%ebp),%eax
45a28f:	88 08                	mov    %cl,(%eax)
45a291:	8d 04 32             	lea    (%edx,%esi,1),%eax
45a294:	b9 ff 00 00 00       	mov    $0xff,%ecx
45a299:	5e                   	pop    %esi
45a29a:	3b c1                	cmp    %ecx,%eax
45a29c:	7f 02                	jg     0x45a2a0
45a29e:	8b c8                	mov    %eax,%ecx
45a2a0:	8b 45 14             	mov    0x14(%ebp),%eax
45a2a3:	88 08                	mov    %cl,(%eax)
45a2a5:	5d                   	pop    %ebp
45a2a6:	c2 10 00             	ret    $0x10
45a2a9:	55                   	push   %ebp
45a2aa:	8b ec                	mov    %esp,%ebp
45a2ac:	81 ec b8 00 00 00    	sub    $0xb8,%esp
45a2b2:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
45a2b6:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
45a2ba:	53                   	push   %ebx
45a2bb:	56                   	push   %esi
45a2bc:	33 db                	xor    %ebx,%ebx
45a2be:	57                   	push   %edi
45a2bf:	bf 01 00 00 50       	mov    $0x50000001,%edi
45a2c4:	c7 45 f4 f4 01 00 00 	movl   $0x1f4,-0xc(%ebp)
45a2cb:	c7 45 fc 90 01 00 00 	movl   $0x190,-0x4(%ebp)
45a2d2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45a2d5:	89 7d ec             	mov    %edi,-0x14(%ebp)
45a2d8:	c7 45 f8 00 00 c0 88 	movl   $0x88c00000,-0x8(%ebp)
45a2df:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
45a2e6:	39 1d dc 10 4c 00    	cmp    %ebx,0x4c10dc
45a2ec:	74 3c                	je     0x45a32a
45a2ee:	a1 e0 10 4c 00       	mov    0x4c10e0,%eax
45a2f3:	8b 35 c8 d0 48 00    	mov    0x48d0c8,%esi
45a2f9:	85 c0                	test   %eax,%eax
45a2fb:	74 09                	je     0x45a306
45a2fd:	50                   	push   %eax
45a2fe:	ff d6                	call   *%esi
45a300:	89 1d e0 10 4c 00    	mov    %ebx,0x4c10e0
45a306:	a1 d8 10 4c 00       	mov    0x4c10d8,%eax
45a30b:	85 c0                	test   %eax,%eax
45a30d:	74 09                	je     0x45a318
45a30f:	50                   	push   %eax
45a310:	ff d6                	call   *%esi
45a312:	89 1d d8 10 4c 00    	mov    %ebx,0x4c10d8
45a318:	ff 35 dc 10 4c 00    	push   0x4c10dc
45a31e:	ff 15 24 d6 48 00    	call   *0x48d624
45a324:	89 1d dc 10 4c 00    	mov    %ebx,0x4c10dc
45a32a:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
45a32e:	0f 84 ef 04 00 00    	je     0x45a823
45a334:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45a337:	50                   	push   %eax
45a338:	ff 15 2c d6 48 00    	call   *0x48d62c
45a33e:	50                   	push   %eax
45a33f:	ff 15 7c d6 48 00    	call   *0x48d67c
45a345:	8b 75 0c             	mov    0xc(%ebp),%esi
45a348:	8b 5d 08             	mov    0x8(%ebp),%ebx
45a34b:	83 fe 03             	cmp    $0x3,%esi
45a34e:	72 1e                	jb     0x45a36e
45a350:	8b 43 04             	mov    0x4(%ebx),%eax
45a353:	8b 48 08             	mov    0x8(%eax),%ecx
45a356:	e8 2b 2f fb ff       	call   0x40d286
45a35b:	83 f8 ff             	cmp    $0xffffffff,%eax
45a35e:	74 0e                	je     0x45a36e
45a360:	8b 43 04             	mov    0x4(%ebx),%eax
45a363:	8b 48 08             	mov    0x8(%eax),%ecx
45a366:	e8 1b 2f fb ff       	call   0x40d286
45a36b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45a36e:	83 fe 04             	cmp    $0x4,%esi
45a371:	72 1e                	jb     0x45a391
45a373:	8b 4b 04             	mov    0x4(%ebx),%ecx
45a376:	8b 49 0c             	mov    0xc(%ecx),%ecx
45a379:	e8 08 2f fb ff       	call   0x40d286
45a37e:	83 f8 ff             	cmp    $0xffffffff,%eax
45a381:	74 0e                	je     0x45a391
45a383:	8b 43 04             	mov    0x4(%ebx),%eax
45a386:	8b 48 0c             	mov    0xc(%eax),%ecx
45a389:	e8 f8 2e fb ff       	call   0x40d286
45a38e:	89 45 fc             	mov    %eax,-0x4(%ebp)
45a391:	83 fe 05             	cmp    $0x5,%esi
45a394:	72 0e                	jb     0x45a3a4
45a396:	8b 4b 04             	mov    0x4(%ebx),%ecx
45a399:	8b 49 10             	mov    0x10(%ecx),%ecx
45a39c:	e8 e5 2e fb ff       	call   0x40d286
45a3a1:	89 45 e8             	mov    %eax,-0x18(%ebp)
45a3a4:	83 fe 06             	cmp    $0x6,%esi
45a3a7:	72 0e                	jb     0x45a3b7
45a3a9:	8b 4b 04             	mov    0x4(%ebx),%ecx
45a3ac:	8b 49 14             	mov    0x14(%ecx),%ecx
45a3af:	e8 d2 2e fb ff       	call   0x40d286
45a3b4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45a3b7:	83 fe 07             	cmp    $0x7,%esi
45a3ba:	0f 82 87 00 00 00    	jb     0x45a447
45a3c0:	8b 4b 04             	mov    0x4(%ebx),%ecx
45a3c3:	8b 49 18             	mov    0x18(%ecx),%ecx
45a3c6:	e8 bb 2e fb ff       	call   0x40d286
45a3cb:	83 f8 ff             	cmp    $0xffffffff,%eax
45a3ce:	74 77                	je     0x45a447
45a3d0:	8b 43 04             	mov    0x4(%ebx),%eax
45a3d3:	8b 48 18             	mov    0x18(%eax),%ecx
45a3d6:	e8 ab 2e fb ff       	call   0x40d286
45a3db:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
45a3df:	8b c8                	mov    %eax,%ecx
45a3e1:	89 4d d0             	mov    %ecx,-0x30(%ebp)
45a3e4:	75 29                	jne    0x45a40f
45a3e6:	f6 c1 08             	test   $0x8,%cl
45a3e9:	74 0a                	je     0x45a3f5
45a3eb:	b8 02 00 00 50       	mov    $0x50000002,%eax
45a3f0:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a3f3:	eb 02                	jmp    0x45a3f7
45a3f5:	8b c7                	mov    %edi,%eax
45a3f7:	f6 c1 04             	test   $0x4,%cl
45a3fa:	74 10                	je     0x45a40c
45a3fc:	0f be c0             	movsbl %al,%eax
45a3ff:	83 e0 02             	and    $0x2,%eax
45a402:	0d 01 00 00 a0       	or     $0xa0000001,%eax
45a407:	d1 e8                	shr    $1,%eax
45a409:	89 45 ec             	mov    %eax,-0x14(%ebp)
45a40c:	8b 7d ec             	mov    -0x14(%ebp),%edi
45a40f:	8a c1                	mov    %cl,%al
45a411:	24 02                	and    $0x2,%al
45a413:	0f be c0             	movsbl %al,%eax
45a416:	f7 d8                	neg    %eax
45a418:	1b c0                	sbb    %eax,%eax
45a41a:	f7 d0                	not    %eax
45a41c:	23 45 f0             	and    -0x10(%ebp),%eax
45a41f:	8b f0                	mov    %eax,%esi
45a421:	89 75 f0             	mov    %esi,-0x10(%ebp)
45a424:	f6 c1 01             	test   $0x1,%cl
45a427:	74 0a                	je     0x45a433
45a429:	b8 00 00 80 88       	mov    $0x88800000,%eax
45a42e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a431:	eb 05                	jmp    0x45a438
45a433:	b8 00 00 c0 88       	mov    $0x88c00000,%eax
45a438:	f6 c1 10             	test   $0x10,%cl
45a43b:	74 0d                	je     0x45a44a
45a43d:	35 00 00 00 08       	xor    $0x8000000,%eax
45a442:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a445:	eb 03                	jmp    0x45a44a
45a447:	8b 75 f0             	mov    -0x10(%ebp),%esi
45a44a:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
45a44e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45a451:	75 0d                	jne    0x45a460
45a453:	8b 45 dc             	mov    -0x24(%ebp),%eax
45a456:	2b c1                	sub    %ecx,%eax
45a458:	99                   	cltd
45a459:	2b c2                	sub    %edx,%eax
45a45b:	d1 f8                	sar    $1,%eax
45a45d:	89 45 e8             	mov    %eax,-0x18(%ebp)
45a460:	83 7d e4 ff          	cmpl   $0xffffffff,-0x1c(%ebp)
45a464:	75 0e                	jne    0x45a474
45a466:	8b 45 e0             	mov    -0x20(%ebp),%eax
45a469:	2b 45 fc             	sub    -0x4(%ebp),%eax
45a46c:	99                   	cltd
45a46d:	2b c2                	sub    %edx,%eax
45a46f:	d1 f8                	sar    $1,%eax
45a471:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45a474:	ff 75 fc             	push   -0x4(%ebp)
45a477:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45a47a:	51                   	push   %ecx
45a47b:	6a 00                	push   $0x0
45a47d:	6a 00                	push   $0x0
45a47f:	50                   	push   %eax
45a480:	ff 15 a4 d6 48 00    	call   *0x48d6a4
45a486:	56                   	push   %esi
45a487:	6a 00                	push   $0x0
45a489:	ff 75 f8             	push   -0x8(%ebp)
45a48c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45a48f:	50                   	push   %eax
45a490:	ff 15 a0 d6 48 00    	call   *0x48d6a0
45a496:	8b 43 04             	mov    0x4(%ebx),%eax
45a499:	8b 30                	mov    (%eax),%esi
45a49b:	8b ce                	mov    %esi,%ecx
45a49d:	e8 ca ee fa ff       	call   0x40936c
45a4a2:	8b 46 08             	mov    0x8(%esi),%eax
45a4a5:	8b 35 08 d7 48 00    	mov    0x48d708,%esi
45a4ab:	8b 08                	mov    (%eax),%ecx
45a4ad:	33 c0                	xor    %eax,%eax
45a4af:	50                   	push   %eax
45a4b0:	50                   	push   %eax
45a4b1:	50                   	push   %eax
45a4b2:	ff 35 e8 10 4c 00    	push   0x4c10e8
45a4b8:	8b 45 e0             	mov    -0x20(%ebp),%eax
45a4bb:	2b 45 d8             	sub    -0x28(%ebp),%eax
45a4be:	50                   	push   %eax
45a4bf:	8b 45 dc             	mov    -0x24(%ebp),%eax
45a4c2:	2b 45 d4             	sub    -0x2c(%ebp),%eax
45a4c5:	50                   	push   %eax
45a4c6:	ff 75 e4             	push   -0x1c(%ebp)
45a4c9:	ff 75 e8             	push   -0x18(%ebp)
45a4cc:	ff 75 f8             	push   -0x8(%ebp)
45a4cf:	51                   	push   %ecx
45a4d0:	68 b8 da 49 00       	push   $0x49dab8
45a4d5:	ff 75 f0             	push   -0x10(%ebp)
45a4d8:	ff d6                	call   *%esi
45a4da:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45a4dd:	51                   	push   %ecx
45a4de:	50                   	push   %eax
45a4df:	a3 dc 10 4c 00       	mov    %eax,0x4c10dc
45a4e4:	ff 15 1c d6 48 00    	call   *0x48d61c
45a4ea:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45a4ed:	8b 45 e0             	mov    -0x20(%ebp),%eax
45a4f0:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
45a4f3:	2b 45 d8             	sub    -0x28(%ebp),%eax
45a4f6:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
45a4fa:	0f 85 3b 01 00 00    	jne    0x45a63b
45a500:	33 ff                	xor    %edi,%edi
45a502:	57                   	push   %edi
45a503:	57                   	push   %edi
45a504:	57                   	push   %edi
45a505:	ff 35 dc 10 4c 00    	push   0x4c10dc
45a50b:	89 7d 10             	mov    %edi,0x10(%ebp)
45a50e:	50                   	push   %eax
45a50f:	51                   	push   %ecx
45a510:	57                   	push   %edi
45a511:	57                   	push   %edi
45a512:	68 0e 00 00 50       	push   $0x5000000e
45a517:	57                   	push   %edi
45a518:	68 78 18 4b 00       	push   $0x4b1878
45a51d:	57                   	push   %edi
45a51e:	ff d6                	call   *%esi
45a520:	8b 4b 04             	mov    0x4(%ebx),%ecx
45a523:	89 45 d0             	mov    %eax,-0x30(%ebp)
45a526:	8b 71 04             	mov    0x4(%ecx),%esi
45a529:	8b ce                	mov    %esi,%ecx
45a52b:	e8 3c ee fa ff       	call   0x40936c
45a530:	8b 4e 08             	mov    0x8(%esi),%ecx
45a533:	57                   	push   %edi
45a534:	57                   	push   %edi
45a535:	6a 03                	push   $0x3
45a537:	57                   	push   %edi
45a538:	57                   	push   %edi
45a539:	68 00 00 00 80       	push   $0x80000000
45a53e:	ff 31                	push   (%ecx)
45a540:	ff 15 c4 d1 48 00    	call   *0x48d1c4
45a546:	8b d8                	mov    %eax,%ebx
45a548:	83 fb ff             	cmp    $0xffffffff,%ebx
45a54b:	0f 84 d2 02 00 00    	je     0x45a823
45a551:	57                   	push   %edi
45a552:	53                   	push   %ebx
45a553:	ff 15 d8 d2 48 00    	call   *0x48d2d8
45a559:	8b f0                	mov    %eax,%esi
45a55b:	56                   	push   %esi
45a55c:	6a 02                	push   $0x2
45a55e:	ff 15 d4 d2 48 00    	call   *0x48d2d4