41ea0e:	53                   	push   %ebx
41ea0f:	e8 fc b4 fe ff       	call   0x409f10
41ea14:	b9 10 0e 00 00       	mov    $0xe10,%ecx
41ea19:	89 46 08             	mov    %eax,0x8(%esi)
41ea1c:	f7 e9                	imul   %ecx
41ea1e:	6a 00                	push   $0x0
41ea20:	2b d8                	sub    %eax,%ebx
41ea22:	6a 3c                	push   $0x3c
41ea24:	1b fa                	sbb    %edx,%edi
41ea26:	57                   	push   %edi
41ea27:	53                   	push   %ebx
41ea28:	e8 e3 b4 fe ff       	call   0x409f10
41ea2d:	83 66 20 00          	andl   $0x0,0x20(%esi)
41ea31:	89 46 04             	mov    %eax,0x4(%esi)
41ea34:	6b c0 3c             	imul   $0x3c,%eax,%eax
41ea37:	2b d8                	sub    %eax,%ebx
41ea39:	33 c0                	xor    %eax,%eax
41ea3b:	89 1e                	mov    %ebx,(%esi)
41ea3d:	5b                   	pop    %ebx
41ea3e:	5f                   	pop    %edi
41ea3f:	5e                   	pop    %esi
41ea40:	c9                   	leave
41ea41:	c3                   	ret
41ea42:	8b ff                	mov    %edi,%edi
41ea44:	55                   	push   %ebp
41ea45:	8b ec                	mov    %esp,%ebp
41ea47:	51                   	push   %ecx
41ea48:	51                   	push   %ecx
41ea49:	8b 45 08             	mov    0x8(%ebp),%eax
41ea4c:	b9 80 33 e1 01       	mov    $0x1e13380,%ecx
41ea51:	53                   	push   %ebx
41ea52:	56                   	push   %esi
41ea53:	57                   	push   %edi
41ea54:	8b 18                	mov    (%eax),%ebx
41ea56:	8b 40 04             	mov    0x4(%eax),%eax
41ea59:	6a 00                	push   $0x0
41ea5b:	51                   	push   %ecx
41ea5c:	50                   	push   %eax
41ea5d:	53                   	push   %ebx
41ea5e:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ea61:	e8 aa b4 fe ff       	call   0x409f10
41ea66:	8b f8                	mov    %eax,%edi
41ea68:	8d 47 46             	lea    0x46(%edi),%eax
41ea6b:	50                   	push   %eax
41ea6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ea6f:	e8 07 fe ff ff       	call   0x41e87b
41ea74:	59                   	pop    %ecx
41ea75:	b9 80 51 01 00       	mov    $0x15180,%ecx
41ea7a:	f7 e9                	imul   %ecx
41ea7c:	8b f2                	mov    %edx,%esi
41ea7e:	8b c8                	mov    %eax,%ecx
41ea80:	8b c7                	mov    %edi,%eax
41ea82:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
41ea87:	8b 7d f8             	mov    -0x8(%ebp),%edi
41ea8a:	f7 ea                	imul   %edx
41ea8c:	2b d8                	sub    %eax,%ebx
41ea8e:	1b fa                	sbb    %edx,%edi
41ea90:	2b d9                	sub    %ecx,%ebx
41ea92:	1b fe                	sbb    %esi,%edi
41ea94:	8b 75 08             	mov    0x8(%ebp),%esi
41ea97:	89 1e                	mov    %ebx,(%esi)
41ea99:	89 7e 04             	mov    %edi,0x4(%esi)
41ea9c:	85 ff                	test   %edi,%edi
41ea9e:	7f 45                	jg     0x41eae5
41eaa0:	7c 04                	jl     0x41eaa6
41eaa2:	85 db                	test   %ebx,%ebx
41eaa4:	73 3f                	jae    0x41eae5
41eaa6:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
41eaab:	03 d8                	add    %eax,%ebx
41eaad:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eab0:	89 1e                	mov    %ebx,(%esi)
41eab2:	83 d7 00             	adc    $0x0,%edi
41eab5:	48                   	dec    %eax
41eab6:	50                   	push   %eax
41eab7:	89 7e 04             	mov    %edi,0x4(%esi)
41eaba:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eabd:	e8 f3 fd ff ff       	call   0x41e8b5
41eac2:	59                   	pop    %ecx
41eac3:	84 c0                	test   %al,%al
41eac5:	74 14                	je     0x41eadb
41eac7:	8b 45 0c             	mov    0xc(%ebp),%eax
41eaca:	81 c3 80 51 01 00    	add    $0x15180,%ebx
41ead0:	89 1e                	mov    %ebx,(%esi)
41ead2:	83 d7 00             	adc    $0x0,%edi
41ead5:	89 7e 04             	mov    %edi,0x4(%esi)
41ead8:	c6 00 01             	movb   $0x1,(%eax)
41eadb:	8b 75 fc             	mov    -0x4(%ebp),%esi
41eade:	5f                   	pop    %edi
41eadf:	8b c6                	mov    %esi,%eax
41eae1:	5e                   	pop    %esi
41eae2:	5b                   	pop    %ebx
41eae3:	c9                   	leave
41eae4:	c3                   	ret
41eae5:	8b 75 fc             	mov    -0x4(%ebp),%esi
41eae8:	56                   	push   %esi
41eae9:	e8 c7 fd ff ff       	call   0x41e8b5
41eaee:	59                   	pop    %ecx
41eaef:	84 c0                	test   %al,%al
41eaf1:	74 eb                	je     0x41eade
41eaf3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41eaf6:	c6 01 01             	movb   $0x1,(%ecx)
41eaf9:	eb e3                	jmp    0x41eade
41eafb:	8b ff                	mov    %edi,%edi
41eafd:	55                   	push   %ebp
41eafe:	8b ec                	mov    %esp,%ebp
41eb00:	5d                   	pop    %ebp
41eb01:	e9 f2 fd ff ff       	jmp    0x41e8f8
41eb06:	8b ff                	mov    %edi,%edi
41eb08:	55                   	push   %ebp
41eb09:	8b ec                	mov    %esp,%ebp
41eb0b:	83 ec 1c             	sub    $0x1c,%esp
41eb0e:	53                   	push   %ebx
41eb0f:	56                   	push   %esi
41eb10:	8d 45 fc             	lea    -0x4(%ebp),%eax
41eb13:	33 f6                	xor    %esi,%esi
41eb15:	50                   	push   %eax
41eb16:	89 75 fc             	mov    %esi,-0x4(%ebp)
41eb19:	e8 d9 fc ff ff       	call   0x41e7f7
41eb1e:	59                   	pop    %ecx
41eb1f:	85 c0                	test   %eax,%eax
41eb21:	0f 85 ee 01 00 00    	jne    0x41ed15
41eb27:	39 75 fc             	cmp    %esi,-0x4(%ebp)
41eb2a:	0f 84 e1 01 00 00    	je     0x41ed11
41eb30:	8b 5d 08             	mov    0x8(%ebp),%ebx
41eb33:	57                   	push   %edi
41eb34:	8b 7b 14             	mov    0x14(%ebx),%edi
41eb37:	3b 3d a0 d4 43 00    	cmp    0x43d4a0,%edi
41eb3d:	75 0c                	jne    0x41eb4b
41eb3f:	3b 3d ac d4 43 00    	cmp    0x43d4ac,%edi
41eb45:	0f 84 5e 01 00 00    	je     0x41eca9
41eb4b:	39 35 08 fb 43 00    	cmp    %esi,0x43fb08
41eb51:	0f 84 fa 00 00 00    	je     0x41ec51
41eb57:	0f b7 0d aa fb 43 00 	movzwl 0x43fbaa,%ecx
41eb5e:	66 39 35 a8 fb 43 00 	cmp    %si,0x43fba8
41eb65:	75 19                	jne    0x41eb80
41eb67:	0f b7 1d ac fb 43 00 	movzwl 0x43fbac,%ebx
41eb6e:	33 c0                	xor    %eax,%eax
41eb70:	0f b7 15 ae fb 43 00 	movzwl 0x43fbae,%edx
41eb77:	40                   	inc    %eax
41eb78:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41eb7b:	89 75 e8             	mov    %esi,-0x18(%ebp)
41eb7e:	eb 11                	jmp    0x41eb91
41eb80:	0f b7 1d ae fb 43 00 	movzwl 0x43fbae,%ebx
41eb87:	8b c6                	mov    %esi,%eax
41eb89:	8b d6                	mov    %esi,%edx
41eb8b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41eb8e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41eb91:	0f b7 1d b0 fb 43 00 	movzwl 0x43fbb0,%ebx
41eb98:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41eb9b:	0f b7 1d b2 fb 43 00 	movzwl 0x43fbb2,%ebx
41eba2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41eba5:	0f b7 1d b4 fb 43 00 	movzwl 0x43fbb4,%ebx
41ebac:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41ebaf:	0f b7 1d b6 fb 43 00 	movzwl 0x43fbb6,%ebx
41ebb6:	53                   	push   %ebx
41ebb7:	ff 75 f4             	push   -0xc(%ebp)
41ebba:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ebbd:	ff 75 f0             	push   -0x10(%ebp)
41ebc0:	ff 75 ec             	push   -0x14(%ebp)
41ebc3:	ff 75 e8             	push   -0x18(%ebp)
41ebc6:	ff 75 e4             	push   -0x1c(%ebp)
41ebc9:	52                   	push   %edx
41ebca:	51                   	push   %ecx
41ebcb:	57                   	push   %edi
41ebcc:	50                   	push   %eax
41ebcd:	56                   	push   %esi
41ebce:	e8 4d 01 00 00       	call   0x41ed20
41ebd3:	0f b7 1d 5c fb 43 00 	movzwl 0x43fb5c,%ebx
41ebda:	83 c4 2c             	add    $0x2c,%esp
41ebdd:	0f b7 0d 56 fb 43 00 	movzwl 0x43fb56,%ecx
41ebe4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41ebe7:	0f b7 1d 5e fb 43 00 	movzwl 0x43fb5e,%ebx
41ebee:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41ebf1:	0f b7 1d 60 fb 43 00 	movzwl 0x43fb60,%ebx
41ebf8:	89 5d e8             	mov    %ebx,-0x18(%ebp)
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