41ab5b:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
41ab61:	c1 ca 0b             	ror    $0xb,%edx
41ab64:	0f af 95 40 f4 ff ff 	imul   -0xbc0(%ebp),%edx
41ab6b:	c1 c8 0c             	ror    $0xc,%eax
41ab6e:	2b d0                	sub    %eax,%edx
41ab70:	33 da                	xor    %edx,%ebx
41ab72:	8b 95 40 f4 ff ff    	mov    -0xbc0(%ebp),%edx
41ab78:	33 d3                	xor    %ebx,%edx
41ab7a:	8b c3                	mov    %ebx,%eax
41ab7c:	0f af 95 48 f4 ff ff 	imul   -0xbb8(%ebp),%edx
41ab83:	c1 e8 08             	shr    $0x8,%eax
41ab86:	33 d0                	xor    %eax,%edx
41ab88:	b8 17 cb 1e c8       	mov    $0xc81ecb17,%eax
41ab8d:	31 95 44 f4 ff ff    	xor    %edx,-0xbbc(%ebp)
41ab93:	35 58 4a b5 b1       	xor    $0xb1b54a58,%eax
41ab98:	8b 95 44 f4 ff ff    	mov    -0xbbc(%ebp),%edx
41ab9e:	33 d8                	xor    %eax,%ebx
41aba0:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
41aba6:	33 da                	xor    %edx,%ebx
41aba8:	33 95 30 f4 ff ff    	xor    -0xbd0(%ebp),%edx
41abae:	33 9d 34 f4 ff ff    	xor    -0xbcc(%ebp),%ebx
41abb4:	89 b5 34 f4 ff ff    	mov    %esi,-0xbcc(%ebp)
41abba:	8b b5 68 f4 ff ff    	mov    -0xb98(%ebp),%esi
41abc0:	88 50 fc             	mov    %dl,-0x4(%eax)
41abc3:	88 18                	mov    %bl,(%eax)
41abc5:	c1 ca 08             	ror    $0x8,%edx
41abc8:	88 50 fb             	mov    %dl,-0x5(%eax)
41abcb:	c1 cb 08             	ror    $0x8,%ebx
41abce:	88 58 ff             	mov    %bl,-0x1(%eax)
41abd1:	c1 ca 08             	ror    $0x8,%edx
41abd4:	88 50 fa             	mov    %dl,-0x6(%eax)
41abd7:	c1 cb 08             	ror    $0x8,%ebx
41abda:	88 58 fe             	mov    %bl,-0x2(%eax)
41abdd:	c1 ca 08             	ror    $0x8,%edx
41abe0:	c1 cb 08             	ror    $0x8,%ebx
41abe3:	88 50 f9             	mov    %dl,-0x7(%eax)
41abe6:	88 58 fd             	mov    %bl,-0x3(%eax)
41abe9:	83 c0 08             	add    $0x8,%eax
41abec:	c1 ca 08             	ror    $0x8,%edx
41abef:	c1 cb 08             	ror    $0x8,%ebx
41abf2:	83 ad 84 f4 ff ff 01 	subl   $0x1,-0xb7c(%ebp)
41abf9:	89 bd 30 f4 ff ff    	mov    %edi,-0xbd0(%ebp)
41abff:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
41ac05:	0f 85 83 fc ff ff    	jne    0x41a88e
41ac0b:	8b b5 58 f4 ff ff    	mov    -0xba8(%ebp),%esi
41ac11:	33 db                	xor    %ebx,%ebx
41ac13:	0f b6 c1             	movzbl %cl,%eax
41ac16:	8b 8d 60 f4 ff ff    	mov    -0xba0(%ebp),%ecx
41ac1c:	99                   	cltd
41ac1d:	89 04 31             	mov    %eax,(%ecx,%esi,1)
41ac20:	89 54 31 04          	mov    %edx,0x4(%ecx,%esi,1)
41ac24:	6a 18                	push   $0x18
41ac26:	6a 08                	push   $0x8
41ac28:	ff 15 7c 60 42 00    	call   *0x42607c
41ac2e:	50                   	push   %eax
41ac2f:	ff 15 a0 61 42 00    	call   *0x4261a0
41ac35:	8b f8                	mov    %eax,%edi
41ac37:	89 bd 58 f4 ff ff    	mov    %edi,-0xba8(%ebp)
41ac3d:	85 ff                	test   %edi,%edi
41ac3f:	75 0a                	jne    0x41ac4b
41ac41:	be 17 00 00 c0       	mov    $0xc0000017,%esi
41ac46:	e9 02 01 00 00       	jmp    0x41ad4d
41ac4b:	8b b5 7c f4 ff ff    	mov    -0xb84(%ebp),%esi
41ac51:	56                   	push   %esi
41ac52:	6a 08                	push   $0x8
41ac54:	89 37                	mov    %esi,(%edi)
41ac56:	ff 15 7c 60 42 00    	call   *0x42607c
41ac5c:	50                   	push   %eax
41ac5d:	ff 15 a0 61 42 00    	call   *0x4261a0
41ac63:	8b c8                	mov    %eax,%ecx
41ac65:	85 c9                	test   %ecx,%ecx
41ac67:	75 07                	jne    0x41ac70
41ac69:	be 17 00 00 c0       	mov    $0xc0000017,%esi
41ac6e:	eb 7c                	jmp    0x41acec
41ac70:	89 4f 04             	mov    %ecx,0x4(%edi)
41ac73:	8b 85 60 f4 ff ff    	mov    -0xba0(%ebp),%eax
41ac79:	56                   	push   %esi
41ac7a:	50                   	push   %eax
41ac7b:	51                   	push   %ecx
41ac7c:	e8 02 7f 00 00       	call   0x422b83
41ac81:	83 c4 0c             	add    $0xc,%esp
41ac84:	b8 a0 00 00 00       	mov    $0xa0,%eax
41ac89:	89 47 08             	mov    %eax,0x8(%edi)
41ac8c:	50                   	push   %eax
41ac8d:	6a 08                	push   $0x8
41ac8f:	ff 15 7c 60 42 00    	call   *0x42607c
41ac95:	50                   	push   %eax
41ac96:	ff 15 a0 61 42 00    	call   *0x4261a0
41ac9c:	85 c0                	test   %eax,%eax
41ac9e:	74 c9                	je     0x41ac69
41aca0:	89 47 0c             	mov    %eax,0xc(%edi)
41aca3:	6a 28                	push   $0x28
41aca5:	59                   	pop    %ecx
41aca6:	8b f8                	mov    %eax,%edi
41aca8:	be 30 47 42 00       	mov    $0x424730,%esi
41acad:	6a 08                	push   $0x8
41acaf:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41acb1:	8b bd 58 f4 ff ff    	mov    -0xba8(%ebp),%edi
41acb7:	58                   	pop    %eax
41acb8:	50                   	push   %eax
41acb9:	50                   	push   %eax
41acba:	89 47 10             	mov    %eax,0x10(%edi)
41acbd:	ff 15 7c 60 42 00    	call   *0x42607c
41acc3:	50                   	push   %eax
41acc4:	ff 15 a0 61 42 00    	call   *0x4261a0
41acca:	8b c8                	mov    %eax,%ecx
41accc:	85 c9                	test   %ecx,%ecx
41acce:	74 99                	je     0x41ac69
41acd0:	89 4f 14             	mov    %ecx,0x14(%edi)
41acd3:	a1 d0 47 42 00       	mov    0x4247d0,%eax
41acd8:	8b f3                	mov    %ebx,%esi
41acda:	89 01                	mov    %eax,(%ecx)
41acdc:	a1 d4 47 42 00       	mov    0x4247d4,%eax
41ace1:	89 bd 50 f4 ff ff    	mov    %edi,-0xbb0(%ebp)
41ace7:	8b fb                	mov    %ebx,%edi
41ace9:	89 41 04             	mov    %eax,0x4(%ecx)
41acec:	85 ff                	test   %edi,%edi
41acee:	74 5d                	je     0x41ad4d
41acf0:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
41acf4:	74 14                	je     0x41ad0a
41acf6:	ff 77 04             	push   0x4(%edi)
41acf9:	53                   	push   %ebx
41acfa:	ff 15 7c 60 42 00    	call   *0x42607c
41ad00:	50                   	push   %eax
41ad01:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad07:	89 5f 04             	mov    %ebx,0x4(%edi)
41ad0a:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
41ad0e:	74 14                	je     0x41ad24
41ad10:	ff 77 0c             	push   0xc(%edi)
41ad13:	53                   	push   %ebx
41ad14:	ff 15 7c 60 42 00    	call   *0x42607c
41ad1a:	50                   	push   %eax
41ad1b:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad21:	89 5f 0c             	mov    %ebx,0xc(%edi)
41ad24:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
41ad28:	74 14                	je     0x41ad3e
41ad2a:	ff 77 14             	push   0x14(%edi)
41ad2d:	53                   	push   %ebx
41ad2e:	ff 15 7c 60 42 00    	call   *0x42607c
41ad34:	50                   	push   %eax
41ad35:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad3b:	89 5f 14             	mov    %ebx,0x14(%edi)
41ad3e:	57                   	push   %edi
41ad3f:	53                   	push   %ebx
41ad40:	ff 15 7c 60 42 00    	call   *0x42607c
41ad46:	50                   	push   %eax
41ad47:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad4d:	85 f6                	test   %esi,%esi
41ad4f:	78 14                	js     0x41ad65
41ad51:	8b bd 50 f4 ff ff    	mov    -0xbb0(%ebp),%edi
41ad57:	89 bd 28 f4 ff ff    	mov    %edi,-0xbd8(%ebp)
41ad5d:	89 9d 50 f4 ff ff    	mov    %ebx,-0xbb0(%ebp)
41ad63:	eb 02                	jmp    0x41ad67
41ad65:	8b fb                	mov    %ebx,%edi
41ad67:	ff b5 60 f4 ff ff    	push   -0xba0(%ebp)
41ad6d:	53                   	push   %ebx
41ad6e:	ff 15 7c 60 42 00    	call   *0x42607c
41ad74:	50                   	push   %eax
41ad75:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad7b:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41ad81:	85 c0                	test   %eax,%eax
41ad83:	74 73                	je     0x41adf8
41ad85:	8b 48 04             	mov    0x4(%eax),%ecx
41ad88:	85 c9                	test   %ecx,%ecx
41ad8a:	74 18                	je     0x41ada4
41ad8c:	51                   	push   %ecx
41ad8d:	53                   	push   %ebx
41ad8e:	ff 15 7c 60 42 00    	call   *0x42607c
41ad94:	50                   	push   %eax
41ad95:	ff 15 a4 61 42 00    	call   *0x4261a4
41ad9b:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41ada1:	89 58 04             	mov    %ebx,0x4(%eax)
41ada4:	8b 48 0c             	mov    0xc(%eax),%ecx
41ada7:	85 c9                	test   %ecx,%ecx
41ada9:	74 18                	je     0x41adc3
41adab:	51                   	push   %ecx
41adac:	53                   	push   %ebx
41adad:	ff 15 7c 60 42 00    	call   *0x42607c
41adb3:	50                   	push   %eax
41adb4:	ff 15 a4 61 42 00    	call   *0x4261a4
41adba:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41adc0:	89 58 0c             	mov    %ebx,0xc(%eax)
41adc3:	8b 48 14             	mov    0x14(%eax),%ecx
41adc6:	85 c9                	test   %ecx,%ecx
41adc8:	74 18                	je     0x41ade2
41adca:	51                   	push   %ecx
41adcb:	53                   	push   %ebx
41adcc:	ff 15 7c 60 42 00    	call   *0x42607c
41add2:	50                   	push   %eax
41add3:	ff 15 a4 61 42 00    	call   *0x4261a4
41add9:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41addf:	89 58 14             	mov    %ebx,0x14(%eax)
41ade2:	50                   	push   %eax
41ade3:	53                   	push   %ebx
41ade4:	ff 15 7c 60 42 00    	call   *0x42607c
41adea:	50                   	push   %eax
41adeb:	ff 15 a4 61 42 00    	call   *0x4261a4
41adf1:	eb 05                	jmp    0x41adf8
41adf3:	be 01 00 00 c0       	mov    $0xc0000001,%esi
41adf8:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41adfe:	0f 8c ab 0d 00 00    	jl     0x41bbaf
41ae04:	8b 07                	mov    (%edi),%eax
41ae06:	8b 77 10             	mov    0x10(%edi),%esi
41ae09:	83 c0 04             	add    $0x4,%eax
41ae0c:	8b 4f 08             	mov    0x8(%edi),%ecx
41ae0f:	83 f8 04             	cmp    $0x4,%eax
41ae12:	0f 82 01 01 00 00    	jb     0x41af19
41ae18:	8d 50 04             	lea    0x4(%eax),%edx
41ae1b:	3b d0                	cmp    %eax,%edx
41ae1d:	0f 82 f6 00 00 00    	jb     0x41af19
41ae23:	03 ca                	add    %edx,%ecx
41ae25:	3b ca                	cmp    %edx,%ecx
41ae27:	0f 82 ec 00 00 00    	jb     0x41af19
41ae2d:	8d 41 04             	lea    0x4(%ecx),%eax
41ae30:	3b c1                	cmp    %ecx,%eax
41ae32:	0f 82 e1 00 00 00    	jb     0x41af19
41ae38:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
41ae3b:	89 8d 58 f4 ff ff    	mov    %ecx,-0xba8(%ebp)
41ae41:	3b c8                	cmp    %eax,%ecx
41ae43:	0f 82 d0 00 00 00    	jb     0x41af19
41ae49:	51                   	push   %ecx
41ae4a:	6a 08                	push   $0x8
41ae4c:	ff 15 7c 60 42 00    	call   *0x42607c
41ae52:	50                   	push   %eax
41ae53:	ff 15 a0 61 42 00    	call   *0x4261a0
41ae59:	8b f0                	mov    %eax,%esi
41ae5b:	89 b5 50 f4 ff ff    	mov    %esi,-0xbb0(%ebp)
41ae61:	85 f6                	test   %esi,%esi
41ae63:	75 0a                	jne    0x41ae6f
41ae65:	be 17 00 00 c0       	mov    $0xc0000017,%esi
41ae6a:	e9 af 00 00 00       	jmp    0x41af1e
41ae6f:	8b 07                	mov    (%edi),%eax
41ae71:	89 06                	mov    %eax,(%esi)
41ae73:	8d 46 04             	lea    0x4(%esi),%eax
41ae76:	3b c6                	cmp    %esi,%eax
41ae78:	72 7f                	jb     0x41aef9
41ae7a:	ff 37                	push   (%edi)
41ae7c:	ff 77 04             	push   0x4(%edi)
41ae7f:	50                   	push   %eax
41ae80:	e8 fe 7c 00 00       	call   0x422b83
41ae85:	8b 17                	mov    (%edi),%edx
41ae87:	8d 4e 04             	lea    0x4(%esi),%ecx
41ae8a:	03 d1                	add    %ecx,%edx
41ae8c:	83 c4 0c             	add    $0xc,%esp
41ae8f:	3b d1                	cmp    %ecx,%edx
41ae91:	72 66                	jb     0x41aef9
41ae93:	8b 47 08             	mov    0x8(%edi),%eax
41ae96:	8d 72 04             	lea    0x4(%edx),%esi
41ae99:	89 02                	mov    %eax,(%edx)
41ae9b:	3b f2                	cmp    %edx,%esi
41ae9d:	72 5a                	jb     0x41aef9
41ae9f:	ff 77 08             	push   0x8(%edi)
41aea2:	ff 77 0c             	push   0xc(%edi)
41aea5:	56                   	push   %esi
41aea6:	e8 d8 7c 00 00       	call   0x422b83
41aeab:	8b 4f 08             	mov    0x8(%edi),%ecx
41aeae:	83 c4 0c             	add    $0xc,%esp
41aeb1:	03 ce                	add    %esi,%ecx
41aeb3:	3b ce                	cmp    %esi,%ecx
41aeb5:	72 42                	jb     0x41aef9
41aeb7:	8b 47 10             	mov    0x10(%edi),%eax
41aeba:	8d 71 04             	lea    0x4(%ecx),%esi
41aebd:	89 01                	mov    %eax,(%ecx)
41aebf:	3b f1                	cmp    %ecx,%esi
41aec1:	72 36                	jb     0x41aef9
41aec3:	ff 77 10             	push   0x10(%edi)
41aec6:	ff 77 14             	push   0x14(%edi)
41aec9:	56                   	push   %esi
41aeca:	e8 b4 7c 00 00       	call   0x422b83
41aecf:	8b 47 10             	mov    0x10(%edi),%eax
41aed2:	83 c4 0c             	add    $0xc,%esp
41aed5:	03 c6                	add    %esi,%eax
41aed7:	3b c6                	cmp    %esi,%eax
41aed9:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41aedf:	72 1e                	jb     0x41aeff
41aee1:	8b 8d 58 f4 ff ff    	mov    -0xba8(%ebp),%ecx
41aee7:	8b f3                	mov    %ebx,%esi
41aee9:	89 85 6c f4 ff ff    	mov    %eax,-0xb94(%ebp)
41aeef:	8b c3                	mov    %ebx,%eax
41aef1:	89 8d 74 f4 ff ff    	mov    %ecx,-0xb8c(%ebp)
41aef7:	eb 0b                	jmp    0x41af04
41aef9:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
41aeff:	be 95 00 00 c0       	mov    $0xc0000095,%esi
41af04:	85 c0                	test   %eax,%eax
41af06:	74 16                	je     0x41af1e
41af08:	50                   	push   %eax
41af09:	53                   	push   %ebx
41af0a:	ff 15 7c 60 42 00    	call   *0x42607c
41af10:	50                   	push   %eax
41af11:	ff 15 a4 61 42 00    	call   *0x4261a4
41af17:	eb 05                	jmp    0x41af1e
41af19:	be 95 00 00 c0       	mov    $0xc0000095,%esi
41af1e:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41af24:	0f 8c 85 0c 00 00    	jl     0x41bbaf
41af2a:	83 bd e8 f2 ff ff 00 	cmpl   $0x0,-0xd18(%ebp)
41af31:	75 0a                	jne    0x41af3d
41af33:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
41af38:	e9 93 00 00 00       	jmp    0x41afd0
41af3d:	33 c0                	xor    %eax,%eax
41af3f:	40                   	inc    %eax
41af40:	39 85 e0 f2 ff ff    	cmp    %eax,-0xd20(%ebp)
41af46:	76 eb                	jbe    0x41af33
41af48:	8b 8d e8 f2 ff ff    	mov    -0xd18(%ebp),%ecx
41af4e:	8b d3                	mov    %ebx,%edx
41af50:	8b 31                	mov    (%ecx),%esi
41af52:	8d 41 04             	lea    0x4(%ecx),%eax
41af55:	3b c1                	cmp    %ecx,%eax
41af57:	72 72                	jb     0x41afcb
41af59:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
41af5c:	3b c8                	cmp    %eax,%ecx
41af5e:	72 6b                	jb     0x41afcb
41af60:	33 c0                	xor    %eax,%eax
41af62:	42                   	inc    %edx
41af63:	40                   	inc    %eax
41af64:	3b d0                	cmp    %eax,%edx
41af66:	72 e8                	jb     0x41af50
41af68:	8b 39                	mov    (%ecx),%edi
41af6a:	8d 41 04             	lea    0x4(%ecx),%eax
41af6d:	3b c1                	cmp    %ecx,%eax
41af6f:	72 5a                	jb     0x41afcb
41af71:	83 bd e0 f2 ff ff 02 	cmpl   $0x2,-0xd20(%ebp)
41af78:	76 b9                	jbe    0x41af33
41af7a:	8b 8d e8 f2 ff ff    	mov    -0xd18(%ebp),%ecx
41af80:	8b d3                	mov    %ebx,%edx
41af82:	8b 31                	mov    (%ecx),%esi
41af84:	8d 41 04             	lea    0x4(%ecx),%eax
41af87:	3b c1                	cmp    %ecx,%eax
41af89:	72 40                	jb     0x41afcb
41af8b:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
41af8e:	3b c8                	cmp    %eax,%ecx
41af90:	72 39                	jb     0x41afcb
41af92:	42                   	inc    %edx
41af93:	83 fa 02             	cmp    $0x2,%edx
41af96:	72 ea                	jb     0x41af82
41af98:	8b 11                	mov    (%ecx),%edx
41af9a:	8d 41 04             	lea    0x4(%ecx),%eax
41af9d:	3b c1                	cmp    %ecx,%eax
41af9f:	72 2a                	jb     0x41afcb
41afa1:	8d 47 30             	lea    0x30(%edi),%eax
41afa4:	83 f8 30             	cmp    $0x30,%eax
41afa7:	72 22                	jb     0x41afcb
41afa9:	8d 48 04             	lea    0x4(%eax),%ecx
41afac:	3b c8                	cmp    %eax,%ecx
41afae:	72 1b                	jb     0x41afcb
41afb0:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
41afb3:	3b f9                	cmp    %ecx,%edi
41afb5:	72 14                	jb     0x41afcb
41afb7:	8b f3                	mov    %ebx,%esi
41afb9:	81 ff 00 00 40 00    	cmp    $0x400000,%edi
41afbf:	76 11                	jbe    0x41afd2