41ebfb:	0f b7 1d 62 fb 43 00 	movzwl 0x43fb62,%ebx
41ec02:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41ec05:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ec08:	66 39 35 54 fb 43 00 	cmp    %si,0x43fb54
41ec0f:	75 13                	jne    0x41ec24
41ec11:	0f b7 15 5a fb 43 00 	movzwl 0x43fb5a,%edx
41ec18:	33 c0                	xor    %eax,%eax
41ec1a:	0f b7 3d 58 fb 43 00 	movzwl 0x43fb58,%edi
41ec21:	40                   	inc    %eax
41ec22:	eb 0d                	jmp    0x41ec31
41ec24:	8b c6                	mov    %esi,%eax
41ec26:	8b d6                	mov    %esi,%edx
41ec28:	8b fe                	mov    %esi,%edi
41ec2a:	0f b7 35 5a fb 43 00 	movzwl 0x43fb5a,%esi
41ec31:	ff 75 e4             	push   -0x1c(%ebp)
41ec34:	ff 75 e8             	push   -0x18(%ebp)
41ec37:	ff 75 ec             	push   -0x14(%ebp)
41ec3a:	ff 75 f0             	push   -0x10(%ebp)
41ec3d:	56                   	push   %esi
41ec3e:	57                   	push   %edi
41ec3f:	52                   	push   %edx
41ec40:	51                   	push   %ecx
41ec41:	ff 73 14             	push   0x14(%ebx)
41ec44:	50                   	push   %eax
41ec45:	6a 01                	push   $0x1
41ec47:	e8 d4 00 00 00       	call   0x41ed20
41ec4c:	83 c4 2c             	add    $0x2c,%esp
41ec4f:	eb 58                	jmp    0x41eca9
41ec51:	56                   	push   %esi
41ec52:	56                   	push   %esi
41ec53:	56                   	push   %esi
41ec54:	33 c0                	xor    %eax,%eax
41ec56:	83 ff 6b             	cmp    $0x6b,%edi
41ec59:	6a 02                	push   $0x2
41ec5b:	56                   	push   %esi
41ec5c:	0f 9d c0             	setge  %al
41ec5f:	40                   	inc    %eax
41ec60:	56                   	push   %esi
41ec61:	50                   	push   %eax
41ec62:	33 c0                	xor    %eax,%eax
41ec64:	83 ff 6b             	cmp    $0x6b,%edi
41ec67:	0f 9c c0             	setl   %al
41ec6a:	83 c0 03             	add    $0x3,%eax
41ec6d:	50                   	push   %eax
41ec6e:	57                   	push   %edi
41ec6f:	6a 01                	push   $0x1
41ec71:	56                   	push   %esi
41ec72:	e8 a9 00 00 00       	call   0x41ed20
41ec77:	56                   	push   %esi
41ec78:	56                   	push   %esi
41ec79:	33 c0                	xor    %eax,%eax
41ec7b:	83 ff 6b             	cmp    $0x6b,%edi
41ec7e:	56                   	push   %esi
41ec7f:	6a 02                	push   $0x2
41ec81:	0f 9c c0             	setl   %al
41ec84:	56                   	push   %esi
41ec85:	56                   	push   %esi
41ec86:	8d 04 85 01 00 00 00 	lea    0x1(,%eax,4),%eax
41ec8d:	50                   	push   %eax
41ec8e:	33 c0                	xor    %eax,%eax
41ec90:	83 ff 6b             	cmp    $0x6b,%edi
41ec93:	0f 9d c0             	setge  %al
41ec96:	83 c0 0a             	add    $0xa,%eax
41ec99:	50                   	push   %eax
41ec9a:	ff 73 14             	push   0x14(%ebx)
41ec9d:	6a 01                	push   $0x1
41ec9f:	6a 01                	push   $0x1
41eca1:	e8 7a 00 00 00       	call   0x41ed20
41eca6:	83 c4 58             	add    $0x58,%esp
41eca9:	8b 15 a4 d4 43 00    	mov    0x43d4a4,%edx
41ecaf:	a1 b0 d4 43 00       	mov    0x43d4b0,%eax
41ecb4:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41ecb7:	5f                   	pop    %edi
41ecb8:	3b d0                	cmp    %eax,%edx
41ecba:	7d 17                	jge    0x41ecd3
41ecbc:	3b ca                	cmp    %edx,%ecx
41ecbe:	7c 51                	jl     0x41ed11
41ecc0:	3b c8                	cmp    %eax,%ecx
41ecc2:	7f 4d                	jg     0x41ed11
41ecc4:	3b ca                	cmp    %edx,%ecx
41ecc6:	7e 1b                	jle    0x41ece3
41ecc8:	3b c8                	cmp    %eax,%ecx
41ecca:	7d 17                	jge    0x41ece3
41eccc:	33 c0                	xor    %eax,%eax
41ecce:	40                   	inc    %eax
41eccf:	5e                   	pop    %esi
41ecd0:	5b                   	pop    %ebx
41ecd1:	c9                   	leave
41ecd2:	c3                   	ret
41ecd3:	3b c8                	cmp    %eax,%ecx
41ecd5:	7c f5                	jl     0x41eccc
41ecd7:	3b ca                	cmp    %edx,%ecx
41ecd9:	7f f1                	jg     0x41eccc
41ecdb:	3b c8                	cmp    %eax,%ecx
41ecdd:	7e 04                	jle    0x41ece3
41ecdf:	3b ca                	cmp    %edx,%ecx
41ece1:	7c 2e                	jl     0x41ed11
41ece3:	6b 43 08 3c          	imul   $0x3c,0x8(%ebx),%eax
41ece7:	03 43 04             	add    0x4(%ebx),%eax
41ecea:	6b c0 3c             	imul   $0x3c,%eax,%eax
41eced:	03 03                	add    (%ebx),%eax
41ecef:	69 f0 e8 03 00 00    	imul   $0x3e8,%eax,%esi
41ecf5:	33 c0                	xor    %eax,%eax
41ecf7:	3b ca                	cmp    %edx,%ecx
41ecf9:	75 0b                	jne    0x41ed06
41ecfb:	3b 35 a8 d4 43 00    	cmp    0x43d4a8,%esi
41ed01:	0f 9d c0             	setge  %al
41ed04:	eb c9                	jmp    0x41eccf
41ed06:	3b 35 b4 d4 43 00    	cmp    0x43d4b4,%esi
41ed0c:	0f 9c c0             	setl   %al
41ed0f:	eb be                	jmp    0x41eccf
41ed11:	33 c0                	xor    %eax,%eax
41ed13:	eb ba                	jmp    0x41eccf
41ed15:	56                   	push   %esi
41ed16:	56                   	push   %esi
41ed17:	56                   	push   %esi
41ed18:	56                   	push   %esi
41ed19:	56                   	push   %esi
41ed1a:	e8 fc e6 fe ff       	call   0x40d41b
41ed1f:	cc                   	int3
41ed20:	8b ff                	mov    %edi,%edi
41ed22:	55                   	push   %ebp
41ed23:	8b ec                	mov    %esp,%ebp
41ed25:	51                   	push   %ecx
41ed26:	51                   	push   %ecx
41ed27:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41ed2b:	53                   	push   %ebx
41ed2c:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ed2f:	56                   	push   %esi
41ed30:	53                   	push   %ebx
41ed31:	e8 7f fb ff ff       	call   0x41e8b5
41ed36:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
41ed3a:	8b 75 14             	mov    0x14(%ebp),%esi
41ed3d:	59                   	pop    %ecx
41ed3e:	88 45 ff             	mov    %al,-0x1(%ebp)
41ed41:	75 6c                	jne    0x41edaf
41ed43:	8d 1c b5 b8 77 43 00 	lea    0x4377b8(,%esi,4),%ebx
41ed4a:	57                   	push   %edi
41ed4b:	8d 3c b5 ec 77 43 00 	lea    0x4377ec(,%esi,4),%edi
41ed52:	84 c0                	test   %al,%al
41ed54:	74 05                	je     0x41ed5b
41ed56:	8b 77 fc             	mov    -0x4(%edi),%esi
41ed59:	eb 03                	jmp    0x41ed5e
41ed5b:	8b 73 fc             	mov    -0x4(%ebx),%esi
41ed5e:	ff 75 10             	push   0x10(%ebp)
41ed61:	46                   	inc    %esi
41ed62:	e8 14 fb ff ff       	call   0x41e87b
41ed67:	59                   	pop    %ecx
41ed68:	69 4d 10 6d 01 00 00 	imul   $0x16d,0x10(%ebp),%ecx
41ed6f:	03 c6                	add    %esi,%eax
41ed71:	6a 07                	push   $0x7
41ed73:	81 c1 36 9c ff ff    	add    $0xffff9c36,%ecx
41ed79:	03 c1                	add    %ecx,%eax
41ed7b:	59                   	pop    %ecx
41ed7c:	99                   	cltd
41ed7d:	f7 f9                	idiv   %ecx
41ed7f:	6b 4d 18 07          	imul   $0x7,0x18(%ebp),%ecx
41ed83:	2b ca                	sub    %edx,%ecx
41ed85:	03 f1                	add    %ecx,%esi
41ed87:	03 75 1c             	add    0x1c(%ebp),%esi
41ed8a:	3b 55 1c             	cmp    0x1c(%ebp),%edx
41ed8d:	7f 03                	jg     0x41ed92
41ed8f:	83 c6 f9             	add    $0xfffffff9,%esi
41ed92:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41ed96:	75 02                	jne    0x41ed9a
41ed98:	8b fb                	mov    %ebx,%edi
41ed9a:	83 7d 18 05          	cmpl   $0x5,0x18(%ebp)
41ed9e:	8b 07                	mov    (%edi),%eax
41eda0:	8b 5d 10             	mov    0x10(%ebp),%ebx
41eda3:	5f                   	pop    %edi
41eda4:	75 20                	jne    0x41edc6
41eda6:	3b f0                	cmp    %eax,%esi
41eda8:	7e 1c                	jle    0x41edc6
41edaa:	83 ee 07             	sub    $0x7,%esi
41edad:	eb 17                	jmp    0x41edc6
41edaf:	84 c0                	test   %al,%al
41edb1:	74 09                	je     0x41edbc
41edb3:	8b 34 b5 e8 77 43 00 	mov    0x4377e8(,%esi,4),%esi
41edba:	eb 07                	jmp    0x41edc3
41edbc:	8b 34 b5 b4 77 43 00 	mov    0x4377b4(,%esi,4),%esi
41edc3:	03 75 20             	add    0x20(%ebp),%esi
41edc6:	6b 45 24 3c          	imul   $0x3c,0x24(%ebp),%eax
41edca:	03 45 28             	add    0x28(%ebp),%eax
41edcd:	6b c0 3c             	imul   $0x3c,%eax,%eax
41edd0:	03 45 2c             	add    0x2c(%ebp),%eax
41edd3:	69 c8 e8 03 00 00    	imul   $0x3e8,%eax,%ecx
41edd9:	8b 45 30             	mov    0x30(%ebp),%eax
41eddc:	03 c1                	add    %ecx,%eax
41edde:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41ede2:	75 15                	jne    0x41edf9
41ede4:	89 35 a4 d4 43 00    	mov    %esi,0x43d4a4
41edea:	a3 a8 d4 43 00       	mov    %eax,0x43d4a8
41edef:	89 1d a0 d4 43 00    	mov    %ebx,0x43d4a0
41edf5:	5e                   	pop    %esi
41edf6:	5b                   	pop    %ebx
41edf7:	c9                   	leave
41edf8:	c3                   	ret
41edf9:	a3 b4 d4 43 00       	mov    %eax,0x43d4b4
41edfe:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ee01:	50                   	push   %eax
41ee02:	89 35 b0 d4 43 00    	mov    %esi,0x43d4b0
41ee08:	e8 16 fa ff ff       	call   0x41e823
41ee0d:	59                   	pop    %ecx
41ee0e:	85 c0                	test   %eax,%eax
41ee10:	75 41                	jne    0x41ee53
41ee12:	69 4d f8 e8 03 00 00 	imul   $0x3e8,-0x8(%ebp),%ecx
41ee19:	a1 b4 d4 43 00       	mov    0x43d4b4,%eax
41ee1e:	03 c1                	add    %ecx,%eax
41ee20:	a3 b4 d4 43 00       	mov    %eax,0x43d4b4
41ee25:	79 0d                	jns    0x41ee34
41ee27:	05 00 5c 26 05       	add    $0x5265c00,%eax
41ee2c:	ff 0d b0 d4 43 00    	decl   0x43d4b0
41ee32:	eb 12                	jmp    0x41ee46
41ee34:	3d 00 5c 26 05       	cmp    $0x5265c00,%eax
41ee39:	7c 10                	jl     0x41ee4b
41ee3b:	05 00 a4 d9 fa       	add    $0xfad9a400,%eax
41ee40:	ff 05 b0 d4 43 00    	incl   0x43d4b0
41ee46:	a3 b4 d4 43 00       	mov    %eax,0x43d4b4
41ee4b:	89 1d ac d4 43 00    	mov    %ebx,0x43d4ac
41ee51:	eb a2                	jmp    0x41edf5
41ee53:	6a 00                	push   $0x0
41ee55:	6a 00                	push   $0x0
41ee57:	6a 00                	push   $0x0
41ee59:	6a 00                	push   $0x0
41ee5b:	6a 00                	push   $0x0
41ee5d:	e8 b9 e5 fe ff       	call   0x40d41b
41ee62:	cc                   	int3
41ee63:	8b ff                	mov    %edi,%edi
41ee65:	55                   	push   %ebp
41ee66:	8b ec                	mov    %esp,%ebp
41ee68:	51                   	push   %ecx
41ee69:	51                   	push   %ecx
41ee6a:	57                   	push   %edi
41ee6b:	bf d8 48 43 00       	mov    $0x4348d8,%edi
41ee70:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ee73:	57                   	push   %edi
41ee74:	68 00 01 00 00       	push   $0x100
41ee79:	ff 75 08             	push   0x8(%ebp)
41ee7c:	50                   	push   %eax
41ee7d:	e8 75 96 00 00       	call   0x4284f7
41ee82:	83 c4 10             	add    $0x10,%esp
41ee85:	85 c0                	test   %eax,%eax
41ee87:	75 05                	jne    0x41ee8e
41ee89:	8b 45 08             	mov    0x8(%ebp),%eax
41ee8c:	eb 49                	jmp    0x41eed7
41ee8e:	83 f8 22             	cmp    $0x22,%eax
41ee91:	74 04                	je     0x41ee97
41ee93:	33 c0                	xor    %eax,%eax
41ee95:	eb 40                	jmp    0x41eed7
41ee97:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ee9a:	03 c0                	add    %eax,%eax
41ee9c:	56                   	push   %esi
41ee9d:	50                   	push   %eax
41ee9e:	e8 8d 7d fe ff       	call   0x406c30
41eea3:	8b f0                	mov    %eax,%esi
41eea5:	59                   	pop    %ecx
41eea6:	85 f6                	test   %esi,%esi
41eea8:	75 0a                	jne    0x41eeb4
41eeaa:	50                   	push   %eax
41eeab:	e8 60 7d fe ff       	call   0x406c10
41eeb0:	33 c0                	xor    %eax,%eax
41eeb2:	eb 21                	jmp    0x41eed5
41eeb4:	57                   	push   %edi
41eeb5:	ff 75 fc             	push   -0x4(%ebp)
41eeb8:	8d 45 f8             	lea    -0x8(%ebp),%eax
41eebb:	56                   	push   %esi
41eebc:	50                   	push   %eax
41eebd:	e8 35 96 00 00       	call   0x4284f7
41eec2:	83 c4 10             	add    $0x10,%esp
41eec5:	85 c0                	test   %eax,%eax
41eec7:	74 03                	je     0x41eecc
41eec9:	56                   	push   %esi
41eeca:	eb df                	jmp    0x41eeab
41eecc:	6a 00                	push   $0x0
41eece:	e8 3d 7d fe ff       	call   0x406c10
41eed3:	8b c6                	mov    %esi,%eax
41eed5:	59                   	pop    %ecx
41eed6:	5e                   	pop    %esi
41eed7:	5f                   	pop    %edi
41eed8:	c9                   	leave
41eed9:	c3                   	ret
41eeda:	8b ff                	mov    %edi,%edi
41eedc:	55                   	push   %ebp
41eedd:	8b ec                	mov    %esp,%ebp
41eedf:	ff 75 14             	push   0x14(%ebp)
41eee2:	ff 75 08             	push   0x8(%ebp)
41eee5:	6a 40                	push   $0x40
41eee7:	ff 75 0c             	push   0xc(%ebp)
41eeea:	e8 de 2e 00 00       	call   0x421dcd
41eeef:	83 c4 10             	add    $0x10,%esp
41eef2:	85 c0                	test   %eax,%eax
41eef4:	75 1e                	jne    0x41ef14
41eef6:	50                   	push   %eax
41eef7:	50                   	push   %eax
41eef8:	6a 3f                	push   $0x3f
41eefa:	ff 75 10             	push   0x10(%ebp)
41eefd:	ff 75 14             	push   0x14(%ebp)
41ef00:	ff 75 0c             	push   0xc(%ebp)
41ef03:	50                   	push   %eax
41ef04:	e8 bf 96 ff ff       	call   0x4185c8
41ef09:	50                   	push   %eax
41ef0a:	e8 db 3e 00 00       	call   0x422dea
41ef0f:	83 c4 20             	add    $0x20,%esp
41ef12:	5d                   	pop    %ebp
41ef13:	c3                   	ret
41ef14:	33 c0                	xor    %eax,%eax
41ef16:	50                   	push   %eax
41ef17:	50                   	push   %eax
41ef18:	50                   	push   %eax
41ef19:	50                   	push   %eax
41ef1a:	50                   	push   %eax
41ef1b:	e8 fb e4 fe ff       	call   0x40d41b
41ef20:	cc                   	int3
41ef21:	8b ff                	mov    %edi,%edi
41ef23:	55                   	push   %ebp
41ef24:	8b ec                	mov    %esp,%ebp
41ef26:	83 ec 1c             	sub    $0x1c,%esp
41ef29:	53                   	push   %ebx
41ef2a:	56                   	push   %esi
41ef2b:	57                   	push   %edi
41ef2c:	e8 ba f8 ff ff       	call   0x41e7eb
41ef31:	8b d8                	mov    %eax,%ebx
41ef33:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41ef36:	e8 b6 f8 ff ff       	call   0x41e7f1
41ef3b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ef3e:	33 f6                	xor    %esi,%esi
41ef40:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ef43:	89 75 e8             	mov    %esi,-0x18(%ebp)
41ef46:	50                   	push   %eax
41ef47:	89 75 fc             	mov    %esi,-0x4(%ebp)
41ef4a:	89 75 f8             	mov    %esi,-0x8(%ebp)
41ef4d:	e8 fd f8 ff ff       	call   0x41e84f
41ef52:	59                   	pop    %ecx
41ef53:	85 c0                	test   %eax,%eax
41ef55:	0f 85 4d 02 00 00    	jne    0x41f1a8
41ef5b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ef5e:	50                   	push   %eax
41ef5f:	e8 93 f8 ff ff       	call   0x41e7f7
41ef64:	59                   	pop    %ecx
41ef65:	85 c0                	test   %eax,%eax
41ef67:	0f 85 3b 02 00 00    	jne    0x41f1a8
41ef6d:	a1 04 fb 43 00       	mov    0x43fb04,%eax
41ef72:	8b 7d 08             	mov    0x8(%ebp),%edi
41ef75:	85 c0                	test   %eax,%eax
41ef77:	74 31                	je     0x41efaa
41ef79:	8b cf                	mov    %edi,%ecx
41ef7b:	66 8b 11             	mov    (%ecx),%dx
41ef7e:	66 3b 10             	cmp    (%eax),%dx
41ef81:	75 1e                	jne    0x41efa1
41ef83:	66 85 d2             	test   %dx,%dx