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
44fd43:	8b fa                	mov    %edx,%edi
44fd45:	51                   	push   %ecx
44fd46:	57                   	push   %edi
44fd47:	e8 26 13 19 00       	call   0x5e1072
44fd4c:	83 c4 08             	add    $0x8,%esp
44fd4f:	eb 2f                	jmp    0x44fd80
44fd51:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fd54:	50                   	push   %eax
44fd55:	56                   	push   %esi
44fd56:	e8 a5 31 19 00       	call   0x5e2f00
44fd5b:	8a 4d b0             	mov    -0x50(%ebp),%cl
44fd5e:	0f b6 c1             	movzbl %cl,%eax
44fd61:	66 c1 e1 08          	shl    $0x8,%cx
44fd65:	66 0b c8             	or     %ax,%cx
44fd68:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fd6b:	03 c3                	add    %ebx,%eax
44fd6d:	88 0c 1e             	mov    %cl,(%esi,%ebx,1)
44fd70:	57                   	push   %edi
44fd71:	50                   	push   %eax
44fd72:	8d 43 01             	lea    0x1(%ebx),%eax
44fd75:	03 c6                	add    %esi,%eax
44fd77:	50                   	push   %eax
44fd78:	e8 83 31 19 00       	call   0x5e2f00
44fd7d:	83 c4 18             	add    $0x18,%esp
44fd80:	89 75 d4             	mov    %esi,-0x2c(%ebp)
44fd83:	8b 4d a8             	mov    -0x58(%ebp),%ecx
44fd86:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
44fd8a:	8d 41 01             	lea    0x1(%ecx),%eax
44fd8d:	0f 4f c8             	cmovg  %eax,%ecx
44fd90:	89 4d a8             	mov    %ecx,-0x58(%ebp)
44fd93:	8a 01                	mov    (%ecx),%al
44fd95:	3c 7f                	cmp    $0x7f,%al
44fd97:	0f 85 33 fe ff ff    	jne    0x44fbd0
44fd9d:	8b 55 b4             	mov    -0x4c(%ebp),%edx
44fda0:	8b 45 98             	mov    -0x68(%ebp),%eax
44fda3:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
44fda6:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
44fdaa:	8b 70 20             	mov    0x20(%eax),%esi
44fdad:	7c 0e                	jl     0x44fdbd
44fdaf:	7f 04                	jg     0x44fdb5
44fdb1:	85 f6                	test   %esi,%esi
44fdb3:	74 08                	je     0x44fdbd
44fdb5:	3b f3                	cmp    %ebx,%esi
44fdb7:	76 04                	jbe    0x44fdbd
44fdb9:	2b f3                	sub    %ebx,%esi
44fdbb:	eb 02                	jmp    0x44fdbf
44fdbd:	33 f6                	xor    %esi,%esi
44fdbf:	8b 40 14             	mov    0x14(%eax),%eax
44fdc2:	8b 7d 08             	mov    0x8(%ebp),%edi
44fdc5:	25 c0 01 00 00       	and    $0x1c0,%eax
44fdca:	83 f8 40             	cmp    $0x40,%eax
44fdcd:	0f 84 87 00 00 00    	je     0x44fe5a
44fdd3:	3d 00 01 00 00       	cmp    $0x100,%eax
44fdd8:	74 41                	je     0x44fe1b
44fdda:	56                   	push   %esi
44fddb:	ff 75 1c             	push   0x1c(%ebp)
44fdde:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fde1:	ff 75 14             	push   0x14(%ebp)
44fde4:	ff 75 10             	push   0x10(%ebp)
44fde7:	50                   	push   %eax
44fde8:	57                   	push   %edi
44fde9:	e8 92 08 00 00       	call   0x450680
44fdee:	ff 75 b4             	push   -0x4c(%ebp)
44fdf1:	33 f6                	xor    %esi,%esi
44fdf3:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fdf7:	8b 10                	mov    (%eax),%edx
44fdf9:	89 55 10             	mov    %edx,0x10(%ebp)
44fdfc:	8b 48 04             	mov    0x4(%eax),%ecx
44fdff:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fe02:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fe06:	50                   	push   %eax
44fe07:	51                   	push   %ecx
44fe08:	52                   	push   %edx
44fe09:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fe0c:	89 4d 14             	mov    %ecx,0x14(%ebp)
44fe0f:	50                   	push   %eax
44fe10:	57                   	push   %edi
44fe11:	e8 ca 07 00 00       	call   0x4505e0
44fe16:	83 c4 30             	add    $0x30,%esp
44fe19:	eb 5f                	jmp    0x44fe7a
44fe1b:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fe1f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fe22:	52                   	push   %edx
44fe23:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fe27:	50                   	push   %eax
44fe28:	ff 75 14             	push   0x14(%ebp)
44fe2b:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fe2e:	ff 75 10             	push   0x10(%ebp)
44fe31:	50                   	push   %eax
44fe32:	57                   	push   %edi
44fe33:	e8 a8 07 00 00       	call   0x4505e0
44fe38:	56                   	push   %esi
44fe39:	ff 75 1c             	push   0x1c(%ebp)
44fe3c:	8b 08                	mov    (%eax),%ecx
44fe3e:	89 4d 10             	mov    %ecx,0x10(%ebp)
44fe41:	8b 40 04             	mov    0x4(%eax),%eax
44fe44:	50                   	push   %eax
44fe45:	89 45 14             	mov    %eax,0x14(%ebp)
44fe48:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fe4b:	51                   	push   %ecx
44fe4c:	50                   	push   %eax
44fe4d:	57                   	push   %edi
44fe4e:	e8 2d 08 00 00       	call   0x450680
44fe53:	83 c4 30             	add    $0x30,%esp
44fe56:	33 f6                	xor    %esi,%esi
44fe58:	eb 20                	jmp    0x44fe7a
44fe5a:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fe5e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fe61:	52                   	push   %edx
44fe62:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fe66:	50                   	push   %eax
44fe67:	ff 75 14             	push   0x14(%ebp)
44fe6a:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fe6d:	ff 75 10             	push   0x10(%ebp)
44fe70:	50                   	push   %eax
44fe71:	57                   	push   %edi
44fe72:	e8 69 07 00 00       	call   0x4505e0
44fe77:	83 c4 18             	add    $0x18,%esp
44fe7a:	8b 10                	mov    (%eax),%edx
44fe7c:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44fe80:	89 55 10             	mov    %edx,0x10(%ebp)
44fe83:	8b 48 04             	mov    0x4(%eax),%ecx
44fe86:	8d 45 d4             	lea    -0x2c(%ebp),%eax
44fe89:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
44fe8d:	2b 5d b4             	sub    -0x4c(%ebp),%ebx
44fe90:	03 45 b4             	add    -0x4c(%ebp),%eax
44fe93:	53                   	push   %ebx
44fe94:	50                   	push   %eax
44fe95:	51                   	push   %ecx
44fe96:	52                   	push   %edx
44fe97:	8d 45 9c             	lea    -0x64(%ebp),%eax
44fe9a:	89 4d 14             	mov    %ecx,0x14(%ebp)
44fe9d:	50                   	push   %eax
44fe9e:	57                   	push   %edi
44fe9f:	e8 3c 07 00 00       	call   0x4505e0
44fea4:	8b 55 98             	mov    -0x68(%ebp),%edx
44fea7:	56                   	push   %esi
44fea8:	ff 75 1c             	push   0x1c(%ebp)
44feab:	8b 08                	mov    (%eax),%ecx
44fead:	8b 75 90             	mov    -0x70(%ebp),%esi
44feb0:	89 4d 10             	mov    %ecx,0x10(%ebp)
44feb3:	8b 40 04             	mov    0x4(%eax),%eax
44feb6:	50                   	push   %eax
44feb7:	51                   	push   %ecx
44feb8:	56                   	push   %esi
44feb9:	57                   	push   %edi
44feba:	89 45 14             	mov    %eax,0x14(%ebp)
44febd:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
44fec4:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
44fecb:	e8 b0 07 00 00       	call   0x450680
44fed0:	8b 55 d0             	mov    -0x30(%ebp),%edx
44fed3:	83 c4 30             	add    $0x30,%esp
44fed6:	83 fa 10             	cmp    $0x10,%edx
44fed9:	72 28                	jb     0x44ff03
44fedb:	8b 4d bc             	mov    -0x44(%ebp),%ecx
44fede:	42                   	inc    %edx
44fedf:	8b c1                	mov    %ecx,%eax
44fee1:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
44fee7:	72 10                	jb     0x44fef9
44fee9:	8b 49 fc             	mov    -0x4(%ecx),%ecx
44feec:	83 c2 23             	add    $0x23,%edx
44feef:	2b c1                	sub    %ecx,%eax
44fef1:	83 c0 fc             	add    $0xfffffffc,%eax
44fef4:	83 f8 1f             	cmp    $0x1f,%eax
44fef7:	77 79                	ja     0x44ff72
44fef9:	52                   	push   %edx
44fefa:	51                   	push   %ecx
44fefb:	e8 72 11 19 00       	call   0x5e1072
44ff00:	83 c4 08             	add    $0x8,%esp
44ff03:	8b 55 e8             	mov    -0x18(%ebp),%edx
44ff06:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
44ff0d:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
44ff14:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
44ff18:	83 fa 10             	cmp    $0x10,%edx
44ff1b:	72 28                	jb     0x44ff45