43f368:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f36d:	33 c5                	xor    %ebp,%eax
43f36f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f372:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f379:	56                   	push   %esi
43f37a:	57                   	push   %edi
43f37b:	8b f9                	mov    %ecx,%edi
43f37d:	0f 86 83 00 00 00    	jbe    0x43f406
43f383:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f389:	33 c0                	xor    %eax,%eax
43f38b:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f391:	0b c6                	or     %esi,%eax
43f393:	74 71                	je     0x43f406
43f395:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f39b:	33 f6                	xor    %esi,%esi
43f39d:	8b c1                	mov    %ecx,%eax
43f39f:	25 00 40 00 00       	and    $0x4000,%eax
43f3a4:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f3aa:	75 5a                	jne    0x43f406
43f3ac:	3b c1                	cmp    %ecx,%eax
43f3ae:	75 56                	jne    0x43f406
43f3b0:	8d 45 08             	lea    0x8(%ebp),%eax
43f3b3:	89 55 a4             	mov    %edx,-0x5c(%ebp)
43f3b6:	89 45 e8             	mov    %eax,-0x18(%ebp)
43f3b9:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43f3bc:	89 45 d8             	mov    %eax,-0x28(%ebp)
43f3bf:	8d 45 a0             	lea    -0x60(%ebp),%eax
43f3c2:	89 45 c8             	mov    %eax,-0x38(%ebp)
43f3c5:	8d 45 a8             	lea    -0x58(%ebp),%eax
43f3c8:	50                   	push   %eax
43f3c9:	6a 05                	push   $0x5
43f3cb:	56                   	push   %esi
43f3cc:	56                   	push   %esi
43f3cd:	68 92 43 41 00       	push   $0x414392
43f3d2:	68 18 f0 44 00       	push   $0x44f018
43f3d7:	89 7d a0             	mov    %edi,-0x60(%ebp)
43f3da:	89 75 ec             	mov    %esi,-0x14(%ebp)
43f3dd:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
43f3e4:	89 75 f4             	mov    %esi,-0xc(%ebp)
43f3e7:	89 75 dc             	mov    %esi,-0x24(%ebp)
43f3ea:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
43f3f1:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43f3f4:	89 75 cc             	mov    %esi,-0x34(%ebp)
43f3f7:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
43f3fe:	89 75 d4             	mov    %esi,-0x2c(%ebp)
43f401:	e8 3a 55 fd ff       	call   0x414940
43f406:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f409:	5f                   	pop    %edi
43f40a:	33 cd                	xor    %ebp,%ecx
43f40c:	5e                   	pop    %esi
43f40d:	e8 3e db 00 00       	call   0x44cf50
43f412:	8b e5                	mov    %ebp,%esp
43f414:	5d                   	pop    %ebp
43f415:	c2 08 00             	ret    $0x8
43f418:	cc                   	int3
43f419:	cc                   	int3
43f41a:	cc                   	int3
43f41b:	cc                   	int3
43f41c:	cc                   	int3
43f41d:	cc                   	int3
43f41e:	cc                   	int3
43f41f:	cc                   	int3
43f420:	8b ff                	mov    %edi,%edi
43f422:	55                   	push   %ebp
43f423:	8b ec                	mov    %esp,%ebp
43f425:	83 e4 f8             	and    $0xfffffff8,%esp
43f428:	83 ec 50             	sub    $0x50,%esp
43f42b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f430:	33 c4                	xor    %esp,%eax
43f432:	89 44 24 4c          	mov    %eax,0x4c(%esp)
43f436:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f43d:	56                   	push   %esi
43f43e:	57                   	push   %edi
43f43f:	8b f9                	mov    %ecx,%edi
43f441:	76 7d                	jbe    0x43f4c0
43f443:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f449:	33 c0                	xor    %eax,%eax
43f44b:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f451:	0b c6                	or     %esi,%eax
43f453:	74 6b                	je     0x43f4c0
43f455:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f45b:	33 f6                	xor    %esi,%esi
43f45d:	8b c1                	mov    %ecx,%eax
43f45f:	25 00 40 00 00       	and    $0x4000,%eax
43f464:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f46a:	75 54                	jne    0x43f4c0
43f46c:	3b c1                	cmp    %ecx,%eax
43f46e:	75 50                	jne    0x43f4c0
43f470:	8d 44 24 08          	lea    0x8(%esp),%eax
43f474:	89 54 24 08          	mov    %edx,0x8(%esp)
43f478:	89 44 24 40          	mov    %eax,0x40(%esp)
43f47c:	8d 44 24 0c          	lea    0xc(%esp),%eax
43f480:	89 44 24 30          	mov    %eax,0x30(%esp)
43f484:	8d 44 24 10          	lea    0x10(%esp),%eax
43f488:	50                   	push   %eax
43f489:	6a 04                	push   $0x4
43f48b:	56                   	push   %esi
43f48c:	56                   	push   %esi
43f48d:	68 69 43 41 00       	push   $0x414369
43f492:	68 18 f0 44 00       	push   $0x44f018
43f497:	89 7c 24 24          	mov    %edi,0x24(%esp)
43f49b:	89 74 24 5c          	mov    %esi,0x5c(%esp)
43f49f:	c7 44 24 60 04 00 00 	movl   $0x4,0x60(%esp)
43f4a6:	00
43f4a7:	89 74 24 64          	mov    %esi,0x64(%esp)
43f4ab:	89 74 24 4c          	mov    %esi,0x4c(%esp)
43f4af:	c7 44 24 50 04 00 00 	movl   $0x4,0x50(%esp)
43f4b6:	00
43f4b7:	89 74 24 54          	mov    %esi,0x54(%esp)
43f4bb:	e8 80 54 fd ff       	call   0x414940
43f4c0:	8b 4c 24 54          	mov    0x54(%esp),%ecx
43f4c4:	5f                   	pop    %edi
43f4c5:	5e                   	pop    %esi
43f4c6:	33 cc                	xor    %esp,%ecx
43f4c8:	e8 83 da 00 00       	call   0x44cf50
43f4cd:	8b e5                	mov    %ebp,%esp
43f4cf:	5d                   	pop    %ebp
43f4d0:	c3                   	ret
43f4d1:	cc                   	int3
43f4d2:	cc                   	int3
43f4d3:	cc                   	int3
43f4d4:	cc                   	int3
43f4d5:	cc                   	int3
43f4d6:	cc                   	int3
43f4d7:	cc                   	int3
43f4d8:	cc                   	int3
43f4d9:	cc                   	int3
43f4da:	cc                   	int3
43f4db:	cc                   	int3
43f4dc:	cc                   	int3
43f4dd:	cc                   	int3
43f4de:	cc                   	int3
43f4df:	cc                   	int3
43f4e0:	8b ff                	mov    %edi,%edi
43f4e2:	55                   	push   %ebp
43f4e3:	8b ec                	mov    %esp,%ebp
43f4e5:	83 ec 18             	sub    $0x18,%esp
43f4e8:	53                   	push   %ebx
43f4e9:	56                   	push   %esi
43f4ea:	57                   	push   %edi
43f4eb:	8d 45 e8             	lea    -0x18(%ebp),%eax
43f4ee:	89 55 f8             	mov    %edx,-0x8(%ebp)
43f4f1:	50                   	push   %eax
43f4f2:	8b f1                	mov    %ecx,%esi
43f4f4:	33 d2                	xor    %edx,%edx
43f4f6:	bb e4 00 00 00       	mov    $0xe4,%ebx
43f4fb:	89 75 f0             	mov    %esi,-0x10(%ebp)
43f4fe:	6a 01                	push   $0x1
43f500:	33 ff                	xor    %edi,%edi
43f502:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43f505:	89 55 f4             	mov    %edx,-0xc(%ebp)
43f508:	ff 15 80 20 45 00    	call   *0x452080
43f50e:	89 45 ec             	mov    %eax,-0x14(%ebp)
43f511:	66 39 3e             	cmp    %di,(%esi)
43f514:	0f 84 e4 00 00 00    	je     0x43f5fe
43f51a:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f51d:	f7 d8                	neg    %eax
43f51f:	1b c0                	sbb    %eax,%eax
43f521:	25 00 f8 ff ff       	and    $0xfffff800,%eax
43f526:	05 00 08 00 00       	add    $0x800,%eax
43f52b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f52e:	8b ff                	mov    %edi,%edi
43f530:	50                   	push   %eax
43f531:	6a 00                	push   $0x0
43f533:	56                   	push   %esi
43f534:	ff 15 68 21 45 00    	call   *0x452168
43f53a:	8b d8                	mov    %eax,%ebx
43f53c:	85 db                	test   %ebx,%ebx
43f53e:	74 7e                	je     0x43f5be
43f540:	83 fb ff             	cmp    $0xffffffff,%ebx
43f543:	74 79                	je     0x43f5be
43f545:	ff 75 08             	push   0x8(%ebp)
43f548:	53                   	push   %ebx
43f549:	ff 15 58 21 45 00    	call   *0x452158
43f54f:	8b c8                	mov    %eax,%ecx
43f551:	85 c9                	test   %ecx,%ecx
43f553:	0f 85 92 00 00 00    	jne    0x43f5eb
43f559:	ff 15 6c 20 45 00    	call   *0x45206c
43f55f:	85 ff                	test   %edi,%edi
43f561:	75 1e                	jne    0x43f581
43f563:	83 f8 7f             	cmp    $0x7f,%eax
43f566:	74 0c                	je     0x43f574
43f568:	bf 95 ff ff ff       	mov    $0xffffff95,%edi
43f56d:	b8 17 01 00 00       	mov    $0x117,%eax
43f572:	eb 0a                	jmp    0x43f57e
43f574:	bf 8f ff ff ff       	mov    $0xffffff8f,%edi
43f579:	b8 13 01 00 00       	mov    $0x113,%eax
43f57e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f581:	53                   	push   %ebx
43f582:	ff 15 60 21 45 00    	call   *0x452160
43f588:	8b 5d fc             	mov    -0x4(%ebp),%ebx
43f58b:	8d 4e 02             	lea    0x2(%esi),%ecx
43f58e:	8b ff                	mov    %edi,%edi
43f590:	66 8b 06             	mov    (%esi),%ax
43f593:	83 c6 02             	add    $0x2,%esi
43f596:	66 85 c0             	test   %ax,%ax
43f599:	75 f5                	jne    0x43f590
43f59b:	8b 45 f4             	mov    -0xc(%ebp),%eax
43f59e:	2b f1                	sub    %ecx,%esi
43f5a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43f5a3:	40                   	inc    %eax
43f5a4:	d1 fe                	sar    $1,%esi
43f5a6:	03 c6                	add    %esi,%eax
43f5a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
43f5ab:	98                   	cwtl
43f5ac:	66 83 3c 41 00       	cmpw   $0x0,(%ecx,%eax,2)
43f5b1:	8d 34 41             	lea    (%ecx,%eax,2),%esi
43f5b4:	74 48                	je     0x43f5fe
43f5b6:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f5b9:	e9 72 ff ff ff       	jmp    0x43f530
43f5be:	ff 15 6c 20 45 00    	call   *0x45206c
43f5c4:	85 ff                	test   %edi,%edi
43f5c6:	75 c0                	jne    0x43f588
43f5c8:	83 f8 7e             	cmp    $0x7e,%eax
43f5cb:	74 0f                	je     0x43f5dc
43f5cd:	bb 2e 01 00 00       	mov    $0x12e,%ebx
43f5d2:	bf 95 ff ff ff       	mov    $0xffffff95,%edi
43f5d7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43f5da:	eb af                	jmp    0x43f58b
43f5dc:	bb 2a 01 00 00       	mov    $0x12a,%ebx
43f5e1:	bf 8f ff ff ff       	mov    $0xffffff8f,%edi
43f5e6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43f5e9:	eb a0                	jmp    0x43f58b
43f5eb:	8b 45 0c             	mov    0xc(%ebp),%eax
43f5ee:	33 ff                	xor    %edi,%edi
43f5f0:	8b 55 f4             	mov    -0xc(%ebp),%edx
43f5f3:	8b 5d fc             	mov    -0x4(%ebp),%ebx
43f5f6:	66 89 10             	mov    %dx,(%eax)
43f5f9:	8b 45 10             	mov    0x10(%ebp),%eax
43f5fc:	89 08                	mov    %ecx,(%eax)
43f5fe:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f601:	83 39 00             	cmpl   $0x0,(%ecx)
43f604:	75 39                	jne    0x43f63f
43f606:	83 3d 0c 1d 45 00 00 	cmpl   $0x0,0x451d0c
43f60d:	74 30                	je     0x43f63f
43f60f:	e8 dc e6 ff ff       	call   0x43dcf0
43f614:	83 c0 10             	add    $0x10,%eax
43f617:	74 0a                	je     0x43f623
43f619:	e8 d2 e6 ff ff       	call   0x43dcf0
43f61e:	83 c0 14             	add    $0x14,%eax
43f621:	eb 02                	jmp    0x43f625
43f623:	33 c0                	xor    %eax,%eax
43f625:	c7 00 6c 32 41 00    	movl   $0x41326c,(%eax)
43f62b:	89 58 04             	mov    %ebx,0x4(%eax)
43f62e:	89 78 08             	mov    %edi,0x8(%eax)
43f631:	39 3d 30 1a 45 00    	cmp    %edi,0x451a30
43f637:	75 06                	jne    0x43f63f
43f639:	ff 15 58 20 45 00    	call   *0x452058
43f63f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43f643:	74 0b                	je     0x43f650
43f645:	6a 00                	push   $0x0
43f647:	ff 75 e8             	push   -0x18(%ebp)
43f64a:	ff 15 80 20 45 00    	call   *0x452080
43f650:	8b c7                	mov    %edi,%eax
43f652:	5f                   	pop    %edi
43f653:	5e                   	pop    %esi
43f654:	5b                   	pop    %ebx
43f655:	8b e5                	mov    %ebp,%esp
43f657:	5d                   	pop    %ebp
43f658:	c2 0c 00             	ret    $0xc
43f65b:	cc                   	int3
43f65c:	cc                   	int3
43f65d:	cc                   	int3
43f65e:	cc                   	int3
43f65f:	cc                   	int3
43f660:	8b ff                	mov    %edi,%edi
43f662:	55                   	push   %ebp
43f663:	8b ec                	mov    %esp,%ebp
43f665:	83 e4 f8             	and    $0xfffffff8,%esp
43f668:	51                   	push   %ecx
43f669:	8b 4d 28             	mov    0x28(%ebp),%ecx
43f66c:	53                   	push   %ebx
43f66d:	56                   	push   %esi
43f66e:	57                   	push   %edi
43f66f:	85 c9                	test   %ecx,%ecx
43f671:	0f 84 11 01 00 00    	je     0x43f788
43f677:	8b 45 0c             	mov    0xc(%ebp),%eax
43f67a:	83 e8 00             	sub    $0x0,%eax
43f67d:	0f 84 b6 00 00 00    	je     0x43f739
43f683:	83 e8 01             	sub    $0x1,%eax
43f686:	0f 85 fc 00 00 00    	jne    0x43f788
43f68c:	8a 45 10             	mov    0x10(%ebp),%al
43f68f:	33 f6                	xor    %esi,%esi
43f691:	88 41 28             	mov    %al,0x28(%ecx)
43f694:	8b 45 14             	mov    0x14(%ebp),%eax
43f697:	89 41 10             	mov    %eax,0x10(%ecx)
43f69a:	8b 45 18             	mov    0x18(%ebp),%eax
43f69d:	89 41 14             	mov    %eax,0x14(%ecx)
43f6a0:	8b 45 1c             	mov    0x1c(%ebp),%eax
43f6a3:	89 41 18             	mov    %eax,0x18(%ecx)
43f6a6:	8b 45 20             	mov    0x20(%ebp),%eax
43f6a9:	89 41 1c             	mov    %eax,0x1c(%ecx)
43f6ac:	33 c0                	xor    %eax,%eax
43f6ae:	c7 41 24 01 00 00 00 	movl   $0x1,0x24(%ecx)
43f6b5:	66 3b 41 2a          	cmp    0x2a(%ecx),%ax
43f6b9:	0f 83 c9 00 00 00    	jae    0x43f788
43f6bf:	90                   	nop
43f6c0:	8b 41 34             	mov    0x34(%ecx),%eax
43f6c3:	8a 51 28             	mov    0x28(%ecx),%dl
43f6c6:	38 14 06             	cmp    %dl,(%esi,%eax,1)
43f6c9:	76 04                	jbe    0x43f6cf
43f6cb:	84 d2                	test   %dl,%dl
43f6cd:	75 32                	jne    0x43f701
43f6cf:	8b 41 30             	mov    0x30(%ecx),%eax
43f6d2:	8b 3c f0             	mov    (%eax,%esi,8),%edi
43f6d5:	8b 5c f0 04          	mov    0x4(%eax,%esi,8),%ebx
43f6d9:	8b c7                	mov    %edi,%eax
43f6db:	0b c3                	or     %ebx,%eax
43f6dd:	74 26                	je     0x43f705
43f6df:	8b d7                	mov    %edi,%edx
43f6e1:	8b c3                	mov    %ebx,%eax
43f6e3:	23 51 10             	and    0x10(%ecx),%edx
43f6e6:	23 41 14             	and    0x14(%ecx),%eax
43f6e9:	0b d0                	or     %eax,%edx
43f6eb:	74 14                	je     0x43f701
43f6ed:	8b 41 18             	mov    0x18(%ecx),%eax
43f6f0:	23 c7                	and    %edi,%eax
43f6f2:	8b 79 1c             	mov    0x1c(%ecx),%edi
43f6f5:	23 fb                	and    %ebx,%edi
43f6f7:	3b 41 18             	cmp    0x18(%ecx),%eax
43f6fa:	75 05                	jne    0x43f701
43f6fc:	3b 79 1c             	cmp    0x1c(%ecx),%edi
43f6ff:	74 04                	je     0x43f705
43f701:	32 db                	xor    %bl,%bl
43f703:	eb 02                	jmp    0x43f707
43f705:	b3 01                	mov    $0x1,%bl
43f707:	8b 41 2c             	mov    0x2c(%ecx),%eax
43f70a:	8b d6                	mov    %esi,%edx
43f70c:	c1 ea 05             	shr    $0x5,%edx
43f70f:	8b fe                	mov    %esi,%edi
43f711:	83 e7 1f             	and    $0x1f,%edi
43f714:	8d 14 90             	lea    (%eax,%edx,4),%edx
43f717:	8b 02                	mov    (%edx),%eax
43f719:	84 db                	test   %bl,%bl
43f71b:	74 05                	je     0x43f722
43f71d:	0f ab f8             	bts    %edi,%eax
43f720:	eb 03                	jmp    0x43f725
43f722:	0f b3 f8             	btr    %edi,%eax
43f725:	89 02                	mov    %eax,(%edx)
43f727:	46                   	inc    %esi
43f728:	0f b7 41 2a          	movzwl 0x2a(%ecx),%eax
43f72c:	3b f0                	cmp    %eax,%esi
43f72e:	72 90                	jb     0x43f6c0
43f730:	5f                   	pop    %edi
43f731:	5e                   	pop    %esi
43f732:	5b                   	pop    %ebx
43f733:	8b e5                	mov    %ebp,%esp
43f735:	5d                   	pop    %ebp
43f736:	c2 24 00             	ret    $0x24
43f739:	0f b7 41 2a          	movzwl 0x2a(%ecx),%eax