43e25a:	c7 05 ac 12 45 00 00 	movl   $0x0,0x4512ac
43e261:	00 00 00
43e264:	a1 b0 12 45 00       	mov    0x4512b0,%eax
43e269:	85 c0                	test   %eax,%eax
43e26b:	74 11                	je     0x43e27e
43e26d:	50                   	push   %eax
43e26e:	ff 15 34 21 45 00    	call   *0x452134
43e274:	c7 05 b0 12 45 00 00 	movl   $0x0,0x4512b0
43e27b:	00 00 00
43e27e:	a1 b4 12 45 00       	mov    0x4512b4,%eax
43e283:	85 c0                	test   %eax,%eax
43e285:	74 11                	je     0x43e298
43e287:	50                   	push   %eax
43e288:	ff 15 34 21 45 00    	call   *0x452134
43e28e:	c7 05 b4 12 45 00 00 	movl   $0x0,0x4512b4
43e295:	00 00 00
43e298:	a1 b8 12 45 00       	mov    0x4512b8,%eax
43e29d:	85 c0                	test   %eax,%eax
43e29f:	74 11                	je     0x43e2b2
43e2a1:	50                   	push   %eax
43e2a2:	ff 15 34 21 45 00    	call   *0x452134
43e2a8:	c7 05 b8 12 45 00 00 	movl   $0x0,0x4512b8
43e2af:	00 00 00
43e2b2:	a1 bc 12 45 00       	mov    0x4512bc,%eax
43e2b7:	85 c0                	test   %eax,%eax
43e2b9:	74 11                	je     0x43e2cc
43e2bb:	50                   	push   %eax
43e2bc:	ff 15 34 21 45 00    	call   *0x452134
43e2c2:	c7 05 bc 12 45 00 00 	movl   $0x0,0x4512bc
43e2c9:	00 00 00
43e2cc:	a1 c0 12 45 00       	mov    0x4512c0,%eax
43e2d1:	85 c0                	test   %eax,%eax
43e2d3:	74 11                	je     0x43e2e6
43e2d5:	50                   	push   %eax
43e2d6:	ff 15 34 21 45 00    	call   *0x452134
43e2dc:	c7 05 c0 12 45 00 00 	movl   $0x0,0x4512c0
43e2e3:	00 00 00
43e2e6:	c3                   	ret
43e2e7:	cc                   	int3
43e2e8:	cc                   	int3
43e2e9:	cc                   	int3
43e2ea:	cc                   	int3
43e2eb:	cc                   	int3
43e2ec:	cc                   	int3
43e2ed:	cc                   	int3
43e2ee:	cc                   	int3
43e2ef:	cc                   	int3
43e2f0:	8b ff                	mov    %edi,%edi
43e2f2:	55                   	push   %ebp
43e2f3:	8b ec                	mov    %esp,%ebp
43e2f5:	81 ec fc 07 00 00    	sub    $0x7fc,%esp
43e2fb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43e300:	33 c5                	xor    %ebp,%eax
43e302:	89 45 fc             	mov    %eax,-0x4(%ebp)
43e305:	83 3d b0 12 45 00 00 	cmpl   $0x0,0x4512b0
43e30c:	53                   	push   %ebx
43e30d:	56                   	push   %esi
43e30e:	57                   	push   %edi
43e30f:	c7 05 c4 12 45 00 01 	movl   $0x1,0x4512c4
43e316:	00 00 00
43e319:	75 42                	jne    0x43e35d
43e31b:	68 00 02 00 00       	push   $0x200
43e320:	6a 00                	push   $0x0
43e322:	ff 15 30 21 45 00    	call   *0x452130
43e328:	a3 b0 12 45 00       	mov    %eax,0x4512b0
43e32d:	85 c0                	test   %eax,%eax
43e32f:	75 2c                	jne    0x43e35d
43e331:	e8 ba f9 ff ff       	call   0x43dcf0
43e336:	83 c0 10             	add    $0x10,%eax
43e339:	74 14                	je     0x43e34f
43e33b:	e8 b0 f9 ff ff       	call   0x43dcf0
43e340:	83 c0 14             	add    $0x14,%eax
43e343:	c7 40 04 54 00 00 00 	movl   $0x54,0x4(%eax)
43e34a:	e9 b3 06 00 00       	jmp    0x43ea02
43e34f:	33 c0                	xor    %eax,%eax
43e351:	c7 40 04 54 00 00 00 	movl   $0x54,0x4(%eax)
43e358:	e9 a5 06 00 00       	jmp    0x43ea02
43e35d:	68 58 02 00 00       	push   $0x258
43e362:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e368:	c7 05 c8 12 45 00 01 	movl   $0x1,0x4512c8
43e36f:	00 00 00
43e372:	50                   	push   %eax
43e373:	6a 00                	push   $0x0
43e375:	ff 15 54 21 45 00    	call   *0x452154
43e37b:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e381:	8d 51 02             	lea    0x2(%ecx),%edx
43e384:	66 8b 01             	mov    (%ecx),%ax
43e387:	83 c1 02             	add    $0x2,%ecx
43e38a:	66 85 c0             	test   %ax,%ax
43e38d:	75 f5                	jne    0x43e384
43e38f:	2b ca                	sub    %edx,%ecx
43e391:	c7 05 b4 12 45 00 00 	movl   $0x0,0x4512b4
43e398:	00 00 00
43e39b:	d1 f9                	sar    $1,%ecx
43e39d:	8d 41 01             	lea    0x1(%ecx),%eax
43e3a0:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e3a3:	3b c1                	cmp    %ecx,%eax
43e3a5:	0f 82 3a 06 00 00    	jb     0x43e9e5
43e3ab:	83 f8 01             	cmp    $0x1,%eax
43e3ae:	0f 82 31 06 00 00    	jb     0x43e9e5
43e3b4:	56                   	push   %esi
43e3b5:	6a 00                	push   $0x0
43e3b7:	ff 15 30 21 45 00    	call   *0x452130
43e3bd:	8b c8                	mov    %eax,%ecx
43e3bf:	89 0d b4 12 45 00    	mov    %ecx,0x4512b4
43e3c5:	85 c9                	test   %ecx,%ecx
43e3c7:	0f 84 f2 05 00 00    	je     0x43e9bf
43e3cd:	d1 ee                	shr    $1,%esi
43e3cf:	8b c6                	mov    %esi,%eax
43e3d1:	f7 d8                	neg    %eax
43e3d3:	1b c0                	sbb    %eax,%eax
43e3d5:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e3da:	05 57 00 07 80       	add    $0x80070057,%eax
43e3df:	85 f6                	test   %esi,%esi
43e3e1:	74 10                	je     0x43e3f3
43e3e3:	51                   	push   %ecx
43e3e4:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e3ea:	8b d6                	mov    %esi,%edx
43e3ec:	50                   	push   %eax
43e3ed:	51                   	push   %ecx
43e3ee:	e8 bd 6e fd ff       	call   0x4152b0
43e3f3:	8b c8                	mov    %eax,%ecx
43e3f5:	e8 e6 a8 fe ff       	call   0x428ce0
43e3fa:	85 c0                	test   %eax,%eax
43e3fc:	0f 88 1f 06 00 00    	js     0x43ea21
43e402:	68 00 01 00 00       	push   $0x100
43e407:	8d 85 48 f9 ff ff    	lea    -0x6b8(%ebp),%eax
43e40d:	50                   	push   %eax
43e40e:	68 58 02 00 00       	push   $0x258
43e413:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e419:	50                   	push   %eax
43e41a:	6a 00                	push   $0x0
43e41c:	6a 00                	push   $0x0
43e41e:	6a 00                	push   $0x0
43e420:	6a 00                	push   $0x0
43e422:	ff 35 b4 12 45 00    	push   0x4512b4
43e428:	ff 15 e8 22 45 00    	call   *0x4522e8
43e42e:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e434:	83 c4 24             	add    $0x24,%esp
43e437:	8d 51 02             	lea    0x2(%ecx),%edx
43e43a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43e440:	66 8b 01             	mov    (%ecx),%ax
43e443:	83 c1 02             	add    $0x2,%ecx
43e446:	66 85 c0             	test   %ax,%ax
43e449:	75 f5                	jne    0x43e440
43e44b:	2b ca                	sub    %edx,%ecx
43e44d:	c7 05 a8 12 45 00 00 	movl   $0x0,0x4512a8
43e454:	00 00 00
43e457:	d1 f9                	sar    $1,%ecx
43e459:	8d 41 01             	lea    0x1(%ecx),%eax
43e45c:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e45f:	3b c1                	cmp    %ecx,%eax
43e461:	0f 82 7e 05 00 00    	jb     0x43e9e5
43e467:	83 f8 01             	cmp    $0x1,%eax
43e46a:	0f 82 75 05 00 00    	jb     0x43e9e5
43e470:	56                   	push   %esi
43e471:	6a 00                	push   $0x0
43e473:	ff 15 30 21 45 00    	call   *0x452130
43e479:	8b c8                	mov    %eax,%ecx
43e47b:	89 0d a8 12 45 00    	mov    %ecx,0x4512a8
43e481:	85 c9                	test   %ecx,%ecx
43e483:	0f 84 36 05 00 00    	je     0x43e9bf
43e489:	d1 ee                	shr    $1,%esi
43e48b:	8b c6                	mov    %esi,%eax
43e48d:	f7 d8                	neg    %eax
43e48f:	1b c0                	sbb    %eax,%eax
43e491:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e496:	05 57 00 07 80       	add    $0x80070057,%eax
43e49b:	85 f6                	test   %esi,%esi
43e49d:	74 10                	je     0x43e4af
43e49f:	51                   	push   %ecx
43e4a0:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e4a6:	8b d6                	mov    %esi,%edx
43e4a8:	50                   	push   %eax
43e4a9:	51                   	push   %ecx
43e4aa:	e8 01 6e fd ff       	call   0x4152b0
43e4af:	8b c8                	mov    %eax,%ecx
43e4b1:	e8 2a a8 fe ff       	call   0x428ce0
43e4b6:	85 c0                	test   %eax,%eax
43e4b8:	0f 88 63 05 00 00    	js     0x43ea21
43e4be:	8d 85 48 f9 ff ff    	lea    -0x6b8(%ebp),%eax
43e4c4:	50                   	push   %eax
43e4c5:	ff 35 a8 12 45 00    	push   0x4512a8
43e4cb:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e4d1:	68 74 29 40 00       	push   $0x402974
43e4d6:	68 b0 04 00 00       	push   $0x4b0
43e4db:	50                   	push   %eax
43e4dc:	e8 bf a9 fe ff       	call   0x428ea0
43e4e1:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e4e7:	83 c4 14             	add    $0x14,%esp
43e4ea:	8d 51 02             	lea    0x2(%ecx),%edx
43e4ed:	8d 49 00             	lea    0x0(%ecx),%ecx
43e4f0:	66 8b 01             	mov    (%ecx),%ax
43e4f3:	83 c1 02             	add    $0x2,%ecx
43e4f6:	66 85 c0             	test   %ax,%ax
43e4f9:	75 f5                	jne    0x43e4f0
43e4fb:	2b ca                	sub    %edx,%ecx
43e4fd:	c7 05 ac 12 45 00 00 	movl   $0x0,0x4512ac
43e504:	00 00 00
43e507:	d1 f9                	sar    $1,%ecx
43e509:	8d 41 01             	lea    0x1(%ecx),%eax
43e50c:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e50f:	3b c1                	cmp    %ecx,%eax
43e511:	0f 82 ce 04 00 00    	jb     0x43e9e5
43e517:	83 f8 01             	cmp    $0x1,%eax
43e51a:	0f 82 c5 04 00 00    	jb     0x43e9e5
43e520:	56                   	push   %esi
43e521:	6a 00                	push   $0x0
43e523:	ff 15 30 21 45 00    	call   *0x452130
43e529:	8b c8                	mov    %eax,%ecx
43e52b:	89 0d ac 12 45 00    	mov    %ecx,0x4512ac
43e531:	85 c9                	test   %ecx,%ecx
43e533:	0f 84 86 04 00 00    	je     0x43e9bf
43e539:	d1 ee                	shr    $1,%esi
43e53b:	8b c6                	mov    %esi,%eax
43e53d:	f7 d8                	neg    %eax
43e53f:	1b c0                	sbb    %eax,%eax
43e541:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e546:	05 57 00 07 80       	add    $0x80070057,%eax
43e54b:	85 f6                	test   %esi,%esi
43e54d:	74 10                	je     0x43e55f
43e54f:	51                   	push   %ecx
43e550:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e556:	8b d6                	mov    %esi,%edx
43e558:	50                   	push   %eax
43e559:	51                   	push   %ecx
43e55a:	e8 51 6d fd ff       	call   0x4152b0
43e55f:	8b c8                	mov    %eax,%ecx
43e561:	e8 7a a7 fe ff       	call   0x428ce0
43e566:	85 c0                	test   %eax,%eax
43e568:	0f 88 b3 04 00 00    	js     0x43ea21
43e56e:	51                   	push   %ecx
43e56f:	ff 35 a8 12 45 00    	push   0x4512a8
43e575:	ba 00 01 00 00       	mov    $0x100,%edx
43e57a:	51                   	push   %ecx
43e57b:	8b 0d b0 12 45 00    	mov    0x4512b0,%ecx
43e581:	e8 2a 6d fd ff       	call   0x4152b0
43e586:	8b c8                	mov    %eax,%ecx
43e588:	e8 53 a7 fe ff       	call   0x428ce0
43e58d:	85 c0                	test   %eax,%eax
43e58f:	0f 88 8c 04 00 00    	js     0x43ea21
43e595:	ff 15 d4 21 45 00    	call   *0x4521d4
43e59b:	8d 85 30 f8 ff ff    	lea    -0x7d0(%ebp),%eax
43e5a1:	c7 85 30 f8 ff ff 14 	movl   $0x114,-0x7d0(%ebp)
43e5a8:	01 00 00
43e5ab:	50                   	push   %eax
43e5ac:	ff 15 58 22 45 00    	call   *0x452258
43e5b2:	85 c0                	test   %eax,%eax
43e5b4:	0f 84 67 04 00 00    	je     0x43ea21
43e5ba:	8b 85 34 f8 ff ff    	mov    -0x7cc(%ebp),%eax
43e5c0:	a3 d8 19 45 00       	mov    %eax,0x4519d8
43e5c5:	8b 85 38 f8 ff ff    	mov    -0x7c8(%ebp),%eax
43e5cb:	a3 dc 19 45 00       	mov    %eax,0x4519dc
43e5d0:	8b 85 3c f8 ff ff    	mov    -0x7c4(%ebp),%eax
43e5d6:	a3 e0 19 45 00       	mov    %eax,0x4519e0
43e5db:	8d 85 44 f8 ff ff    	lea    -0x7bc(%ebp),%eax
43e5e1:	68 50 2f 41 00       	push   $0x412f50
43e5e6:	50                   	push   %eax
43e5e7:	ff 15 60 23 45 00    	call   *0x452360
43e5ed:	83 c4 08             	add    $0x8,%esp
43e5f0:	85 c0                	test   %eax,%eax
43e5f2:	74 0c                	je     0x43e600
43e5f4:	50                   	push   %eax
43e5f5:	ff 15 ac 22 45 00    	call   *0x4522ac
43e5fb:	83 c4 04             	add    $0x4,%esp
43e5fe:	eb 02                	jmp    0x43e602
43e600:	33 c0                	xor    %eax,%eax
43e602:	a3 e4 19 45 00       	mov    %eax,0x4519e4
43e607:	8d 85 04 f8 ff ff    	lea    -0x7fc(%ebp),%eax
43e60d:	6a 1c                	push   $0x1c
43e60f:	50                   	push   %eax
43e610:	68 f0 e2 43 00       	push   $0x43e2f0
43e615:	ff 15 c4 21 45 00    	call   *0x4521c4
43e61b:	50                   	push   %eax
43e61c:	ff 15 90 21 45 00    	call   *0x452190
43e622:	85 c0                	test   %eax,%eax
43e624:	0f 84 f7 03 00 00    	je     0x43ea21
43e62a:	68 58 02 00 00       	push   $0x258
43e62f:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e635:	50                   	push   %eax
43e636:	ff b5 08 f8 ff ff    	push   -0x7f8(%ebp)
43e63c:	ff 15 54 21 45 00    	call   *0x452154
43e642:	85 c0                	test   %eax,%eax
43e644:	0f 84 d7 03 00 00    	je     0x43ea21
43e64a:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e650:	8d 51 02             	lea    0x2(%ecx),%edx
43e653:	66 8b 01             	mov    (%ecx),%ax
43e656:	83 c1 02             	add    $0x2,%ecx
43e659:	66 85 c0             	test   %ax,%ax
43e65c:	75 f5                	jne    0x43e653
43e65e:	2b ca                	sub    %edx,%ecx
43e660:	c7 05 bc 12 45 00 00 	movl   $0x0,0x4512bc
43e667:	00 00 00
43e66a:	d1 f9                	sar    $1,%ecx
43e66c:	8d 41 01             	lea    0x1(%ecx),%eax
43e66f:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e672:	3b c1                	cmp    %ecx,%eax
43e674:	0f 82 6b 03 00 00    	jb     0x43e9e5
43e67a:	83 f8 01             	cmp    $0x1,%eax
43e67d:	0f 82 62 03 00 00    	jb     0x43e9e5
43e683:	56                   	push   %esi
43e684:	6a 00                	push   $0x0
43e686:	ff 15 30 21 45 00    	call   *0x452130
43e68c:	8b c8                	mov    %eax,%ecx
43e68e:	89 0d bc 12 45 00    	mov    %ecx,0x4512bc
43e694:	85 c9                	test   %ecx,%ecx
43e696:	0f 84 23 03 00 00    	je     0x43e9bf
43e69c:	d1 ee                	shr    $1,%esi
43e69e:	8b c6                	mov    %esi,%eax
43e6a0:	f7 d8                	neg    %eax
43e6a2:	1b c0                	sbb    %eax,%eax
43e6a4:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e6a9:	05 57 00 07 80       	add    $0x80070057,%eax
43e6ae:	85 f6                	test   %esi,%esi
43e6b0:	74 10                	je     0x43e6c2
43e6b2:	51                   	push   %ecx
43e6b3:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e6b9:	8b d6                	mov    %esi,%edx
43e6bb:	50                   	push   %eax
43e6bc:	51                   	push   %ecx
43e6bd:	e8 ee 6b fd ff       	call   0x4152b0
43e6c2:	8b c8                	mov    %eax,%ecx
43e6c4:	e8 17 a6 fe ff       	call   0x428ce0
43e6c9:	85 c0                	test   %eax,%eax
43e6cb:	0f 88 50 03 00 00    	js     0x43ea21
43e6d1:	6a 00                	push   $0x0
43e6d3:	6a 00                	push   $0x0
43e6d5:	68 58 02 00 00       	push   $0x258
43e6da:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e6e0:	50                   	push   %eax
43e6e1:	6a 00                	push   $0x0
43e6e3:	6a 00                	push   $0x0
43e6e5:	6a 00                	push   $0x0
43e6e7:	6a 00                	push   $0x0
43e6e9:	ff 35 bc 12 45 00    	push   0x4512bc
43e6ef:	ff 15 e8 22 45 00    	call   *0x4522e8
43e6f5:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e6fb:	83 c4 24             	add    $0x24,%esp
43e6fe:	8d 51 02             	lea    0x2(%ecx),%edx
43e701:	66 8b 01             	mov    (%ecx),%ax
43e704:	83 c1 02             	add    $0x2,%ecx
43e707:	66 85 c0             	test   %ax,%ax
43e70a:	75 f5                	jne    0x43e701
43e70c:	2b ca                	sub    %edx,%ecx
43e70e:	c7 05 b8 12 45 00 00 	movl   $0x0,0x4512b8
43e715:	00 00 00
43e718:	d1 f9                	sar    $1,%ecx
43e71a:	8d 41 01             	lea    0x1(%ecx),%eax
43e71d:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e720:	3b c1                	cmp    %ecx,%eax