41d204:	8b f9                	mov    %ecx,%edi
41d206:	e8 56 08 03 00       	call   0x44da61
41d20b:	83 c4 0c             	add    $0xc,%esp
41d20e:	c7 45 ac 54 00 00 00 	movl   $0x54,-0x54(%ebp)
41d215:	8d 45 ac             	lea    -0x54(%ebp),%eax
41d218:	c7 45 bc 0e 00 00 00 	movl   $0xe,-0x44(%ebp)
41d21f:	89 75 c8             	mov    %esi,-0x38(%ebp)
41d222:	89 7d b0             	mov    %edi,-0x50(%ebp)
41d225:	50                   	push   %eax
41d226:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
41d22d:	c7 45 f8 b0 a2 41 00 	movl   $0x41a2b0,-0x8(%ebp)
41d234:	ff 15 04 20 45 00    	call   *0x452004
41d23a:	5f                   	pop    %edi
41d23b:	5e                   	pop    %esi
41d23c:	8b e5                	mov    %ebp,%esp
41d23e:	5d                   	pop    %ebp
41d23f:	c2 08 00             	ret    $0x8
41d242:	cc                   	int3
41d243:	cc                   	int3
41d244:	cc                   	int3
41d245:	cc                   	int3
41d246:	cc                   	int3
41d247:	cc                   	int3
41d248:	cc                   	int3
41d249:	cc                   	int3
41d24a:	cc                   	int3
41d24b:	cc                   	int3
41d24c:	cc                   	int3
41d24d:	cc                   	int3
41d24e:	cc                   	int3
41d24f:	cc                   	int3
41d250:	8b ff                	mov    %edi,%edi
41d252:	55                   	push   %ebp
41d253:	8b ec                	mov    %esp,%ebp
41d255:	83 ec 10             	sub    $0x10,%esp
41d258:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41d25d:	33 c5                	xor    %ebp,%eax
41d25f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d262:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d265:	56                   	push   %esi
41d266:	8b 75 0c             	mov    0xc(%ebp),%esi
41d269:	57                   	push   %edi
41d26a:	8b 7d 38             	mov    0x38(%ebp),%edi
41d26d:	85 c9                	test   %ecx,%ecx
41d26f:	75 08                	jne    0x41d279
41d271:	85 f6                	test   %esi,%esi
41d273:	0f 84 68 01 00 00    	je     0x41d3e1
41d279:	8b 07                	mov    (%edi),%eax
41d27b:	53                   	push   %ebx
41d27c:	83 f8 ff             	cmp    $0xffffffff,%eax
41d27f:	0f 85 85 00 00 00    	jne    0x41d30a
41d285:	6a 0a                	push   $0xa
41d287:	68 34 2b 40 00       	push   $0x402b34
41d28c:	ff 15 74 23 45 00    	call   *0x452374
41d292:	6a 0a                	push   $0xa
41d294:	6a 0a                	push   $0xa
41d296:	68 6c 3e 40 00       	push   $0x403e6c
41d29b:	68 ec 3e 40 00       	push   $0x403eec
41d2a0:	6a 14                	push   $0x14
41d2a2:	68 bc c3 40 00       	push   $0x40c3bc
41d2a7:	ff 15 74 23 45 00    	call   *0x452374
41d2ad:	68 e8 c3 40 00       	push   $0x40c3e8
41d2b2:	ff 15 74 23 45 00    	call   *0x452374
41d2b8:	68 68 c4 40 00       	push   $0x40c468
41d2bd:	ff 15 74 23 45 00    	call   *0x452374
41d2c3:	68 e8 c4 40 00       	push   $0x40c4e8
41d2c8:	ff 15 74 23 45 00    	call   *0x452374
41d2ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d2d1:	33 db                	xor    %ebx,%ebx
41d2d3:	83 c4 2c             	add    $0x2c,%esp
41d2d6:	89 1d 70 1e 45 00    	mov    %ebx,0x451e70
41d2dc:	85 f6                	test   %esi,%esi
41d2de:	75 0b                	jne    0x41d2eb
41d2e0:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
41d2e6:	8d 43 01             	lea    0x1(%ebx),%eax
41d2e9:	eb 25                	jmp    0x41d310
41d2eb:	83 fe 64             	cmp    $0x64,%esi
41d2ee:	72 0d                	jb     0x41d2fd
41d2f0:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
41d2f6:	b8 02 00 00 00       	mov    $0x2,%eax
41d2fb:	eb 13                	jmp    0x41d310
41d2fd:	c7 07 03 00 00 00    	movl   $0x3,(%edi)
41d303:	b8 03 00 00 00       	mov    $0x3,%eax
41d308:	eb 06                	jmp    0x41d310
41d30a:	8b 1d 70 1e 45 00    	mov    0x451e70,%ebx
41d310:	8b 7d 14             	mov    0x14(%ebp),%edi
41d313:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
41d31a:	83 e8 01             	sub    $0x1,%eax
41d31d:	74 32                	je     0x41d351
41d31f:	83 e8 01             	sub    $0x1,%eax
41d322:	74 24                	je     0x41d348
41d324:	83 e8 01             	sub    $0x1,%eax
41d327:	75 14                	jne    0x41d33d
41d329:	8b 55 10             	mov    0x10(%ebp),%edx
41d32c:	8b c6                	mov    %esi,%eax
41d32e:	0f ac c1 07          	shrd   $0x7,%eax,%ecx
41d332:	8b c7                	mov    %edi,%eax
41d334:	0f ac c2 07          	shrd   $0x7,%eax,%edx
41d338:	8b 45 10             	mov    0x10(%ebp),%eax
41d33b:	eb 19                	jmp    0x41d356
41d33d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41d340:	8b 55 f4             	mov    -0xc(%ebp),%edx
41d343:	8b 45 10             	mov    0x10(%ebp),%eax
41d346:	eb 14                	jmp    0x41d35c
41d348:	8b 45 10             	mov    0x10(%ebp),%eax
41d34b:	8b ce                	mov    %esi,%ecx
41d34d:	8b d7                	mov    %edi,%edx
41d34f:	eb 05                	jmp    0x41d356
41d351:	8b 45 10             	mov    0x10(%ebp),%eax
41d354:	8b d0                	mov    %eax,%edx
41d356:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41d359:	89 55 f4             	mov    %edx,-0xc(%ebp)
41d35c:	3b 45 08             	cmp    0x8(%ebp),%eax
41d35f:	75 40                	jne    0x41d3a1
41d361:	3b fe                	cmp    %esi,%edi
41d363:	75 3c                	jne    0x41d3a1
41d365:	be 64 00 00 00       	mov    $0x64,%esi
41d36a:	2b f3                	sub    %ebx,%esi
41d36c:	83 fe 02             	cmp    $0x2,%esi
41d36f:	7c 1c                	jl     0x41d38d
41d371:	d1 ee                	shr    $1,%esi
41d373:	68 bc 3c 40 00       	push   $0x403cbc
41d378:	ff 15 74 23 45 00    	call   *0x452374
41d37e:	83 05 70 1e 45 00 02 	addl   $0x2,0x451e70
41d385:	83 c4 04             	add    $0x4,%esp
41d388:	83 ee 01             	sub    $0x1,%esi
41d38b:	75 e6                	jne    0x41d373
41d38d:	6a 0a                	push   $0xa
41d38f:	6a 0a                	push   $0xa
41d391:	68 00 c5 40 00       	push   $0x40c500
41d396:	ff 15 74 23 45 00    	call   *0x452374
41d39c:	83 c4 0c             	add    $0xc,%esp
41d39f:	eb 3f                	jmp    0x41d3e0
41d3a1:	8b c2                	mov    %edx,%eax
41d3a3:	ba 64 00 00 00       	mov    $0x64,%edx
41d3a8:	f7 e2                	mul    %edx
41d3aa:	6a 00                	push   $0x0
41d3ac:	51                   	push   %ecx
41d3ad:	52                   	push   %edx
41d3ae:	50                   	push   %eax
41d3af:	e8 6c 05 03 00       	call   0x44d920
41d3b4:	8b f0                	mov    %eax,%esi
41d3b6:	2b f3                	sub    %ebx,%esi
41d3b8:	83 fe 02             	cmp    $0x2,%esi
41d3bb:	7c 23                	jl     0x41d3e0
41d3bd:	d1 ee                	shr    $1,%esi
41d3bf:	90                   	nop
41d3c0:	68 bc 3c 40 00       	push   $0x403cbc
41d3c5:	ff 15 74 23 45 00    	call   *0x452374
41d3cb:	83 05 70 1e 45 00 02 	addl   $0x2,0x451e70
41d3d2:	83 c4 04             	add    $0x4,%esp
41d3d5:	83 ee 01             	sub    $0x1,%esi
41d3d8:	75 e6                	jne    0x41d3c0
41d3da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
41d3e0:	5b                   	pop    %ebx
41d3e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d3e4:	33 c0                	xor    %eax,%eax
41d3e6:	5f                   	pop    %edi
41d3e7:	33 cd                	xor    %ebp,%ecx
41d3e9:	5e                   	pop    %esi
41d3ea:	e8 61 fb 02 00       	call   0x44cf50
41d3ef:	8b e5                	mov    %ebp,%esp
41d3f1:	5d                   	pop    %ebp
41d3f2:	c2 34 00             	ret    $0x34
41d3f5:	cc                   	int3
41d3f6:	cc                   	int3
41d3f7:	cc                   	int3
41d3f8:	cc                   	int3
41d3f9:	cc                   	int3
41d3fa:	cc                   	int3
41d3fb:	cc                   	int3
41d3fc:	cc                   	int3
41d3fd:	cc                   	int3
41d3fe:	cc                   	int3
41d3ff:	cc                   	int3
41d400:	8b ff                	mov    %edi,%edi
41d402:	55                   	push   %ebp
41d403:	8b ec                	mov    %esp,%ebp
41d405:	81 ec 30 06 00 00    	sub    $0x630,%esp
41d40b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41d410:	33 c5                	xor    %ebp,%eax
41d412:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d415:	8b 45 08             	mov    0x8(%ebp),%eax
41d418:	53                   	push   %ebx
41d419:	56                   	push   %esi
41d41a:	57                   	push   %edi
41d41b:	68 08 02 00 00       	push   $0x208
41d420:	89 85 d4 f9 ff ff    	mov    %eax,-0x62c(%ebp)
41d426:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d42c:	6a 00                	push   $0x0
41d42e:	50                   	push   %eax
41d42f:	89 95 d0 f9 ff ff    	mov    %edx,-0x630(%ebp)
41d435:	89 8d dc f9 ff ff    	mov    %ecx,-0x624(%ebp)
41d43b:	c7 85 e0 f9 ff ff 00 	movl   $0x0,-0x620(%ebp)
41d442:	00 00 00
41d445:	e8 17 06 03 00       	call   0x44da61
41d44a:	68 08 02 00 00       	push   $0x208
41d44f:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d455:	6a 00                	push   $0x0
41d457:	50                   	push   %eax
41d458:	e8 04 06 03 00       	call   0x44da61
41d45d:	68 08 02 00 00       	push   $0x208
41d462:	8d 85 e4 f9 ff ff    	lea    -0x61c(%ebp),%eax
41d468:	6a 00                	push   $0x0
41d46a:	50                   	push   %eax
41d46b:	e8 f1 05 03 00       	call   0x44da61
41d470:	83 c4 24             	add    $0x24,%esp
41d473:	c7 85 d8 f9 ff ff 00 	movl   $0x0,-0x628(%ebp)
41d47a:	00 00 00
41d47d:	8d 95 e0 f9 ff ff    	lea    -0x620(%ebp),%edx
41d483:	e8 28 f6 01 00       	call   0x43cab0
41d488:	8b bd e0 f9 ff ff    	mov    -0x620(%ebp),%edi
41d48e:	8b d8                	mov    %eax,%ebx
41d490:	85 db                	test   %ebx,%ebx
41d492:	0f 88 a6 00 00 00    	js     0x41d53e
41d498:	8b 37                	mov    (%edi),%esi
41d49a:	8d 85 e4 f9 ff ff    	lea    -0x61c(%ebp),%eax
41d4a0:	50                   	push   %eax
41d4a1:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d4a7:	50                   	push   %eax
41d4a8:	8b 76 20             	mov    0x20(%esi),%esi
41d4ab:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d4b1:	50                   	push   %eax
41d4b2:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)
41d4b8:	8b ce                	mov    %esi,%ecx
41d4ba:	ff 15 84 23 45 00    	call   *0x452384
41d4c0:	8b cf                	mov    %edi,%ecx
41d4c2:	ff d6                	call   *%esi
41d4c4:	8b d8                	mov    %eax,%ebx
41d4c6:	85 db                	test   %ebx,%ebx
41d4c8:	78 74                	js     0x41d53e
41d4ca:	ff b5 dc f9 ff ff    	push   -0x624(%ebp)
41d4d0:	8b 37                	mov    (%edi),%esi
41d4d2:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d4d8:	68 38 d5 40 00       	push   $0x40d538
41d4dd:	50                   	push   %eax
41d4de:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d4e4:	8b 76 2c             	mov    0x2c(%esi),%esi
41d4e7:	8b ce                	mov    %esi,%ecx
41d4e9:	50                   	push   %eax
41d4ea:	ff 15 84 23 45 00    	call   *0x452384
41d4f0:	8b cf                	mov    %edi,%ecx
41d4f2:	ff d6                	call   *%esi
41d4f4:	8b d8                	mov    %eax,%ebx
41d4f6:	85 db                	test   %ebx,%ebx
41d4f8:	78 44                	js     0x41d53e
41d4fa:	83 bd d4 f9 ff ff 00 	cmpl   $0x0,-0x62c(%ebp)
41d501:	74 3b                	je     0x41d53e
41d503:	8b 07                	mov    (%edi),%eax
41d505:	8d 8d d8 f9 ff ff    	lea    -0x628(%ebp),%ecx
41d50b:	51                   	push   %ecx
41d50c:	ff b5 dc f9 ff ff    	push   -0x624(%ebp)
41d512:	8b 70 38             	mov    0x38(%eax),%esi
41d515:	8b ce                	mov    %esi,%ecx
41d517:	ff 15 84 23 45 00    	call   *0x452384
41d51d:	8b cf                	mov    %edi,%ecx
41d51f:	ff d6                	call   *%esi
41d521:	85 c0                	test   %eax,%eax
41d523:	75 0f                	jne    0x41d534
41d525:	39 85 d8 f9 ff ff    	cmp    %eax,-0x628(%ebp)
41d52b:	75 07                	jne    0x41d534
41d52d:	b8 01 00 00 00       	mov    $0x1,%eax
41d532:	eb 02                	jmp    0x41d536
41d534:	33 c0                	xor    %eax,%eax
41d536:	8b 8d d4 f9 ff ff    	mov    -0x62c(%ebp),%ecx
41d53c:	89 01                	mov    %eax,(%ecx)
41d53e:	85 ff                	test   %edi,%edi
41d540:	74 12                	je     0x41d554
41d542:	8b 07                	mov    (%edi),%eax
41d544:	6a 01                	push   $0x1
41d546:	8b 30                	mov    (%eax),%esi
41d548:	8b ce                	mov    %esi,%ecx
41d54a:	ff 15 84 23 45 00    	call   *0x452384
41d550:	8b cf                	mov    %edi,%ecx
41d552:	ff d6                	call   *%esi
41d554:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d557:	8b c3                	mov    %ebx,%eax
41d559:	5f                   	pop    %edi
41d55a:	5e                   	pop    %esi
41d55b:	33 cd                	xor    %ebp,%ecx
41d55d:	5b                   	pop    %ebx
41d55e:	e8 ed f9 02 00       	call   0x44cf50
41d563:	8b e5                	mov    %ebp,%esp
41d565:	5d                   	pop    %ebp
41d566:	c2 04 00             	ret    $0x4
41d569:	cc                   	int3
41d56a:	cc                   	int3
41d56b:	cc                   	int3
41d56c:	cc                   	int3
41d56d:	cc                   	int3
41d56e:	cc                   	int3
41d56f:	cc                   	int3
41d570:	8b ff                	mov    %edi,%edi
41d572:	55                   	push   %ebp
41d573:	8b ec                	mov    %esp,%ebp
41d575:	83 ec 08             	sub    $0x8,%esp
41d578:	53                   	push   %ebx
41d579:	56                   	push   %esi
41d57a:	57                   	push   %edi
41d57b:	8b fa                	mov    %edx,%edi
41d57d:	8b d9                	mov    %ecx,%ebx
41d57f:	57                   	push   %edi
41d580:	53                   	push   %ebx
41d581:	68 98 3e 40 00       	push   $0x403e98
41d586:	ff 15 74 23 45 00    	call   *0x452374
41d58c:	8b 75 08             	mov    0x8(%ebp),%esi
41d58f:	83 c4 0c             	add    $0xc,%esp
41d592:	56                   	push   %esi
41d593:	57                   	push   %edi
41d594:	53                   	push   %ebx
41d595:	ff 15 fc 20 45 00    	call   *0x4520fc
41d59b:	85 c0                	test   %eax,%eax
41d59d:	0f 85 f4 00 00 00    	jne    0x41d697
41d5a3:	ff 15 6c 20 45 00    	call   *0x45206c
41d5a9:	f7 c6 fe ff ff ff    	test   $0xfffffffe,%esi
41d5af:	74 3e                	je     0x41d5ef
41d5b1:	6a 0a                	push   $0xa
41d5b3:	68 d8 3e 40 00       	push   $0x403ed8
41d5b8:	68 9c c3 40 00       	push   $0x40c39c
41d5bd:	ff 15 74 23 45 00    	call   *0x452374
41d5c3:	83 c4 0c             	add    $0xc,%esp
41d5c6:	e8 25 07 02 00       	call   0x43dcf0
41d5cb:	83 c0 10             	add    $0x10,%eax
41d5ce:	74 14                	je     0x41d5e4
41d5d0:	e8 1b 07 02 00       	call   0x43dcf0
41d5d5:	83 c0 14             	add    $0x14,%eax
41d5d8:	c7 40 04 cf 0c 00 00 	movl   $0xccf,0x4(%eax)
41d5df:	e9 86 00 00 00       	jmp    0x41d66a
41d5e4:	33 c0                	xor    %eax,%eax
41d5e6:	c7 40 04 cf 0c 00 00 	movl   $0xccf,0x4(%eax)
41d5ed:	eb 7b                	jmp    0x41d66a
41d5ef:	83 f8 11             	cmp    $0x11,%eax
41d5f2:	75 40                	jne    0x41d634
41d5f4:	f7 d6                	not    %esi
41d5f6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41d5fd:	83 e6 01             	and    $0x1,%esi
41d600:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
41d607:	56                   	push   %esi
41d608:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d60b:	50                   	push   %eax
41d60c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d60f:	50                   	push   %eax
41d610:	68 50 d2 41 00       	push   $0x41d250
41d615:	57                   	push   %edi
41d616:	53                   	push   %ebx
41d617:	ff 15 00 21 45 00    	call   *0x452100
41d61d:	f7 d8                	neg    %eax
41d61f:	5f                   	pop    %edi
41d620:	1b c0                	sbb    %eax,%eax
41d622:	25 08 04 00 00       	and    $0x408,%eax