41e870:	a1 f0 fa 43 00       	mov    0x43faf0,%eax
41e875:	89 01                	mov    %eax,(%ecx)
41e877:	33 c0                	xor    %eax,%eax
41e879:	5d                   	pop    %ebp
41e87a:	c3                   	ret
41e87b:	8b ff                	mov    %edi,%edi
41e87d:	55                   	push   %ebp
41e87e:	8b ec                	mov    %esp,%ebp
41e880:	8b 45 08             	mov    0x8(%ebp),%eax
41e883:	56                   	push   %esi
41e884:	be 90 01 00 00       	mov    $0x190,%esi
41e889:	57                   	push   %edi
41e88a:	8d 48 ff             	lea    -0x1(%eax),%ecx
41e88d:	05 2b 01 00 00       	add    $0x12b,%eax
41e892:	99                   	cltd
41e893:	f7 fe                	idiv   %esi
41e895:	6a 64                	push   $0x64
41e897:	8b f0                	mov    %eax,%esi
41e899:	8b c1                	mov    %ecx,%eax
41e89b:	99                   	cltd
41e89c:	5f                   	pop    %edi
41e89d:	f7 ff                	idiv   %edi
41e89f:	5f                   	pop    %edi
41e8a0:	2b f0                	sub    %eax,%esi
41e8a2:	8b c1                	mov    %ecx,%eax
41e8a4:	99                   	cltd
41e8a5:	83 e2 03             	and    $0x3,%edx
41e8a8:	03 c2                	add    %edx,%eax
41e8aa:	c1 f8 02             	sar    $0x2,%eax
41e8ad:	83 c0 ef             	add    $0xffffffef,%eax
41e8b0:	03 c6                	add    %esi,%eax
41e8b2:	5e                   	pop    %esi
41e8b3:	5d                   	pop    %ebp
41e8b4:	c3                   	ret
41e8b5:	8b ff                	mov    %edi,%edi
41e8b7:	55                   	push   %ebp
41e8b8:	8b ec                	mov    %esp,%ebp
41e8ba:	8b 4d 08             	mov    0x8(%ebp),%ecx
41e8bd:	8b c1                	mov    %ecx,%eax
41e8bf:	25 03 00 00 80       	and    $0x80000003,%eax
41e8c4:	79 07                	jns    0x41e8cd
41e8c6:	48                   	dec    %eax
41e8c7:	83 c8 fc             	or     $0xfffffffc,%eax
41e8ca:	83 c0 01             	add    $0x1,%eax
41e8cd:	75 12                	jne    0x41e8e1
41e8cf:	56                   	push   %esi
41e8d0:	6a 64                	push   $0x64
41e8d2:	8b c1                	mov    %ecx,%eax
41e8d4:	5e                   	pop    %esi
41e8d5:	99                   	cltd
41e8d6:	f7 fe                	idiv   %esi
41e8d8:	5e                   	pop    %esi
41e8d9:	85 d2                	test   %edx,%edx
41e8db:	74 04                	je     0x41e8e1
41e8dd:	b0 01                	mov    $0x1,%al
41e8df:	5d                   	pop    %ebp
41e8e0:	c3                   	ret
41e8e1:	8d 81 6c 07 00 00    	lea    0x76c(%ecx),%eax
41e8e7:	b9 90 01 00 00       	mov    $0x190,%ecx
41e8ec:	99                   	cltd
41e8ed:	f7 f9                	idiv   %ecx
41e8ef:	f7 da                	neg    %edx
41e8f1:	1a d2                	sbb    %dl,%dl
41e8f3:	8d 42 01             	lea    0x1(%edx),%eax
41e8f6:	5d                   	pop    %ebp
41e8f7:	c3                   	ret
41e8f8:	8b ff                	mov    %edi,%edi
41e8fa:	55                   	push   %ebp
41e8fb:	8b ec                	mov    %esp,%ebp
41e8fd:	83 ec 0c             	sub    $0xc,%esp
41e900:	56                   	push   %esi
41e901:	8b 75 08             	mov    0x8(%ebp),%esi
41e904:	85 f6                	test   %esi,%esi
41e906:	75 16                	jne    0x41e91e
41e908:	e8 64 dd ff ff       	call   0x41c671
41e90d:	6a 16                	push   $0x16
41e90f:	5e                   	pop    %esi
41e910:	89 30                	mov    %esi,(%eax)
41e912:	e8 d7 ea fe ff       	call   0x40d3ee
41e917:	8b c6                	mov    %esi,%eax
41e919:	e9 21 01 00 00       	jmp    0x41ea3f
41e91e:	57                   	push   %edi
41e91f:	6a 09                	push   $0x9
41e921:	83 c8 ff             	or     $0xffffffff,%eax
41e924:	8b fe                	mov    %esi,%edi
41e926:	59                   	pop    %ecx
41e927:	f3 ab                	rep stos %eax,%es:(%edi)
41e929:	8b 7d 0c             	mov    0xc(%ebp),%edi
41e92c:	85 ff                	test   %edi,%edi
41e92e:	75 11                	jne    0x41e941
41e930:	e8 3c dd ff ff       	call   0x41c671
41e935:	6a 16                	push   $0x16
41e937:	5e                   	pop    %esi
41e938:	89 30                	mov    %esi,(%eax)
41e93a:	e8 af ea fe ff       	call   0x40d3ee
41e93f:	eb 33                	jmp    0x41e974
41e941:	8b 4f 04             	mov    0x4(%edi),%ecx
41e944:	8b 07                	mov    (%edi),%eax
41e946:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e949:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41e94c:	83 f9 ff             	cmp    $0xffffffff,%ecx
41e94f:	7f 09                	jg     0x41e95a
41e951:	7c 17                	jl     0x41e96a
41e953:	3d 40 57 ff ff       	cmp    $0xffff5740,%eax
41e958:	72 10                	jb     0x41e96a
41e95a:	6a 07                	push   $0x7
41e95c:	5a                   	pop    %edx
41e95d:	3b ca                	cmp    %edx,%ecx
41e95f:	7c 1a                	jl     0x41e97b
41e961:	7f 07                	jg     0x41e96a
41e963:	3d df ef 58 93       	cmp    $0x9358efdf,%eax
41e968:	76 11                	jbe    0x41e97b
41e96a:	e8 02 dd ff ff       	call   0x41c671
41e96f:	6a 16                	push   $0x16
41e971:	5e                   	pop    %esi
41e972:	89 30                	mov    %esi,(%eax)
41e974:	8b c6                	mov    %esi,%eax
41e976:	e9 c3 00 00 00       	jmp    0x41ea3e
41e97b:	53                   	push   %ebx
41e97c:	8d 45 ff             	lea    -0x1(%ebp),%eax
41e97f:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
41e983:	50                   	push   %eax
41e984:	8d 45 f4             	lea    -0xc(%ebp),%eax
41e987:	50                   	push   %eax
41e988:	e8 b5 00 00 00       	call   0x41ea42
41e98d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41e990:	59                   	pop    %ecx
41e991:	59                   	pop    %ecx
41e992:	6a 00                	push   $0x0
41e994:	89 46 14             	mov    %eax,0x14(%esi)
41e997:	b8 80 51 01 00       	mov    $0x15180,%eax
41e99c:	50                   	push   %eax
41e99d:	ff 75 f8             	push   -0x8(%ebp)
41e9a0:	53                   	push   %ebx
41e9a1:	e8 6a b5 fe ff       	call   0x409f10
41e9a6:	8b c8                	mov    %eax,%ecx
41e9a8:	ba 80 51 01 00       	mov    $0x15180,%edx
41e9ad:	f7 ea                	imul   %edx
41e9af:	89 4e 1c             	mov    %ecx,0x1c(%esi)
41e9b2:	2b d8                	sub    %eax,%ebx
41e9b4:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e9b7:	1b c2                	sbb    %edx,%eax
41e9b9:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41e9bd:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e9c0:	ba ec 77 43 00       	mov    $0x4377ec,%edx
41e9c5:	75 05                	jne    0x41e9cc
41e9c7:	ba b8 77 43 00       	mov    $0x4377b8,%edx
41e9cc:	33 c0                	xor    %eax,%eax
41e9ce:	40                   	inc    %eax
41e9cf:	39 4a 04             	cmp    %ecx,0x4(%edx)
41e9d2:	7d 06                	jge    0x41e9da
41e9d4:	40                   	inc    %eax
41e9d5:	39 0c 82             	cmp    %ecx,(%edx,%eax,4)
41e9d8:	7c fa                	jl     0x41e9d4
41e9da:	48                   	dec    %eax
41e9db:	89 46 10             	mov    %eax,0x10(%esi)
41e9de:	6a 00                	push   $0x0
41e9e0:	2b 0c 82             	sub    (%edx,%eax,4),%ecx
41e9e3:	b8 80 51 01 00       	mov    $0x15180,%eax
41e9e8:	50                   	push   %eax
41e9e9:	89 4e 0c             	mov    %ecx,0xc(%esi)
41e9ec:	ff 77 04             	push   0x4(%edi)
41e9ef:	ff 37                	push   (%edi)
41e9f1:	e8 1a b5 fe ff       	call   0x409f10
41e9f6:	6a 07                	push   $0x7
41e9f8:	83 c0 04             	add    $0x4,%eax
41e9fb:	8b 7d f8             	mov    -0x8(%ebp),%edi
41e9fe:	59                   	pop    %ecx
41e9ff:	99                   	cltd
41ea00:	f7 f9                	idiv   %ecx
41ea02:	6a 00                	push   $0x0
41ea04:	b8 10 0e 00 00       	mov    $0xe10,%eax
41ea09:	89 56 18             	mov    %edx,0x18(%esi)
41ea0c:	50                   	push   %eax
41ea0d:	57                   	push   %edi
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)