44f956:	8d 4d c0             	lea    -0x40(%ebp),%ecx
44f959:	e8 a2 52 ff ff       	call   0x444c00
44f95e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44f961:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44f968:	59                   	pop    %ecx
44f969:	5f                   	pop    %edi
44f96a:	5e                   	pop    %esi
44f96b:	5b                   	pop    %ebx
44f96c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44f96f:	33 cd                	xor    %ebp,%ecx
44f971:	e8 64 1b 19 00       	call   0x5e14da
44f976:	8b e5                	mov    %ebp,%esp
44f978:	5d                   	pop    %ebp
44f979:	c3                   	ret
44f97a:	cc                   	int3
44f97b:	cc                   	int3
44f97c:	cc                   	int3
44f97d:	cc                   	int3
44f97e:	cc                   	int3
44f97f:	cc                   	int3
44f980:	55                   	push   %ebp
44f981:	8b ec                	mov    %esp,%ebp
44f983:	6a ff                	push   $0xffffffff
44f985:	68 e0 df 64 00       	push   $0x64dfe0
44f98a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
44f990:	50                   	push   %eax
44f991:	83 ec 64             	sub    $0x64,%esp
44f994:	a1 d4 89 72 00       	mov    0x7289d4,%eax
44f999:	33 c5                	xor    %ebp,%eax
44f99b:	89 45 f0             	mov    %eax,-0x10(%ebp)
44f99e:	53                   	push   %ebx
44f99f:	56                   	push   %esi
44f9a0:	57                   	push   %edi
44f9a1:	50                   	push   %eax
44f9a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
44f9a5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
44f9ab:	8b 4d 24             	mov    0x24(%ebp),%ecx
44f9ae:	8b 45 0c             	mov    0xc(%ebp),%eax
44f9b1:	8b 7d 18             	mov    0x18(%ebp),%edi
44f9b4:	8b 5d 20             	mov    0x20(%ebp),%ebx
44f9b7:	89 45 90             	mov    %eax,-0x70(%ebp)
44f9ba:	89 7d 98             	mov    %edi,-0x68(%ebp)
44f9bd:	89 5d ac             	mov    %ebx,-0x54(%ebp)
44f9c0:	89 4d b0             	mov    %ecx,-0x50(%ebp)
44f9c3:	85 c9                	test   %ecx,%ecx
44f9c5:	74 11                	je     0x44f9d8
44f9c7:	8a 03                	mov    (%ebx),%al
44f9c9:	3c 2b                	cmp    $0x2b,%al
44f9cb:	74 04                	je     0x44f9d1
44f9cd:	3c 2d                	cmp    $0x2d,%al
44f9cf:	75 07                	jne    0x44f9d8
44f9d1:	ba 01 00 00 00       	mov    $0x1,%edx
44f9d6:	eb 02                	jmp    0x44f9da
44f9d8:	33 d2                	xor    %edx,%edx
44f9da:	8b 47 14             	mov    0x14(%edi),%eax
44f9dd:	25 00 30 00 00       	and    $0x3000,%eax
44f9e2:	89 55 b4             	mov    %edx,-0x4c(%ebp)
44f9e5:	3d 00 30 00 00       	cmp    $0x3000,%eax
44f9ea:	74 07                	je     0x44f9f3
44f9ec:	be e4 c5 68 00       	mov    $0x68c5e4,%esi
44f9f1:	eb 23                	jmp    0x44fa16
44f9f3:	8d 42 02             	lea    0x2(%edx),%eax
44f9f6:	be e8 c5 68 00       	mov    $0x68c5e8,%esi
44f9fb:	3b c1                	cmp    %ecx,%eax
44f9fd:	77 17                	ja     0x44fa16
44f9ff:	80 3c 13 30          	cmpb   $0x30,(%ebx,%edx,1)
44fa03:	75 11                	jne    0x44fa16
44fa05:	8a 4c 13 01          	mov    0x1(%ebx,%edx,1),%cl
44fa09:	80 f9 78             	cmp    $0x78,%cl
44fa0c:	74 05                	je     0x44fa13
44fa0e:	80 f9 58             	cmp    $0x58,%cl
44fa11:	75 03                	jne    0x44fa16
44fa13:	89 45 b4             	mov    %eax,-0x4c(%ebp)
44fa16:	56                   	push   %esi
44fa17:	53                   	push   %ebx
44fa18:	e8 53 6b 1a 00       	call   0x5f6570
44fa1d:	89 45 94             	mov    %eax,-0x6c(%ebp)
44fa20:	66 a1 ac c4 68 00    	mov    0x68c4ac,%ax
44fa26:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
44fa2a:	e8 bd 6c 1a 00       	call   0x5f66ec
44fa2f:	8b 00                	mov    (%eax),%eax
44fa31:	8a 00                	mov    (%eax),%al
44fa33:	88 45 ec             	mov    %al,-0x14(%ebp)
44fa36:	8d 45 ec             	lea    -0x14(%ebp),%eax
44fa39:	50                   	push   %eax
44fa3a:	53                   	push   %ebx
44fa3b:	e8 30 6b 1a 00       	call   0x5f6570
44fa40:	8b d8                	mov    %eax,%ebx
44fa42:	83 c4 10             	add    $0x10,%esp
44fa45:	8b 47 30             	mov    0x30(%edi),%eax
44fa48:	8b 78 04             	mov    0x4(%eax),%edi
44fa4b:	89 7d a0             	mov    %edi,-0x60(%ebp)
44fa4e:	8b 07                	mov    (%edi),%eax
44fa50:	8b 70 04             	mov    0x4(%eax),%esi
44fa53:	8b ce                	mov    %esi,%ecx
44fa55:	ff 15 e0 24 68 00    	call   *0x6824e0
44fa5b:	8b cf                	mov    %edi,%ecx
44fa5d:	ff d6                	call   *%esi
44fa5f:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fa62:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44fa69:	50                   	push   %eax
44fa6a:	e8 d1 dd ff ff       	call   0x44d840
44fa6f:	8b 7d a0             	mov    -0x60(%ebp),%edi
44fa72:	83 c4 04             	add    $0x4,%esp
44fa75:	89 45 a8             	mov    %eax,-0x58(%ebp)
44fa78:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
44fa7f:	85 ff                	test   %edi,%edi
44fa81:	74 29                	je     0x44faac
44fa83:	8b 07                	mov    (%edi),%eax
44fa85:	8b 70 08             	mov    0x8(%eax),%esi
44fa88:	8b ce                	mov    %esi,%ecx
44fa8a:	ff 15 e0 24 68 00    	call   *0x6824e0
44fa90:	8b cf                	mov    %edi,%ecx
44fa92:	ff d6                	call   *%esi
44fa94:	8b f8                	mov    %eax,%edi
44fa96:	85 ff                	test   %edi,%edi
44fa98:	74 12                	je     0x44faac
44fa9a:	8b 07                	mov    (%edi),%eax
44fa9c:	6a 01                	push   $0x1
44fa9e:	8b 30                	mov    (%eax),%esi
44faa0:	8b ce                	mov    %esi,%ecx
44faa2:	ff 15 e0 24 68 00    	call   *0x6824e0
44faa8:	8b cf                	mov    %edi,%ecx
44faaa:	ff d6                	call   *%esi
44faac:	8b 75 b0             	mov    -0x50(%ebp),%esi
44faaf:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
44fab2:	6a 00                	push   $0x0
44fab4:	56                   	push   %esi
44fab5:	e8 c6 e2 ff ff       	call   0x44dd80
44faba:	8b 7d a8             	mov    -0x58(%ebp),%edi
44fabd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fac0:	8b 55 ac             	mov    -0x54(%ebp),%edx
44fac3:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fac7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
44face:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fad2:	8b 0f                	mov    (%edi),%ecx
44fad4:	50                   	push   %eax
44fad5:	8d 04 32             	lea    (%edx,%esi,1),%eax
44fad8:	50                   	push   %eax
44fad9:	8b 71 1c             	mov    0x1c(%ecx),%esi
44fadc:	8b ce                	mov    %esi,%ecx
44fade:	52                   	push   %edx
44fadf:	ff 15 e0 24 68 00    	call   *0x6824e0
44fae5:	8b cf                	mov    %edi,%ecx
44fae7:	ff d6                	call   *%esi
44fae9:	8b 55 98             	mov    -0x68(%ebp),%edx
44faec:	8b 42 30             	mov    0x30(%edx),%eax
44faef:	8b 78 04             	mov    0x4(%eax),%edi
44faf2:	89 7d a8             	mov    %edi,-0x58(%ebp)
44faf5:	8b 07                	mov    (%edi),%eax
44faf7:	8b 70 04             	mov    0x4(%eax),%esi
44fafa:	8b ce                	mov    %esi,%ecx
44fafc:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb02:	8b cf                	mov    %edi,%ecx
44fb04:	ff d6                	call   *%esi
44fb06:	8d 45 a4             	lea    -0x5c(%ebp),%eax
44fb09:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
44fb0d:	50                   	push   %eax
44fb0e:	e8 3d e0 ff ff       	call   0x44db50
44fb13:	8b f8                	mov    %eax,%edi
44fb15:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
44fb19:	8b 45 a8             	mov    -0x58(%ebp),%eax
44fb1c:	83 c4 04             	add    $0x4,%esp
44fb1f:	89 7d ac             	mov    %edi,-0x54(%ebp)
44fb22:	85 c0                	test   %eax,%eax
44fb24:	74 2c                	je     0x44fb52
44fb26:	8b 00                	mov    (%eax),%eax
44fb28:	8b 70 08             	mov    0x8(%eax),%esi
44fb2b:	8b ce                	mov    %esi,%ecx
44fb2d:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb33:	8b 4d a8             	mov    -0x58(%ebp),%ecx
44fb36:	ff d6                	call   *%esi
44fb38:	89 45 a8             	mov    %eax,-0x58(%ebp)
44fb3b:	85 c0                	test   %eax,%eax
44fb3d:	74 13                	je     0x44fb52
44fb3f:	8b 00                	mov    (%eax),%eax
44fb41:	6a 01                	push   $0x1
44fb43:	8b 30                	mov    (%eax),%esi
44fb45:	8b ce                	mov    %esi,%ecx
44fb47:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb4d:	8b 4d a8             	mov    -0x58(%ebp),%ecx
44fb50:	ff d6                	call   *%esi
44fb52:	8b 07                	mov    (%edi),%eax
44fb54:	8d 4d bc             	lea    -0x44(%ebp),%ecx
44fb57:	51                   	push   %ecx
44fb58:	8b 70 14             	mov    0x14(%eax),%esi
44fb5b:	8b ce                	mov    %esi,%ecx
44fb5d:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb63:	8b cf                	mov    %edi,%ecx
44fb65:	ff d6                	call   *%esi
44fb67:	8b 07                	mov    (%edi),%eax
44fb69:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
44fb6d:	8b 70 10             	mov    0x10(%eax),%esi
44fb70:	8b ce                	mov    %esi,%ecx
44fb72:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb78:	8b cf                	mov    %edi,%ecx
44fb7a:	ff d6                	call   *%esi
44fb7c:	8b 7d b0             	mov    -0x50(%ebp),%edi
44fb7f:	88 45 bb             	mov    %al,-0x45(%ebp)
44fb82:	3b df                	cmp    %edi,%ebx
44fb84:	74 27                	je     0x44fbad
44fb86:	8b 45 ac             	mov    -0x54(%ebp),%eax
44fb89:	8b 00                	mov    (%eax),%eax
44fb8b:	8b 70 0c             	mov    0xc(%eax),%esi
44fb8e:	8b ce                	mov    %esi,%ecx
44fb90:	ff 15 e0 24 68 00    	call   *0x6824e0
44fb96:	8b 4d ac             	mov    -0x54(%ebp),%ecx
44fb99:	ff d6                	call   *%esi
44fb9b:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fb9f:	8a c8                	mov    %al,%cl
44fba1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fba4:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fba8:	3b df                	cmp    %edi,%ebx
44fbaa:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
44fbad:	0f 44 5d 94          	cmove  -0x6c(%ebp),%ebx
44fbb1:	8d 45 bc             	lea    -0x44(%ebp),%eax
44fbb4:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
44fbb8:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
44fbbc:	89 45 a8             	mov    %eax,-0x58(%ebp)
44fbbf:	8a 00                	mov    (%eax),%al
44fbc1:	3c 7f                	cmp    $0x7f,%al
44fbc3:	0f 84 d4 01 00 00    	je     0x44fd9d
44fbc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
44fbd0:	8b 55 b4             	mov    -0x4c(%ebp),%edx
44fbd3:	84 c0                	test   %al,%al
44fbd5:	0f 8e c5 01 00 00    	jle    0x44fda0
44fbdb:	0f be c8             	movsbl %al,%ecx
44fbde:	8b c3                	mov    %ebx,%eax
44fbe0:	2b c2                	sub    %edx,%eax
44fbe2:	3b c8                	cmp    %eax,%ecx
44fbe4:	0f 83 b6 01 00 00    	jae    0x44fda0
44fbea:	8b 7d e4             	mov    -0x1c(%ebp),%edi
44fbed:	2b d9                	sub    %ecx,%ebx
44fbef:	3b fb                	cmp    %ebx,%edi
44fbf1:	0f 82 76 03 00 00    	jb     0x44ff6d
44fbf7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
44fbfa:	8b c1                	mov    %ecx,%eax
44fbfc:	2b c7                	sub    %edi,%eax
44fbfe:	89 4d ac             	mov    %ecx,-0x54(%ebp)
44fc01:	83 f8 01             	cmp    $0x1,%eax
44fc04:	72 38                	jb     0x44fc3e
44fc06:	83 f9 10             	cmp    $0x10,%ecx
44fc09:	8d 47 01             	lea    0x1(%edi),%eax
44fc0c:	8d 75 d4             	lea    -0x2c(%ebp),%esi
44fc0f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44fc12:	0f 43 75 d4          	cmovae -0x2c(%ebp),%esi
44fc16:	2b fb                	sub    %ebx,%edi
44fc18:	03 f3                	add    %ebx,%esi
44fc1a:	47                   	inc    %edi
44fc1b:	57                   	push   %edi
44fc1c:	56                   	push   %esi
44fc1d:	8d 46 01             	lea    0x1(%esi),%eax
44fc20:	50                   	push   %eax
44fc21:	e8 5a 38 19 00       	call   0x5e3480
44fc26:	0f be 4d bb          	movsbl -0x45(%ebp),%ecx
44fc2a:	83 c4 0c             	add    $0xc,%esp
44fc2d:	0f b6 c1             	movzbl %cl,%eax
44fc30:	66 c1 e1 08          	shl    $0x8,%cx
44fc34:	66 0b c8             	or     %ax,%cx
44fc37:	88 0e                	mov    %cl,(%esi)
44fc39:	e9 45 01 00 00       	jmp    0x44fd83
44fc3e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
44fc43:	2b c7                	sub    %edi,%eax
44fc45:	83 f8 01             	cmp    $0x1,%eax
44fc48:	0f 82 1a 03 00 00    	jb     0x44ff68
44fc4e:	8d 77 01             	lea    0x1(%edi),%esi
44fc51:	83 ce 0f             	or     $0xf,%esi
44fc54:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
44fc5a:	76 07                	jbe    0x44fc63
44fc5c:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
44fc61:	eb 1e                	jmp    0x44fc81
44fc63:	8b d1                	mov    %ecx,%edx
44fc65:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
44fc6a:	d1 ea                	shr    $1,%edx
44fc6c:	2b c2                	sub    %edx,%eax
44fc6e:	3b c8                	cmp    %eax,%ecx
44fc70:	76 07                	jbe    0x44fc79
44fc72:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
44fc77:	eb 08                	jmp    0x44fc81
44fc79:	8d 04 11             	lea    (%ecx,%edx,1),%eax
44fc7c:	3b f0                	cmp    %eax,%esi
44fc7e:	0f 42 f0             	cmovb  %eax,%esi
44fc81:	33 c9                	xor    %ecx,%ecx
44fc83:	89 75 b0             	mov    %esi,-0x50(%ebp)
44fc86:	8b c6                	mov    %esi,%eax
44fc88:	83 c0 01             	add    $0x1,%eax
44fc8b:	0f 92 c1             	setb   %cl
44fc8e:	f7 d9                	neg    %ecx
44fc90:	0b c8                	or     %eax,%ecx
44fc92:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
44fc98:	72 27                	jb     0x44fcc1
44fc9a:	8d 41 23             	lea    0x23(%ecx),%eax
44fc9d:	3b c1                	cmp    %ecx,%eax
44fc9f:	0f 86 be 02 00 00    	jbe    0x44ff63
44fca5:	50                   	push   %eax
44fca6:	e8 97 13 19 00       	call   0x5e1042
44fcab:	83 c4 04             	add    $0x4,%esp
44fcae:	85 c0                	test   %eax,%eax
44fcb0:	0f 84 bc 02 00 00    	je     0x44ff72
44fcb6:	8d 70 23             	lea    0x23(%eax),%esi
44fcb9:	83 e6 e0             	and    $0xffffffe0,%esi
44fcbc:	89 46 fc             	mov    %eax,-0x4(%esi)
44fcbf:	eb 13                	jmp    0x44fcd4
44fcc1:	85 c9                	test   %ecx,%ecx
44fcc3:	74 0d                	je     0x44fcd2
44fcc5:	51                   	push   %ecx
44fcc6:	e8 77 13 19 00       	call   0x5e1042
44fccb:	83 c4 04             	add    $0x4,%esp
44fcce:	8b f0                	mov    %eax,%esi
44fcd0:	eb 02                	jmp    0x44fcd4
44fcd2:	33 f6                	xor    %esi,%esi
44fcd4:	8d 47 01             	lea    0x1(%edi),%eax
44fcd7:	2b fb                	sub    %ebx,%edi
44fcd9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44fcdc:	47                   	inc    %edi
44fcdd:	83 7d ac 10          	cmpl   $0x10,-0x54(%ebp)
44fce1:	8b 45 b0             	mov    -0x50(%ebp),%eax
44fce4:	89 45 e8             	mov    %eax,-0x18(%ebp)
44fce7:	0f be 45 bb          	movsbl -0x45(%ebp),%eax
44fceb:	89 45 b0             	mov    %eax,-0x50(%ebp)
44fcee:	89 7d 94             	mov    %edi,-0x6c(%ebp)
44fcf1:	53                   	push   %ebx
44fcf2:	72 5d                	jb     0x44fd51
44fcf4:	8b 7d d4             	mov    -0x2c(%ebp),%edi
44fcf7:	57                   	push   %edi
44fcf8:	56                   	push   %esi
44fcf9:	e8 02 32 19 00       	call   0x5e2f00
44fcfe:	8a 4d b0             	mov    -0x50(%ebp),%cl
44fd01:	ff 75 94             	push   -0x6c(%ebp)
44fd04:	0f b6 c1             	movzbl %cl,%eax
44fd07:	66 c1 e1 08          	shl    $0x8,%cx
44fd0b:	66 0b c8             	or     %ax,%cx
44fd0e:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
44fd11:	50                   	push   %eax
44fd12:	8d 43 01             	lea    0x1(%ebx),%eax
44fd15:	88 0c 1e             	mov    %cl,(%esi,%ebx,1)
44fd18:	03 c6                	add    %esi,%eax
44fd1a:	50                   	push   %eax
44fd1b:	e8 e0 31 19 00       	call   0x5e2f00
44fd20:	8b 4d ac             	mov    -0x54(%ebp),%ecx
44fd23:	83 c4 18             	add    $0x18,%esp
44fd26:	41                   	inc    %ecx
44fd27:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
44fd2d:	72 16                	jb     0x44fd45
44fd2f:	8b 57 fc             	mov    -0x4(%edi),%edx
44fd32:	83 c1 23             	add    $0x23,%ecx
44fd35:	2b fa                	sub    %edx,%edi
44fd37:	8d 47 fc             	lea    -0x4(%edi),%eax
44fd3a:	83 f8 1f             	cmp    $0x1f,%eax
44fd3d:	0f 87 2f 02 00 00    	ja     0x44ff72