41ebbf:	6a 0e                	push   $0xe
41ebc1:	51                   	push   %ecx
41ebc2:	8b 00                	mov    (%eax),%eax
41ebc4:	8b 70 3c             	mov    0x3c(%eax),%esi
41ebc7:	8b ce                	mov    %esi,%ecx
41ebc9:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ebcf:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41ebd2:	ff d6                	call   *%esi
41ebd4:	83 f8 0e             	cmp    $0xe,%eax
41ebd7:	75 71                	jne    0x41ec4a
41ebd9:	b8 42 4d 00 00       	mov    $0x4d42,%eax
41ebde:	66 39 45 ec          	cmp    %ax,-0x14(%ebp)
41ebe2:	75 66                	jne    0x41ec4a
41ebe4:	8b 45 f6             	mov    -0xa(%ebp),%eax
41ebe7:	83 f8 0e             	cmp    $0xe,%eax
41ebea:	73 04                	jae    0x41ebf0
41ebec:	85 c0                	test   %eax,%eax
41ebee:	75 5a                	jne    0x41ec4a
41ebf0:	3b c7                	cmp    %edi,%eax
41ebf2:	73 56                	jae    0x41ec4a
41ebf4:	83 ef 0e             	sub    $0xe,%edi
41ebf7:	85 c0                	test   %eax,%eax
41ebf9:	74 49                	je     0x41ec44
41ebfb:	83 c0 f2             	add    $0xfffffff2,%eax
41ebfe:	89 43 34             	mov    %eax,0x34(%ebx)
41ec01:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
41ec05:	74 07                	je     0x41ec0e
41ec07:	8b cb                	mov    %ebx,%ecx
41ec09:	e8 f0 f6 ff ff       	call   0x41e2fe
41ec0e:	89 7b 38             	mov    %edi,0x38(%ebx)
41ec11:	85 ff                	test   %edi,%edi
41ec13:	74 1c                	je     0x41ec31
41ec15:	57                   	push   %edi
41ec16:	6a 40                	push   $0x40
41ec18:	ff 15 58 72 4a 00    	call   *0x4a7258
41ec1e:	89 43 30             	mov    %eax,0x30(%ebx)
41ec21:	85 c0                	test   %eax,%eax
41ec23:	75 3b                	jne    0x41ec60
41ec25:	6a 01                	push   $0x1
41ec27:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41ec2c:	e8 48 f0 02 00       	call   0x44dc79
41ec31:	33 c0                	xor    %eax,%eax
41ec33:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ec36:	5f                   	pop    %edi
41ec37:	5e                   	pop    %esi
41ec38:	33 cd                	xor    %ebp,%ecx
41ec3a:	5b                   	pop    %ebx
41ec3b:	e8 c0 12 07 00       	call   0x48ff00
41ec40:	c9                   	leave
41ec41:	c2 08 00             	ret    $0x8
41ec44:	83 63 34 00          	andl   $0x0,0x34(%ebx)
41ec48:	eb b7                	jmp    0x41ec01
41ec4a:	c7 05 30 5c 4a 00 f4 	movl   $0x3f4,0x4a5c30
41ec51:	03 00 00
41ec54:	c7 05 48 5c 4a 00 04 	movl   $0x804,0x4a5c48
41ec5b:	08 00 00
41ec5e:	eb d1                	jmp    0x41ec31
41ec60:	50                   	push   %eax
41ec61:	ff 15 54 72 4a 00    	call   *0x4a7254
41ec67:	8b f0                	mov    %eax,%esi
41ec69:	89 75 d8             	mov    %esi,-0x28(%ebp)
41ec6c:	8b d6                	mov    %esi,%edx
41ec6e:	89 55 e0             	mov    %edx,-0x20(%ebp)
41ec71:	85 ff                	test   %edi,%edi
41ec73:	74 44                	je     0x41ecb9
41ec75:	81 ff 00 40 00 00    	cmp    $0x4000,%edi
41ec7b:	73 07                	jae    0x41ec84
41ec7d:	8b cf                	mov    %edi,%ecx
41ec7f:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41ec82:	eb 08                	jmp    0x41ec8c
41ec84:	b9 00 40 00 00       	mov    $0x4000,%ecx
41ec89:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41ec8c:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ec8f:	51                   	push   %ecx
41ec90:	52                   	push   %edx
41ec91:	8b 00                	mov    (%eax),%eax
41ec93:	8b 70 3c             	mov    0x3c(%eax),%esi
41ec96:	8b ce                	mov    %esi,%ecx
41ec98:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ec9e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41eca1:	ff d6                	call   *%esi
41eca3:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41eca6:	3b c1                	cmp    %ecx,%eax
41eca8:	75 48                	jne    0x41ecf2
41ecaa:	8b 55 e0             	mov    -0x20(%ebp),%edx
41ecad:	03 d1                	add    %ecx,%edx
41ecaf:	89 55 e0             	mov    %edx,-0x20(%ebp)
41ecb2:	2b f9                	sub    %ecx,%edi
41ecb4:	75 bf                	jne    0x41ec75
41ecb6:	8b 75 d8             	mov    -0x28(%ebp),%esi
41ecb9:	33 ff                	xor    %edi,%edi
41ecbb:	39 7b 34             	cmp    %edi,0x34(%ebx)
41ecbe:	75 0f                	jne    0x41eccf
41ecc0:	8b ce                	mov    %esi,%ecx
41ecc2:	e8 ab ec 00 00       	call   0x42d972
41ecc7:	0f b7 c0             	movzwl %ax,%eax
41ecca:	03 06                	add    (%esi),%eax
41eccc:	89 43 34             	mov    %eax,0x34(%ebx)
41eccf:	33 d2                	xor    %edx,%edx
41ecd1:	8b ce                	mov    %esi,%ecx
41ecd3:	e8 5d ec 00 00       	call   0x42d935
41ecd8:	0f b7 d0             	movzwl %ax,%edx
41ecdb:	8d 4a ff             	lea    -0x1(%edx),%ecx
41ecde:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
41ece4:	77 3e                	ja     0x41ed24
41ece6:	6a 02                	push   $0x2
41ece8:	59                   	pop    %ecx
41ece9:	3b d1                	cmp    %ecx,%edx
41eceb:	77 1b                	ja     0x41ed08
41eced:	89 7b 10             	mov    %edi,0x10(%ebx)
41ecf0:	eb 39                	jmp    0x41ed2b
41ecf2:	c7 05 30 5c 4a 00 e9 	movl   $0x3e9,0x4a5c30
41ecf9:	03 00 00
41ecfc:	c7 05 48 5c 4a 00 04 	movl   $0x804,0x4a5c48
41ed03:	08 00 00
41ed06:	eb 36                	jmp    0x41ed3e
41ed08:	8d 7b 14             	lea    0x14(%ebx),%edi
41ed0b:	be 2c 38 41 00       	mov    $0x41382c,%esi
41ed10:	66 83 f8 10          	cmp    $0x10,%ax
41ed14:	77 09                	ja     0x41ed1f
41ed16:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%ebx)
41ed1d:	eb 14                	jmp    0x41ed33
41ed1f:	89 4b 10             	mov    %ecx,0x10(%ebx)
41ed22:	eb 0f                	jmp    0x41ed33
41ed24:	c7 43 10 03 00 00 00 	movl   $0x3,0x10(%ebx)
41ed2b:	8d 7b 14             	lea    0x14(%ebx),%edi
41ed2e:	be 2c 38 41 00       	mov    $0x41382c,%esi
41ed33:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ed34:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
41ed3b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ed3c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ed3d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41ed3e:	ff 73 30             	push   0x30(%ebx)
41ed41:	ff 15 50 72 4a 00    	call   *0x4a7250
41ed47:	8b 45 dc             	mov    -0x24(%ebp),%eax
41ed4a:	e9 e4 fe ff ff       	jmp    0x41ec33
41ed4f:	8b ff                	mov    %edi,%edi
41ed51:	55                   	push   %ebp
41ed52:	8b ec                	mov    %esp,%ebp
41ed54:	51                   	push   %ecx
41ed55:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ed59:	53                   	push   %ebx
41ed5a:	56                   	push   %esi
41ed5b:	ff 75 08             	push   0x8(%ebp)
41ed5e:	8b d9                	mov    %ecx,%ebx
41ed60:	ff 15 54 72 4a 00    	call   *0x4a7254
41ed66:	8b f0                	mov    %eax,%esi
41ed68:	85 f6                	test   %esi,%esi
41ed6a:	0f 84 b2 00 00 00    	je     0x41ee22
41ed70:	8b 16                	mov    (%esi),%edx
41ed72:	83 fa 28             	cmp    $0x28,%edx
41ed75:	74 0e                	je     0x41ed85
41ed77:	83 fa 6c             	cmp    $0x6c,%edx
41ed7a:	74 09                	je     0x41ed85
41ed7c:	83 fa 7c             	cmp    $0x7c,%edx
41ed7f:	0f 85 84 00 00 00    	jne    0x41ee09
41ed85:	8b 46 20             	mov    0x20(%esi),%eax
41ed88:	57                   	push   %edi
41ed89:	8d 3c 82             	lea    (%edx,%eax,4),%edi
41ed8c:	85 c0                	test   %eax,%eax
41ed8e:	75 0f                	jne    0x41ed9f
41ed90:	0f b7 4e 0e          	movzwl 0xe(%esi),%ecx
41ed94:	83 f9 08             	cmp    $0x8,%ecx
41ed97:	77 06                	ja     0x41ed9f
41ed99:	40                   	inc    %eax
41ed9a:	d3 e0                	shl    %cl,%eax
41ed9c:	8d 3c 87             	lea    (%edi,%eax,4),%edi
41ed9f:	3b fa                	cmp    %edx,%edi
41eda1:	72 6b                	jb     0x41ee0e
41eda3:	8b 46 14             	mov    0x14(%esi),%eax
41eda6:	85 c0                	test   %eax,%eax
41eda8:	74 0a                	je     0x41edb4
41edaa:	99                   	cltd
41edab:	33 c2                	xor    %edx,%eax
41edad:	2b c2                	sub    %edx,%eax
41edaf:	89 46 14             	mov    %eax,0x14(%esi)
41edb2:	eb 24                	jmp    0x41edd8
41edb4:	8b 46 08             	mov    0x8(%esi),%eax
41edb7:	99                   	cltd
41edb8:	8b c8                	mov    %eax,%ecx
41edba:	0f b7 46 0e          	movzwl 0xe(%esi),%eax
41edbe:	0f af 46 04          	imul   0x4(%esi),%eax
41edc2:	33 ca                	xor    %edx,%ecx
41edc4:	2b ca                	sub    %edx,%ecx
41edc6:	83 c0 1f             	add    $0x1f,%eax
41edc9:	83 e0 e0             	and    $0xffffffe0,%eax
41edcc:	0f af c1             	imul   %ecx,%eax
41edcf:	99                   	cltd
41edd0:	83 e2 07             	and    $0x7,%edx
41edd3:	03 c2                	add    %edx,%eax
41edd5:	c1 f8 03             	sar    $0x3,%eax
41edd8:	8d 34 38             	lea    (%eax,%edi,1),%esi
41eddb:	85 f6                	test   %esi,%esi
41eddd:	7e 2f                	jle    0x41ee0e
41eddf:	3b f7                	cmp    %edi,%esi
41ede1:	76 2b                	jbe    0x41ee0e
41ede3:	3b f0                	cmp    %eax,%esi
41ede5:	76 27                	jbe    0x41ee0e
41ede7:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
41edeb:	74 07                	je     0x41edf4
41eded:	8b cb                	mov    %ebx,%ecx
41edef:	e8 0a f5 ff ff       	call   0x41e2fe
41edf4:	8b 45 08             	mov    0x8(%ebp),%eax
41edf7:	89 43 30             	mov    %eax,0x30(%ebx)
41edfa:	89 7b 34             	mov    %edi,0x34(%ebx)
41edfd:	89 73 38             	mov    %esi,0x38(%ebx)
41ee00:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41ee07:	eb 08                	jmp    0x41ee11
41ee09:	8b 45 08             	mov    0x8(%ebp),%eax
41ee0c:	eb 04                	jmp    0x41ee12
41ee0e:	8b 45 08             	mov    0x8(%ebp),%eax
41ee11:	5f                   	pop    %edi
41ee12:	50                   	push   %eax
41ee13:	ff 15 50 72 4a 00    	call   *0x4a7250
41ee19:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ee1c:	85 c0                	test   %eax,%eax
41ee1e:	75 18                	jne    0x41ee38
41ee20:	eb 02                	jmp    0x41ee24
41ee22:	33 c0                	xor    %eax,%eax
41ee24:	c7 05 30 5c 4a 00 f4 	movl   $0x3f4,0x4a5c30
41ee2b:	03 00 00
41ee2e:	c7 05 48 5c 4a 00 04 	movl   $0x804,0x4a5c48
41ee35:	08 00 00
41ee38:	5e                   	pop    %esi
41ee39:	5b                   	pop    %ebx
41ee3a:	c9                   	leave
41ee3b:	c2 04 00             	ret    $0x4
41ee3e:	8b ff                	mov    %edi,%edi
41ee40:	55                   	push   %ebp
41ee41:	8b ec                	mov    %esp,%ebp
41ee43:	83 e4 f8             	and    $0xfffffff8,%esp
41ee46:	51                   	push   %ecx
41ee47:	53                   	push   %ebx
41ee48:	56                   	push   %esi
41ee49:	57                   	push   %edi
41ee4a:	8b f9                	mov    %ecx,%edi
41ee4c:	8b 4f 04             	mov    0x4(%edi),%ecx
41ee4f:	e8 56 de 00 00       	call   0x42ccaa
41ee54:	e8 9b f1 00 00       	call   0x42dff4
41ee59:	e8 9d e1 00 00       	call   0x42cffb
41ee5e:	83 67 04 00          	andl   $0x0,0x4(%edi)
41ee62:	8b cf                	mov    %edi,%ecx
41ee64:	e8 c8 f5 ff ff       	call   0x41e431
41ee69:	85 c0                	test   %eax,%eax
41ee6b:	74 6f                	je     0x41eedc
41ee6d:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ee70:	8b 03                	mov    (%ebx),%eax
41ee72:	8b 70 68             	mov    0x68(%eax),%esi
41ee75:	8b ce                	mov    %esi,%ecx
41ee77:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ee7d:	8b cb                	mov    %ebx,%ecx
41ee7f:	ff d6                	call   *%esi
41ee81:	89 44 24 0c          	mov    %eax,0xc(%esp)
41ee85:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
41ee89:	8b 03                	mov    (%ebx),%eax
41ee8b:	51                   	push   %ecx
41ee8c:	8b 70 6c             	mov    0x6c(%eax),%esi
41ee8f:	8b ce                	mov    %esi,%ecx
41ee91:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ee97:	8b cb                	mov    %ebx,%ecx
41ee99:	ff d6                	call   *%esi
41ee9b:	8b d8                	mov    %eax,%ebx
41ee9d:	85 db                	test   %ebx,%ebx
41ee9f:	74 3b                	je     0x41eedc
41eea1:	8b 4f 04             	mov    0x4(%edi),%ecx
41eea4:	8b 73 48             	mov    0x48(%ebx),%esi
41eea7:	8b 11                	mov    (%ecx),%edx
41eea9:	89 56 50             	mov    %edx,0x50(%esi)
41eeac:	89 31                	mov    %esi,(%ecx)
41eeae:	89 4e 48             	mov    %ecx,0x48(%esi)
41eeb1:	3b 0d 4c 65 4a 00    	cmp    0x4a654c,%ecx
41eeb7:	74 0b                	je     0x41eec4
41eeb9:	89 0d 4c 65 4a 00    	mov    %ecx,0x4a654c
41eebf:	e8 b6 e4 00 00       	call   0x42d37a
41eec4:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eec7:	6a 00                	push   $0x0
41eec9:	6a 00                	push   $0x0
41eecb:	53                   	push   %ebx
41eecc:	ff 15 7c 75 4a 00    	call   *0x4a757c
41eed2:	8b 4f 04             	mov    0x4(%edi),%ecx
41eed5:	33 d2                	xor    %edx,%edx
41eed7:	e8 00 df 00 00       	call   0x42cddc
41eedc:	5f                   	pop    %edi
41eedd:	5e                   	pop    %esi
41eede:	5b                   	pop    %ebx
41eedf:	8b e5                	mov    %ebp,%esp
41eee1:	5d                   	pop    %ebp
41eee2:	c2 04 00             	ret    $0x4
41eee5:	6a 40                	push   $0x40
41eee7:	b8 54 17 49 00       	mov    $0x491754,%eax
41eeec:	e8 e2 15 07 00       	call   0x4904d3
41eef1:	89 55 ec             	mov    %edx,-0x14(%ebp)
41eef4:	8b f1                	mov    %ecx,%esi
41eef6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41eef9:	ff 15 80 75 4a 00    	call   *0x4a7580
41eeff:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ef03:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41ef06:	ff 15 80 75 4a 00    	call   *0x4a7580
41ef0c:	33 db                	xor    %ebx,%ebx
41ef0e:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41ef11:	43                   	inc    %ebx
41ef12:	88 5d fc             	mov    %bl,-0x4(%ebp)
41ef15:	ff 15 80 75 4a 00    	call   *0x4a7580
41ef1b:	56                   	push   %esi
41ef1c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41ef1f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41ef23:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef29:	ff 75 14             	push   0x14(%ebp)
41ef2c:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41ef2f:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef35:	ff 75 d8             	push   -0x28(%ebp)
41ef38:	ff 15 74 71 4a 00    	call   *0x4a7174
41ef3e:	50                   	push   %eax
41ef3f:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41ef42:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef48:	8b f0                	mov    %eax,%esi
41ef4a:	8b cb                	mov    %ebx,%ecx
41ef4c:	b8 00 00 01 00       	mov    $0x10000,%eax
41ef51:	99                   	cltd
41ef52:	f7 7d 0c             	idivl  0xc(%ebp)
41ef55:	8b f8                	mov    %eax,%edi
41ef57:	3b fb                	cmp    %ebx,%edi
41ef59:	7c 02                	jl     0x41ef5d
41ef5b:	8b cf                	mov    %edi,%ecx
41ef5d:	39 4d 10             	cmp    %ecx,0x10(%ebp)
41ef60:	7d 05                	jge    0x41ef67
41ef62:	8b 7d 10             	mov    0x10(%ebp),%edi
41ef65:	eb 06                	jmp    0x41ef6d
41ef67:	3b fb                	cmp    %ebx,%edi
41ef69:	7d 02                	jge    0x41ef6d
41ef6b:	8b fb                	mov    %ebx,%edi
41ef6d:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
41ef71:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
41ef78:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41ef7c:	85 f6                	test   %esi,%esi
41ef7e:	0f 84 de 00 00 00    	je     0x41f062
41ef84:	57                   	push   %edi
41ef85:	ff 75 0c             	push   0xc(%ebp)
41ef88:	ff 75 d8             	push   -0x28(%ebp)
41ef8b:	ff 15 78 71 4a 00    	call   *0x4a7178
41ef91:	50                   	push   %eax
41ef92:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41ef95:	ff 15 8c 75 4a 00    	call   *0x4a758c
41ef9b:	85 c0                	test   %eax,%eax
41ef9d:	0f 84 bf 00 00 00    	je     0x41f062
41efa3:	ff 75 e8             	push   -0x18(%ebp)
41efa6:	ff 75 c8             	push   -0x38(%ebp)
41efa9:	ff 15 90 75 4a 00    	call   *0x4a7590
41efaf:	85 c0                	test   %eax,%eax
41efb1:	0f 84 ab 00 00 00    	je     0x41f062