46b6a0:	ff 74 24 14          	push   0x14(%esp)
46b6a4:	e8 48 11 fb ff       	call   0x41c7f1
46b6a9:	83 c4 14             	add    $0x14,%esp
46b6ac:	c3                   	ret
46b6ad:	cc                   	int3
46b6ae:	cc                   	int3
46b6af:	cc                   	int3
46b6b0:	cc                   	int3
46b6b1:	cc                   	int3
46b6b2:	cc                   	int3
46b6b3:	cc                   	int3
46b6b4:	cc                   	int3
46b6b5:	cc                   	int3
46b6b6:	cc                   	int3
46b6b7:	cc                   	int3
46b6b8:	cc                   	int3
46b6b9:	cc                   	int3
46b6ba:	cc                   	int3
46b6bb:	cc                   	int3
46b6bc:	cc                   	int3
46b6bd:	cc                   	int3
46b6be:	cc                   	int3
46b6bf:	cc                   	int3
46b6c0:	83 ec 5c             	sub    $0x5c,%esp
46b6c3:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
46b6c8:	33 c4                	xor    %esp,%eax
46b6ca:	89 44 24 58          	mov    %eax,0x58(%esp)
46b6ce:	8b 44 24 60          	mov    0x60(%esp),%eax
46b6d2:	8b 4c 24 64          	mov    0x64(%esp),%ecx
46b6d6:	53                   	push   %ebx
46b6d7:	8b 5c 24 70          	mov    0x70(%esp),%ebx
46b6db:	55                   	push   %ebp
46b6dc:	56                   	push   %esi
46b6dd:	8b 74 24 74          	mov    0x74(%esp),%esi
46b6e1:	89 44 24 20          	mov    %eax,0x20(%esp)
46b6e5:	8b c6                	mov    %esi,%eax
46b6e7:	2b c1                	sub    %ecx,%eax
46b6e9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
46b6ed:	c1 f8 06             	sar    $0x6,%eax
46b6f0:	57                   	push   %edi
46b6f1:	99                   	cltd
46b6f2:	2b c2                	sub    %edx,%eax
46b6f4:	89 74 24 1c          	mov    %esi,0x1c(%esp)
46b6f8:	8b f8                	mov    %eax,%edi
46b6fa:	8d 46 c0             	lea    -0x40(%esi),%eax
46b6fd:	d1 ff                	sar    $1,%edi
46b6ff:	53                   	push   %ebx
46b700:	c1 e7 06             	shl    $0x6,%edi
46b703:	50                   	push   %eax
46b704:	03 f9                	add    %ecx,%edi
46b706:	57                   	push   %edi
46b707:	51                   	push   %ecx
46b708:	e8 ba e5 fa ff       	call   0x419cc7
46b70d:	83 c4 10             	add    $0x10,%esp
46b710:	8d 6f 40             	lea    0x40(%edi),%ebp
46b713:	89 6c 24 14          	mov    %ebp,0x14(%esp)
46b717:	39 7c 24 18          	cmp    %edi,0x18(%esp)
46b71b:	73 2f                	jae    0x46b74c
46b71d:	8b 6c 24 18          	mov    0x18(%esp),%ebp
46b721:	57                   	push   %edi
46b722:	8d 77 c0             	lea    -0x40(%edi),%esi
46b725:	8b cb                	mov    %ebx,%ecx
46b727:	56                   	push   %esi
46b728:	e8 82 cf fb ff       	call   0x4286af
46b72d:	84 c0                	test   %al,%al
46b72f:	75 13                	jne    0x46b744
46b731:	56                   	push   %esi
46b732:	57                   	push   %edi
46b733:	8b cb                	mov    %ebx,%ecx
46b735:	e8 75 cf fb ff       	call   0x4286af
46b73a:	84 c0                	test   %al,%al
46b73c:	75 06                	jne    0x46b744
46b73e:	8b fe                	mov    %esi,%edi
46b740:	3b ef                	cmp    %edi,%ebp
46b742:	72 dd                	jb     0x46b721
46b744:	8b 6c 24 14          	mov    0x14(%esp),%ebp
46b748:	8b 74 24 1c          	mov    0x1c(%esp),%esi
46b74c:	3b ee                	cmp    %esi,%ebp
46b74e:	73 25                	jae    0x46b775
46b750:	57                   	push   %edi
46b751:	55                   	push   %ebp
46b752:	8b cb                	mov    %ebx,%ecx
46b754:	e8 56 cf fb ff       	call   0x4286af
46b759:	84 c0                	test   %al,%al
46b75b:	75 14                	jne    0x46b771
46b75d:	55                   	push   %ebp
46b75e:	57                   	push   %edi
46b75f:	8b cb                	mov    %ebx,%ecx
46b761:	e8 49 cf fb ff       	call   0x4286af
46b766:	84 c0                	test   %al,%al
46b768:	75 07                	jne    0x46b771
46b76a:	83 c5 40             	add    $0x40,%ebp
46b76d:	3b ee                	cmp    %esi,%ebp
46b76f:	72 df                	jb     0x46b750
46b771:	89 6c 24 14          	mov    %ebp,0x14(%esp)
46b775:	8b c7                	mov    %edi,%eax
46b777:	8b dd                	mov    %ebp,%ebx
46b779:	89 44 24 10          	mov    %eax,0x10(%esp)
46b77d:	89 5c 24 20          	mov    %ebx,0x20(%esp)
46b781:	3b de                	cmp    %esi,%ebx
46b783:	0f 83 0a 02 00 00    	jae    0x46b993
46b789:	8d 75 f4             	lea    -0xc(%ebp),%esi
46b78c:	0f 1f 40 00          	nopl   0x0(%eax)
46b790:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
46b794:	53                   	push   %ebx
46b795:	57                   	push   %edi
46b796:	e8 14 cf fb ff       	call   0x4286af
46b79b:	84 c0                	test   %al,%al
46b79d:	0f 85 db 01 00 00    	jne    0x46b97e
46b7a3:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
46b7a7:	57                   	push   %edi
46b7a8:	53                   	push   %ebx
46b7a9:	e8 01 cf fb ff       	call   0x4286af
46b7ae:	84 c0                	test   %al,%al
46b7b0:	0f 85 d9 01 00 00    	jne    0x46b98f
46b7b6:	8b c5                	mov    %ebp,%eax
46b7b8:	83 c6 40             	add    $0x40,%esi
46b7bb:	83 c5 40             	add    $0x40,%ebp
46b7be:	89 6c 24 14          	mov    %ebp,0x14(%esp)
46b7c2:	3b c3                	cmp    %ebx,%eax
46b7c4:	0f 84 b4 01 00 00    	je     0x46b97e
46b7ca:	83 7e e0 10          	cmpl   $0x10,-0x20(%esi)
46b7ce:	c7 44 24 3c 0f 00 00 	movl   $0xf,0x3c(%esp)
46b7d5:	00
46b7d6:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
46b7dd:	00
46b7de:	c6 44 24 28 00       	movb   $0x0,0x28(%esp)
46b7e3:	73 1c                	jae    0x46b801
46b7e5:	8b 46 dc             	mov    -0x24(%esi),%eax
46b7e8:	83 c0 01             	add    $0x1,%eax
46b7eb:	74 22                	je     0x46b80f
46b7ed:	50                   	push   %eax
46b7ee:	8d 46 cc             	lea    -0x34(%esi),%eax
46b7f1:	50                   	push   %eax
46b7f2:	8d 44 24 30          	lea    0x30(%esp),%eax
46b7f6:	50                   	push   %eax
46b7f7:	e8 86 33 fb ff       	call   0x41eb82
46b7fc:	83 c4 0c             	add    $0xc,%esp
46b7ff:	eb 0e                	jmp    0x46b80f
46b801:	8b 46 cc             	mov    -0x34(%esi),%eax
46b804:	89 44 24 28          	mov    %eax,0x28(%esp)
46b808:	c7 46 cc 00 00 00 00 	movl   $0x0,-0x34(%esi)
46b80f:	8b 46 dc             	mov    -0x24(%esi),%eax
46b812:	8d 6e cc             	lea    -0x34(%esi),%ebp
46b815:	89 44 24 38          	mov    %eax,0x38(%esp)
46b819:	8b 46 e0             	mov    -0x20(%esi),%eax
46b81c:	c7 46 e0 0f 00 00 00 	movl   $0xf,-0x20(%esi)
46b823:	83 7e e0 10          	cmpl   $0x10,-0x20(%esi)
46b827:	89 44 24 3c          	mov    %eax,0x3c(%esp)
46b82b:	c7 46 dc 00 00 00 00 	movl   $0x0,-0x24(%esi)
46b832:	72 05                	jb     0x46b839
46b834:	8b 45 00             	mov    0x0(%ebp),%eax
46b837:	eb 02                	jmp    0x46b83b
46b839:	8b c5                	mov    %ebp,%eax
46b83b:	c6 00 00             	movb   $0x0,(%eax)
46b83e:	83 3e 10             	cmpl   $0x10,(%esi)
46b841:	8b 46 e4             	mov    -0x1c(%esi),%eax
46b844:	89 44 24 40          	mov    %eax,0x40(%esp)
46b848:	8b 46 e8             	mov    -0x18(%esi),%eax
46b84b:	89 44 24 44          	mov    %eax,0x44(%esp)
46b84f:	c7 44 24 5c 0f 00 00 	movl   $0xf,0x5c(%esp)
46b856:	00
46b857:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
46b85e:	00
46b85f:	c6 44 24 48 00       	movb   $0x0,0x48(%esp)
46b864:	73 1c                	jae    0x46b882
46b866:	8b 46 fc             	mov    -0x4(%esi),%eax
46b869:	83 c0 01             	add    $0x1,%eax
46b86c:	74 22                	je     0x46b890
46b86e:	50                   	push   %eax
46b86f:	8d 46 ec             	lea    -0x14(%esi),%eax
46b872:	50                   	push   %eax
46b873:	8d 44 24 50          	lea    0x50(%esp),%eax
46b877:	50                   	push   %eax
46b878:	e8 05 33 fb ff       	call   0x41eb82
46b87d:	83 c4 0c             	add    $0xc,%esp
46b880:	eb 0e                	jmp    0x46b890
46b882:	8b 46 ec             	mov    -0x14(%esi),%eax
46b885:	89 44 24 48          	mov    %eax,0x48(%esp)
46b889:	c7 46 ec 00 00 00 00 	movl   $0x0,-0x14(%esi)
46b890:	8b 46 fc             	mov    -0x4(%esi),%eax
46b893:	89 44 24 58          	mov    %eax,0x58(%esp)
46b897:	8b 06                	mov    (%esi),%eax
46b899:	c7 06 0f 00 00 00    	movl   $0xf,(%esi)
46b89f:	83 3e 10             	cmpl   $0x10,(%esi)
46b8a2:	89 44 24 5c          	mov    %eax,0x5c(%esp)
46b8a6:	c7 46 fc 00 00 00 00 	movl   $0x0,-0x4(%esi)
46b8ad:	72 05                	jb     0x46b8b4
46b8af:	8b 46 ec             	mov    -0x14(%esi),%eax
46b8b2:	eb 03                	jmp    0x46b8b7
46b8b4:	8d 46 ec             	lea    -0x14(%esi),%eax
46b8b7:	c6 00 00             	movb   $0x0,(%eax)
46b8ba:	8b cd                	mov    %ebp,%ecx
46b8bc:	8b 46 04             	mov    0x4(%esi),%eax
46b8bf:	53                   	push   %ebx
46b8c0:	89 44 24 64          	mov    %eax,0x64(%esp)
46b8c4:	e8 b0 94 fc ff       	call   0x434d79
46b8c9:	8d 44 24 28          	lea    0x28(%esp),%eax
46b8cd:	8b cb                	mov    %ebx,%ecx
46b8cf:	50                   	push   %eax
46b8d0:	e8 a4 94 fc ff       	call   0x434d79
46b8d5:	8b 44 24 5c          	mov    0x5c(%esp),%eax
46b8d9:	83 f8 10             	cmp    $0x10,%eax
46b8dc:	72 3f                	jb     0x46b91d
46b8de:	8b 4c 24 48          	mov    0x48(%esp),%ecx
46b8e2:	40                   	inc    %eax
46b8e3:	3d 00 10 00 00       	cmp    $0x1000,%eax
46b8e8:	72 2a                	jb     0x46b914
46b8ea:	f6 c1 1f             	test   $0x1f,%cl
46b8ed:	0f 85 a4 01 00 00    	jne    0x46ba97
46b8f3:	8b 41 fc             	mov    -0x4(%ecx),%eax
46b8f6:	3b c1                	cmp    %ecx,%eax
46b8f8:	0f 83 99 01 00 00    	jae    0x46ba97
46b8fe:	2b c8                	sub    %eax,%ecx
46b900:	83 f9 04             	cmp    $0x4,%ecx
46b903:	0f 82 8e 01 00 00    	jb     0x46ba97
46b909:	83 f9 23             	cmp    $0x23,%ecx
46b90c:	0f 87 85 01 00 00    	ja     0x46ba97
46b912:	8b c8                	mov    %eax,%ecx
46b914:	51                   	push   %ecx
46b915:	e8 75 5e f9 ff       	call   0x40178f
46b91a:	83 c4 04             	add    $0x4,%esp
46b91d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
46b921:	c7 44 24 5c 0f 00 00 	movl   $0xf,0x5c(%esp)
46b928:	00
46b929:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%esp)
46b930:	00
46b931:	c6 44 24 48 00       	movb   $0x0,0x48(%esp)
46b936:	83 f8 10             	cmp    $0x10,%eax
46b939:	72 3f                	jb     0x46b97a
46b93b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
46b93f:	40                   	inc    %eax
46b940:	3d 00 10 00 00       	cmp    $0x1000,%eax
46b945:	72 2a                	jb     0x46b971
46b947:	f6 c1 1f             	test   $0x1f,%cl
46b94a:	0f 85 47 01 00 00    	jne    0x46ba97
46b950:	8b 41 fc             	mov    -0x4(%ecx),%eax
46b953:	3b c1                	cmp    %ecx,%eax
46b955:	0f 83 3c 01 00 00    	jae    0x46ba97
46b95b:	2b c8                	sub    %eax,%ecx
46b95d:	83 f9 04             	cmp    $0x4,%ecx
46b960:	0f 82 31 01 00 00    	jb     0x46ba97
46b966:	83 f9 23             	cmp    $0x23,%ecx
46b969:	0f 87 28 01 00 00    	ja     0x46ba97
46b96f:	8b c8                	mov    %eax,%ecx
46b971:	51                   	push   %ecx
46b972:	e8 18 5e f9 ff       	call   0x40178f
46b977:	83 c4 04             	add    $0x4,%esp
46b97a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
46b97e:	83 c3 40             	add    $0x40,%ebx
46b981:	89 5c 24 20          	mov    %ebx,0x20(%esp)
46b985:	3b 5c 24 1c          	cmp    0x1c(%esp),%ebx
46b989:	0f 82 01 fe ff ff    	jb     0x46b790
46b98f:	8b 44 24 10          	mov    0x10(%esp),%eax
46b993:	8b 4c 24 18          	mov    0x18(%esp),%ecx
46b997:	3b c1                	cmp    %ecx,%eax
46b999:	76 58                	jbe    0x46b9f3
46b99b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
46b99f:	8b d9                	mov    %ecx,%ebx
46b9a1:	8d 75 c0             	lea    -0x40(%ebp),%esi
46b9a4:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
46b9a8:	57                   	push   %edi
46b9a9:	56                   	push   %esi
46b9aa:	e8 00 cd fb ff       	call   0x4286af
46b9af:	84 c0                	test   %al,%al
46b9b1:	75 20                	jne    0x46b9d3
46b9b3:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
46b9b7:	56                   	push   %esi
46b9b8:	57                   	push   %edi
46b9b9:	e8 f1 cc fb ff       	call   0x4286af
46b9be:	84 c0                	test   %al,%al
46b9c0:	75 1b                	jne    0x46b9dd
46b9c2:	83 ef 40             	sub    $0x40,%edi
46b9c5:	3b fe                	cmp    %esi,%edi
46b9c7:	74 0a                	je     0x46b9d3
46b9c9:	56                   	push   %esi
46b9ca:	57                   	push   %edi
46b9cb:	e8 96 3f fa ff       	call   0x40f966
46b9d0:	83 c4 08             	add    $0x8,%esp
46b9d3:	83 ed 40             	sub    $0x40,%ebp
46b9d6:	83 ee 40             	sub    $0x40,%esi
46b9d9:	3b dd                	cmp    %ebp,%ebx
46b9db:	72 c7                	jb     0x46b9a4
46b9dd:	8b 4c 24 18          	mov    0x18(%esp),%ecx
46b9e1:	8b 5c 24 20          	mov    0x20(%esp),%ebx
46b9e5:	89 6c 24 10          	mov    %ebp,0x10(%esp)
46b9e9:	8b 44 24 10          	mov    0x10(%esp),%eax
46b9ed:	3b c1                	cmp    %ecx,%eax
46b9ef:	8b 6c 24 14          	mov    0x14(%esp),%ebp
46b9f3:	8b 74 24 1c          	mov    0x1c(%esp),%esi
46b9f7:	75 36                	jne    0x46ba2f
46b9f9:	3b de                	cmp    %esi,%ebx
46b9fb:	74 7e                	je     0x46ba7b
46b9fd:	3b eb                	cmp    %ebx,%ebp
46b9ff:	74 0a                	je     0x46ba0b
46ba01:	55                   	push   %ebp
46ba02:	57                   	push   %edi
46ba03:	e8 5e 3f fa ff       	call   0x40f966
46ba08:	83 c4 08             	add    $0x8,%esp
46ba0b:	53                   	push   %ebx
46ba0c:	83 c5 40             	add    $0x40,%ebp
46ba0f:	83 c3 40             	add    $0x40,%ebx
46ba12:	57                   	push   %edi
46ba13:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
46ba17:	83 c7 40             	add    $0x40,%edi
46ba1a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
46ba1e:	e8 43 3f fa ff       	call   0x40f966
46ba23:	8b 44 24 18          	mov    0x18(%esp),%eax
46ba27:	83 c4 08             	add    $0x8,%esp
46ba2a:	e9 52 fd ff ff       	jmp    0x46b781
46ba2f:	83 e8 40             	sub    $0x40,%eax
46ba32:	89 44 24 10          	mov    %eax,0x10(%esp)
46ba36:	3b de                	cmp    %esi,%ebx
46ba38:	75 2b                	jne    0x46ba65
46ba3a:	83 ef 40             	sub    $0x40,%edi
46ba3d:	3b c7                	cmp    %edi,%eax
46ba3f:	74 0a                	je     0x46ba4b
46ba41:	57                   	push   %edi
46ba42:	50                   	push   %eax
46ba43:	e8 1e 3f fa ff       	call   0x40f966
46ba48:	83 c4 08             	add    $0x8,%esp
46ba4b:	83 ed 40             	sub    $0x40,%ebp
46ba4e:	55                   	push   %ebp
46ba4f:	57                   	push   %edi
46ba50:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
46ba54:	e8 0d 3f fa ff       	call   0x40f966
46ba59:	8b 44 24 18          	mov    0x18(%esp),%eax
46ba5d:	83 c4 08             	add    $0x8,%esp
46ba60:	e9 1c fd ff ff       	jmp    0x46b781
46ba65:	50                   	push   %eax
46ba66:	53                   	push   %ebx
46ba67:	e8 fa 3e fa ff       	call   0x40f966
46ba6c:	8b 44 24 18          	mov    0x18(%esp),%eax
46ba70:	83 c4 08             	add    $0x8,%esp
46ba73:	83 c3 40             	add    $0x40,%ebx
46ba76:	e9 02 fd ff ff       	jmp    0x46b77d
46ba7b:	8b 44 24 24          	mov    0x24(%esp),%eax
46ba7f:	8b 4c 24 68          	mov    0x68(%esp),%ecx
46ba83:	89 38                	mov    %edi,(%eax)
46ba85:	5f                   	pop    %edi
46ba86:	5e                   	pop    %esi
46ba87:	89 68 04             	mov    %ebp,0x4(%eax)
46ba8a:	5d                   	pop    %ebp
46ba8b:	5b                   	pop    %ebx
46ba8c:	33 cc                	xor    %esp,%ecx
46ba8e:	e8 23 fd fa ff       	call   0x41b7b6
46ba93:	83 c4 5c             	add    $0x5c,%esp
46ba96:	c3                   	ret
46ba97:	e8 f1 1e fd ff       	call   0x43d98d
46ba9c:	cc                   	int3