44cc87:	2b c1                	sub    %ecx,%eax
44cc89:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
44cc8e:	33 f0                	xor    %eax,%esi
44cc90:	8b c6                	mov    %esi,%eax
44cc92:	89 b5 28 f2 ff ff    	mov    %esi,-0xdd8(%ebp)
44cc98:	c1 c0 0e             	rol    $0xe,%eax
44cc9b:	8d 0c 31             	lea    (%ecx,%esi,1),%ecx
44cc9e:	8b b5 1c f2 ff ff    	mov    -0xde4(%ebp),%esi
44cca4:	c1 c1 03             	rol    $0x3,%ecx
44cca7:	0f af 8d ec f1 ff ff 	imul   -0xe14(%ebp),%ecx
44ccae:	03 c1                	add    %ecx,%eax
44ccb0:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
44ccb5:	33 f0                	xor    %eax,%esi
44ccb7:	8b c6                	mov    %esi,%eax
44ccb9:	c1 c8 0e             	ror    $0xe,%eax
44ccbc:	8d 0c 31             	lea    (%ecx,%esi,1),%ecx
44ccbf:	c1 c1 0f             	rol    $0xf,%ecx
44ccc2:	0f af 8d f8 f1 ff ff 	imul   -0xe08(%ebp),%ecx
44ccc9:	2b c8                	sub    %eax,%ecx
44cccb:	8b 85 28 f2 ff ff    	mov    -0xdd8(%ebp),%eax
44ccd1:	33 c1                	xor    %ecx,%eax
44ccd3:	8b 8d c4 f1 ff ff    	mov    -0xe3c(%ebp),%ecx
44ccd9:	33 c8                	xor    %eax,%ecx
44ccdb:	89 85 28 f2 ff ff    	mov    %eax,-0xdd8(%ebp)
44cce1:	0f af 8d e0 f1 ff ff 	imul   -0xe20(%ebp),%ecx
44cce8:	c1 e8 03             	shr    $0x3,%eax
44cceb:	33 c8                	xor    %eax,%ecx
44cced:	b8 7f 13 f1 07       	mov    $0x7f1137f,%eax
44ccf2:	33 f1                	xor    %ecx,%esi
44ccf4:	89 b5 1c f2 ff ff    	mov    %esi,-0xde4(%ebp)
44ccfa:	33 f0                	xor    %eax,%esi
44ccfc:	8b 85 c4 f1 ff ff    	mov    -0xe3c(%ebp),%eax
44cd02:	8b 8d 1c f2 ff ff    	mov    -0xde4(%ebp),%ecx
44cd08:	c1 c6 04             	rol    $0x4,%esi
44cd0b:	0f af c6             	imul   %esi,%eax
44cd0e:	8b b5 a0 f1 ff ff    	mov    -0xe60(%ebp),%esi
44cd14:	c1 c1 02             	rol    $0x2,%ecx
44cd17:	33 c8                	xor    %eax,%ecx
44cd19:	8b 85 1c f2 ff ff    	mov    -0xde4(%ebp),%eax
44cd1f:	33 8d b8 f1 ff ff    	xor    -0xe48(%ebp),%ecx
44cd25:	31 8d 28 f2 ff ff    	xor    %ecx,-0xdd8(%ebp)
44cd2b:	33 85 c0 f1 ff ff    	xor    -0xe40(%ebp),%eax
44cd31:	8b 8d 28 f2 ff ff    	mov    -0xdd8(%ebp),%ecx
44cd37:	88 4e fc             	mov    %cl,-0x4(%esi)
44cd3a:	88 06                	mov    %al,(%esi)
44cd3c:	c1 c9 08             	ror    $0x8,%ecx
44cd3f:	88 4e fb             	mov    %cl,-0x5(%esi)
44cd42:	c1 c8 08             	ror    $0x8,%eax
44cd45:	88 46 ff             	mov    %al,-0x1(%esi)
44cd48:	c1 c9 08             	ror    $0x8,%ecx
44cd4b:	88 4e fa             	mov    %cl,-0x6(%esi)
44cd4e:	c1 c8 08             	ror    $0x8,%eax
44cd51:	88 46 fe             	mov    %al,-0x2(%esi)
44cd54:	c1 c9 08             	ror    $0x8,%ecx
44cd57:	c1 c8 08             	ror    $0x8,%eax
44cd5a:	88 4e f9             	mov    %cl,-0x7(%esi)
44cd5d:	88 46 fd             	mov    %al,-0x3(%esi)
44cd60:	83 c6 08             	add    $0x8,%esi
44cd63:	c1 c8 08             	ror    $0x8,%eax
44cd66:	c1 c9 08             	ror    $0x8,%ecx
44cd69:	83 ad 6c f1 ff ff 01 	subl   $0x1,-0xe94(%ebp)
44cd70:	89 85 1c f2 ff ff    	mov    %eax,-0xde4(%ebp)
44cd76:	8b 85 b0 f1 ff ff    	mov    -0xe50(%ebp),%eax
44cd7c:	89 b5 a0 f1 ff ff    	mov    %esi,-0xe60(%ebp)
44cd82:	8b b5 fc f1 ff ff    	mov    -0xe04(%ebp),%esi
44cd88:	89 8d 28 f2 ff ff    	mov    %ecx,-0xdd8(%ebp)
44cd8e:	89 85 b8 f1 ff ff    	mov    %eax,-0xe48(%ebp)
44cd94:	89 bd c0 f1 ff ff    	mov    %edi,-0xe40(%ebp)
44cd9a:	0f 85 3b fc ff ff    	jne    0x44c9db
44cda0:	8b b5 90 f1 ff ff    	mov    -0xe70(%ebp),%esi
44cda6:	8b 8d d8 f1 ff ff    	mov    -0xe28(%ebp),%ecx
44cdac:	33 c0                	xor    %eax,%eax
44cdae:	8b f8                	mov    %eax,%edi
44cdb0:	85 f6                	test   %esi,%esi
44cdb2:	74 08                	je     0x44cdbc
44cdb4:	32 14 0f             	xor    (%edi,%ecx,1),%dl
44cdb7:	47                   	inc    %edi
44cdb8:	3b fe                	cmp    %esi,%edi
44cdba:	72 f8                	jb     0x44cdb4
44cdbc:	8b bd 04 f2 ff ff    	mov    -0xdfc(%ebp),%edi
44cdc2:	0f b6 c2             	movzbl %dl,%eax
44cdc5:	99                   	cltd
44cdc6:	3b 04 3e             	cmp    (%esi,%edi,1),%eax
44cdc9:	75 5f                	jne    0x44ce2a
44cdcb:	3b 54 3e 04          	cmp    0x4(%esi,%edi,1),%edx
44cdcf:	75 59                	jne    0x44ce2a
44cdd1:	33 c0                	xor    %eax,%eax
44cdd3:	89 b5 08 f2 ff ff    	mov    %esi,-0xdf8(%ebp)
44cdd9:	8b b5 d0 f1 ff ff    	mov    -0xe30(%ebp),%esi
44cddf:	8b f9                	mov    %ecx,%edi
44cde1:	8b c8                	mov    %eax,%ecx
44cde3:	eb 52                	jmp    0x44ce37
44cde5:	89 8d 1c f2 ff ff    	mov    %ecx,-0xde4(%ebp)
44cdeb:	0f 83 83 fb ff ff    	jae    0x44c974
44cdf1:	6a 04                	push   $0x4
44cdf3:	59                   	pop    %ecx
44cdf4:	2b cf                	sub    %edi,%ecx
44cdf6:	c1 e1 03             	shl    $0x3,%ecx
44cdf9:	d3 ee                	shr    %cl,%esi
44cdfb:	d3 e6                	shl    %cl,%esi
44cdfd:	89 b5 28 f2 ff ff    	mov    %esi,-0xdd8(%ebp)
44ce03:	e9 6c fb ff ff       	jmp    0x44c974
44ce08:	33 c0                	xor    %eax,%eax
44ce0a:	83 8d c0 f1 ff ff ff 	orl    $0xffffffff,-0xe40(%ebp)
44ce11:	8b c8                	mov    %eax,%ecx
44ce13:	89 85 b8 f1 ff ff    	mov    %eax,-0xe48(%ebp)
44ce19:	89 8d 1c f2 ff ff    	mov    %ecx,-0xde4(%ebp)
44ce1f:	89 85 28 f2 ff ff    	mov    %eax,-0xdd8(%ebp)
44ce25:	e9 50 fb ff ff       	jmp    0x44c97a
44ce2a:	8b bd e8 f1 ff ff    	mov    -0xe18(%ebp),%edi
44ce30:	be 01 d5 04 c0       	mov    $0xc004d501,%esi
44ce35:	33 c0                	xor    %eax,%eax
44ce37:	85 c9                	test   %ecx,%ecx
44ce39:	74 0f                	je     0x44ce4a
44ce3b:	51                   	push   %ecx
44ce3c:	50                   	push   %eax
44ce3d:	ff 15 74 72 4a 00    	call   *0x4a7274
44ce43:	50                   	push   %eax
44ce44:	ff 15 94 72 4a 00    	call   *0x4a7294
44ce4a:	85 f6                	test   %esi,%esi
44ce4c:	78 1d                	js     0x44ce6b
44ce4e:	8b 85 08 f2 ff ff    	mov    -0xdf8(%ebp),%eax
44ce54:	33 c9                	xor    %ecx,%ecx
44ce56:	89 bd 9c f1 ff ff    	mov    %edi,-0xe64(%ebp)
44ce5c:	be 00 00 00 10       	mov    $0x10000000,%esi
44ce61:	8b f9                	mov    %ecx,%edi
44ce63:	89 85 b4 f1 ff ff    	mov    %eax,-0xe4c(%ebp)
44ce69:	eb 07                	jmp    0x44ce72
44ce6b:	be 01 00 00 d0       	mov    $0xd0000001,%esi
44ce70:	33 c9                	xor    %ecx,%ecx
44ce72:	85 ff                	test   %edi,%edi
44ce74:	74 0f                	je     0x44ce85
44ce76:	57                   	push   %edi
44ce77:	51                   	push   %ecx
44ce78:	ff 15 74 72 4a 00    	call   *0x4a7274
44ce7e:	50                   	push   %eax
44ce7f:	ff 15 94 72 4a 00    	call   *0x4a7294
44ce85:	85 f6                	test   %esi,%esi
44ce87:	0f 88 57 01 00 00    	js     0x44cfe4
44ce8d:	8b 85 b4 f1 ff ff    	mov    -0xe4c(%ebp),%eax
44ce93:	83 f8 04             	cmp    $0x4,%eax
44ce96:	73 0a                	jae    0x44cea2
44ce98:	be 3e 00 00 c0       	mov    $0xc000003e,%esi
44ce9d:	e9 3c 01 00 00       	jmp    0x44cfde
44cea2:	8b 95 9c f1 ff ff    	mov    -0xe64(%ebp),%edx
44cea8:	8b 0a                	mov    (%edx),%ecx
44ceaa:	89 8d b0 f1 ff ff    	mov    %ecx,-0xe50(%ebp)
44ceb0:	8d 4a 04             	lea    0x4(%edx),%ecx
44ceb3:	3b ca                	cmp    %edx,%ecx
44ceb5:	0f 82 1e 01 00 00    	jb     0x44cfd9
44cebb:	83 c0 fc             	add    $0xfffffffc,%eax
44cebe:	83 f8 04             	cmp    $0x4,%eax
44cec1:	72 d5                	jb     0x44ce98
44cec3:	8b 39                	mov    (%ecx),%edi
44cec5:	8d 71 04             	lea    0x4(%ecx),%esi
44cec8:	3b f1                	cmp    %ecx,%esi
44ceca:	0f 82 09 01 00 00    	jb     0x44cfd9
44ced0:	8b 8d b4 f1 ff ff    	mov    -0xe4c(%ebp),%ecx
44ced6:	8d 41 f8             	lea    -0x8(%ecx),%eax
44ced9:	3b c7                	cmp    %edi,%eax
44cedb:	72 bb                	jb     0x44ce98
44cedd:	8d 47 08             	lea    0x8(%edi),%eax
44cee0:	83 f8 08             	cmp    $0x8,%eax
44cee3:	0f 82 f0 00 00 00    	jb     0x44cfd9
44cee9:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
44ceef:	8d 14 37             	lea    (%edi,%esi,1),%edx
44cef2:	03 c1                	add    %ecx,%eax
44cef4:	3b c2                	cmp    %edx,%eax
44cef6:	72 a0                	jb     0x44ce98
44cef8:	2b cf                	sub    %edi,%ecx
44cefa:	2b ce                	sub    %esi,%ecx
44cefc:	03 8d 9c f1 ff ff    	add    -0xe64(%ebp),%ecx
44cf02:	83 f9 08             	cmp    $0x8,%ecx
44cf05:	73 91                	jae    0x44ce98
44cf07:	33 c9                	xor    %ecx,%ecx
44cf09:	89 8d f4 f1 ff ff    	mov    %ecx,-0xe0c(%ebp)
44cf0f:	8b c1                	mov    %ecx,%eax
44cf11:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
44cf17:	85 f6                	test   %esi,%esi
44cf19:	74 49                	je     0x44cf64
44cf1b:	8b ce                	mov    %esi,%ecx
44cf1d:	3b d6                	cmp    %esi,%edx
44cf1f:	0f 82 b4 00 00 00    	jb     0x44cfd9
44cf25:	76 39                	jbe    0x44cf60
44cf27:	8d 41 04             	lea    0x4(%ecx),%eax
44cf2a:	3b c1                	cmp    %ecx,%eax
44cf2c:	0f 82 a7 00 00 00    	jb     0x44cfd9
44cf32:	3b c2                	cmp    %edx,%eax
44cf34:	77 53                	ja     0x44cf89
44cf36:	8b 01                	mov    (%ecx),%eax
44cf38:	83 c0 04             	add    $0x4,%eax
44cf3b:	83 f8 04             	cmp    $0x4,%eax
44cf3e:	72 50                	jb     0x44cf90
44cf40:	03 c1                	add    %ecx,%eax
44cf42:	3b c1                	cmp    %ecx,%eax
44cf44:	0f 82 8f 00 00 00    	jb     0x44cfd9
44cf4a:	8b c8                	mov    %eax,%ecx
44cf4c:	3b ca                	cmp    %edx,%ecx
44cf4e:	77 39                	ja     0x44cf89
44cf50:	ff 85 f4 f1 ff ff    	incl   -0xe0c(%ebp)
44cf56:	3b ca                	cmp    %edx,%ecx
44cf58:	72 cd                	jb     0x44cf27
44cf5a:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44cf60:	3b ca                	cmp    %edx,%ecx
44cf62:	75 25                	jne    0x44cf89
44cf64:	85 ff                	test   %edi,%edi
44cf66:	74 2f                	je     0x44cf97
44cf68:	57                   	push   %edi
44cf69:	6a 08                	push   $0x8
44cf6b:	ff 15 74 72 4a 00    	call   *0x4a7274
44cf71:	50                   	push   %eax
44cf72:	ff 15 84 72 4a 00    	call   *0x4a7284
44cf78:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
44cf7e:	85 c0                	test   %eax,%eax
44cf80:	75 15                	jne    0x44cf97
44cf82:	be 17 00 00 c0       	mov    $0xc0000017,%esi
44cf87:	eb 39                	jmp    0x44cfc2
44cf89:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
44cf8e:	eb 4e                	jmp    0x44cfde
44cf90:	be 95 00 00 c0       	mov    $0xc0000095,%esi
44cf95:	eb 2b                	jmp    0x44cfc2
44cf97:	85 f6                	test   %esi,%esi
44cf99:	74 11                	je     0x44cfac
44cf9b:	57                   	push   %edi
44cf9c:	56                   	push   %esi
44cf9d:	50                   	push   %eax
44cf9e:	e8 8a 40 04 00       	call   0x49102d
44cfa3:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44cfa9:	83 c4 0c             	add    $0xc,%esp
44cfac:	89 85 fc f0 ff ff    	mov    %eax,-0xf04(%ebp)
44cfb2:	8b 85 f4 f1 ff ff    	mov    -0xe0c(%ebp),%eax
44cfb8:	89 85 f4 f0 ff ff    	mov    %eax,-0xf0c(%ebp)
44cfbe:	33 c0                	xor    %eax,%eax
44cfc0:	8b f0                	mov    %eax,%esi
44cfc2:	85 f6                	test   %esi,%esi
44cfc4:	78 18                	js     0x44cfde
44cfc6:	8b 85 b0 f1 ff ff    	mov    -0xe50(%ebp),%eax
44cfcc:	3b 85 f4 f0 ff ff    	cmp    -0xf0c(%ebp),%eax
44cfd2:	74 0a                	je     0x44cfde
44cfd4:	e9 bf fe ff ff       	jmp    0x44ce98
44cfd9:	be 95 00 00 c0       	mov    $0xc0000095,%esi
44cfde:	81 ce 00 00 00 10    	or     $0x10000000,%esi
44cfe4:	8b 85 bc f1 ff ff    	mov    -0xe44(%ebp),%eax
44cfea:	85 c0                	test   %eax,%eax
44cfec:	74 11                	je     0x44cfff
44cfee:	50                   	push   %eax
44cfef:	33 c0                	xor    %eax,%eax
44cff1:	50                   	push   %eax
44cff2:	ff 15 74 72 4a 00    	call   *0x4a7274
44cff8:	50                   	push   %eax
44cff9:	ff 15 94 72 4a 00    	call   *0x4a7294
44cfff:	8b bd 60 f1 ff ff    	mov    -0xea0(%ebp),%edi
44d005:	85 ff                	test   %edi,%edi
44d007:	74 64                	je     0x44d06d
44d009:	33 c0                	xor    %eax,%eax
44d00b:	39 47 04             	cmp    %eax,0x4(%edi)
44d00e:	74 16                	je     0x44d026
44d010:	ff 77 04             	push   0x4(%edi)
44d013:	50                   	push   %eax
44d014:	ff 15 74 72 4a 00    	call   *0x4a7274
44d01a:	50                   	push   %eax
44d01b:	ff 15 94 72 4a 00    	call   *0x4a7294
44d021:	33 c0                	xor    %eax,%eax
44d023:	89 47 04             	mov    %eax,0x4(%edi)
44d026:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44d02a:	74 16                	je     0x44d042
44d02c:	ff 77 0c             	push   0xc(%edi)
44d02f:	50                   	push   %eax
44d030:	ff 15 74 72 4a 00    	call   *0x4a7274
44d036:	50                   	push   %eax
44d037:	ff 15 94 72 4a 00    	call   *0x4a7294
44d03d:	33 c0                	xor    %eax,%eax
44d03f:	89 47 0c             	mov    %eax,0xc(%edi)
44d042:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44d046:	74 16                	je     0x44d05e
44d048:	ff 77 14             	push   0x14(%edi)
44d04b:	50                   	push   %eax
44d04c:	ff 15 74 72 4a 00    	call   *0x4a7274
44d052:	50                   	push   %eax
44d053:	ff 15 94 72 4a 00    	call   *0x4a7294
44d059:	33 c0                	xor    %eax,%eax
44d05b:	89 47 14             	mov    %eax,0x14(%edi)
44d05e:	57                   	push   %edi
44d05f:	50                   	push   %eax
44d060:	ff 15 74 72 4a 00    	call   *0x4a7274
44d066:	50                   	push   %eax
44d067:	ff 15 94 72 4a 00    	call   *0x4a7294
44d06d:	8b 85 98 f1 ff ff    	mov    -0xe68(%ebp),%eax
44d073:	85 c0                	test   %eax,%eax
44d075:	74 11                	je     0x44d088
44d077:	50                   	push   %eax
44d078:	33 c0                	xor    %eax,%eax
44d07a:	50                   	push   %eax
44d07b:	ff 15 74 72 4a 00    	call   *0x4a7274
44d081:	50                   	push   %eax
44d082:	ff 15 94 72 4a 00    	call   *0x4a7294
44d088:	8b 85 e4 f1 ff ff    	mov    -0xe1c(%ebp),%eax
44d08e:	85 c0                	test   %eax,%eax
44d090:	74 11                	je     0x44d0a3
44d092:	50                   	push   %eax
44d093:	33 c0                	xor    %eax,%eax
44d095:	50                   	push   %eax
44d096:	ff 15 74 72 4a 00    	call   *0x4a7274
44d09c:	50                   	push   %eax
44d09d:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0a3:	8b bd 88 f1 ff ff    	mov    -0xe78(%ebp),%edi
44d0a9:	85 ff                	test   %edi,%edi
44d0ab:	74 64                	je     0x44d111
44d0ad:	33 c0                	xor    %eax,%eax
44d0af:	39 47 04             	cmp    %eax,0x4(%edi)
44d0b2:	74 16                	je     0x44d0ca
44d0b4:	ff 77 04             	push   0x4(%edi)
44d0b7:	50                   	push   %eax
44d0b8:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0be:	50                   	push   %eax
44d0bf:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0c5:	33 c0                	xor    %eax,%eax
44d0c7:	89 47 04             	mov    %eax,0x4(%edi)
44d0ca:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44d0ce:	74 16                	je     0x44d0e6
44d0d0:	ff 77 0c             	push   0xc(%edi)
44d0d3:	50                   	push   %eax
44d0d4:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0da:	50                   	push   %eax
44d0db:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0e1:	33 c0                	xor    %eax,%eax
44d0e3:	89 47 0c             	mov    %eax,0xc(%edi)
44d0e6:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44d0ea:	74 16                	je     0x44d102
44d0ec:	ff 77 14             	push   0x14(%edi)
44d0ef:	50                   	push   %eax
44d0f0:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0f6:	50                   	push   %eax
44d0f7:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0fd:	33 c0                	xor    %eax,%eax
44d0ff:	89 47 14             	mov    %eax,0x14(%edi)
44d102:	57                   	push   %edi
44d103:	50                   	push   %eax
44d104:	ff 15 74 72 4a 00    	call   *0x4a7274
44d10a:	50                   	push   %eax
44d10b:	ff 15 94 72 4a 00    	call   *0x4a7294
44d111:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
44d117:	85 c0                	test   %eax,%eax
44d119:	74 11                	je     0x44d12c
44d11b:	50                   	push   %eax
44d11c:	33 c0                	xor    %eax,%eax
44d11e:	50                   	push   %eax
44d11f:	ff 15 74 72 4a 00    	call   *0x4a7274
44d125:	50                   	push   %eax
44d126:	ff 15 94 72 4a 00    	call   *0x4a7294