43cdd9:	57                   	push   %edi
43cdda:	50                   	push   %eax
43cddb:	51                   	push   %ecx
43cddc:	ff 15 30 b1 44 00    	call   *0x44b130
43cde2:	85 c0                	test   %eax,%eax
43cde4:	74 1f                	je     0x43ce05
43cde6:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
43cdec:	01 46 04             	add    %eax,0x4(%esi)
43cdef:	3b c7                	cmp    %edi,%eax
43cdf1:	72 1a                	jb     0x43ce0d
43cdf3:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
43cdf9:	8b 8d f0 eb ff ff    	mov    -0x1410(%ebp),%ecx
43cdff:	3b d8                	cmp    %eax,%ebx
43ce01:	72 87                	jb     0x43cd8a
43ce03:	eb 08                	jmp    0x43ce0d
43ce05:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43ce0b:	89 06                	mov    %eax,(%esi)
43ce0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ce10:	8b c6                	mov    %esi,%eax
43ce12:	5f                   	pop    %edi
43ce13:	5e                   	pop    %esi
43ce14:	33 cd                	xor    %ebp,%ecx
43ce16:	5b                   	pop    %ebx
43ce17:	e8 1a 10 ff ff       	call   0x42de36
43ce1c:	8b e5                	mov    %ebp,%esp
43ce1e:	5d                   	pop    %ebp
43ce1f:	c3                   	ret
43ce20:	8b ff                	mov    %edi,%edi
43ce22:	55                   	push   %ebp
43ce23:	8b ec                	mov    %esp,%ebp
43ce25:	b8 18 14 00 00       	mov    $0x1418,%eax
43ce2a:	e8 d1 d0 00 00       	call   0x449f00
43ce2f:	a1 08 a0 46 00       	mov    0x46a008,%eax
43ce34:	33 c5                	xor    %ebp,%eax
43ce36:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ce39:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ce3c:	8b c1                	mov    %ecx,%eax
43ce3e:	c1 f8 06             	sar    $0x6,%eax
43ce41:	83 e1 3f             	and    $0x3f,%ecx
43ce44:	6b c9 30             	imul   $0x30,%ecx,%ecx
43ce47:	53                   	push   %ebx
43ce48:	56                   	push   %esi
43ce49:	8b 04 85 58 b1 46 00 	mov    0x46b158(,%eax,4),%eax
43ce50:	33 db                	xor    %ebx,%ebx
43ce52:	8b 75 08             	mov    0x8(%ebp),%esi
43ce55:	57                   	push   %edi
43ce56:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
43ce5a:	8b 4d 10             	mov    0x10(%ebp),%ecx
43ce5d:	8b f9                	mov    %ecx,%edi
43ce5f:	89 85 ec eb ff ff    	mov    %eax,-0x1414(%ebp)
43ce65:	8b 45 14             	mov    0x14(%ebp),%eax
43ce68:	03 c1                	add    %ecx,%eax
43ce6a:	89 1e                	mov    %ebx,(%esi)
43ce6c:	89 5e 04             	mov    %ebx,0x4(%esi)
43ce6f:	89 85 f4 eb ff ff    	mov    %eax,-0x140c(%ebp)
43ce75:	89 5e 08             	mov    %ebx,0x8(%esi)
43ce78:	3b c8                	cmp    %eax,%ecx
43ce7a:	0f 83 ba 00 00 00    	jae    0x43cf3a
43ce80:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
43ce86:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
43ce8c:	3b fe                	cmp    %esi,%edi
43ce8e:	73 21                	jae    0x43ceb1
43ce90:	0f b7 0f             	movzwl (%edi),%ecx
43ce93:	83 c7 02             	add    $0x2,%edi
43ce96:	83 f9 0a             	cmp    $0xa,%ecx
43ce99:	75 09                	jne    0x43cea4
43ce9b:	6a 0d                	push   $0xd
43ce9d:	5a                   	pop    %edx
43ce9e:	66 89 10             	mov    %dx,(%eax)
43cea1:	83 c0 02             	add    $0x2,%eax
43cea4:	66 89 08             	mov    %cx,(%eax)
43cea7:	83 c0 02             	add    $0x2,%eax
43ceaa:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43cead:	3b c1                	cmp    %ecx,%eax
43ceaf:	72 db                	jb     0x43ce8c
43ceb1:	53                   	push   %ebx
43ceb2:	53                   	push   %ebx
43ceb3:	68 55 0d 00 00       	push   $0xd55
43ceb8:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
43cebe:	51                   	push   %ecx
43cebf:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
43cec5:	2b c1                	sub    %ecx,%eax
43cec7:	d1 f8                	sar    $1,%eax
43cec9:	50                   	push   %eax
43ceca:	8b c1                	mov    %ecx,%eax
43cecc:	50                   	push   %eax
43cecd:	53                   	push   %ebx
43cece:	68 e9 fd 00 00       	push   $0xfde9
43ced3:	ff 15 00 b1 44 00    	call   *0x44b100
43ced9:	8b 75 08             	mov    0x8(%ebp),%esi
43cedc:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
43cee2:	85 c0                	test   %eax,%eax
43cee4:	74 4c                	je     0x43cf32
43cee6:	6a 00                	push   $0x0
43cee8:	8d 8d f0 eb ff ff    	lea    -0x1410(%ebp),%ecx
43ceee:	2b c3                	sub    %ebx,%eax
43cef0:	51                   	push   %ecx
43cef1:	50                   	push   %eax
43cef2:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
43cef8:	03 c3                	add    %ebx,%eax
43cefa:	50                   	push   %eax
43cefb:	ff b5 ec eb ff ff    	push   -0x1414(%ebp)
43cf01:	ff 15 30 b1 44 00    	call   *0x44b130
43cf07:	85 c0                	test   %eax,%eax
43cf09:	74 27                	je     0x43cf32
43cf0b:	03 9d f0 eb ff ff    	add    -0x1410(%ebp),%ebx
43cf11:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
43cf17:	3b d8                	cmp    %eax,%ebx
43cf19:	72 cb                	jb     0x43cee6
43cf1b:	8b c7                	mov    %edi,%eax
43cf1d:	2b 45 10             	sub    0x10(%ebp),%eax
43cf20:	89 46 04             	mov    %eax,0x4(%esi)
43cf23:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
43cf29:	73 0f                	jae    0x43cf3a
43cf2b:	33 db                	xor    %ebx,%ebx
43cf2d:	e9 4e ff ff ff       	jmp    0x43ce80
43cf32:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43cf38:	89 06                	mov    %eax,(%esi)
43cf3a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43cf3d:	8b c6                	mov    %esi,%eax
43cf3f:	5f                   	pop    %edi
43cf40:	5e                   	pop    %esi
43cf41:	33 cd                	xor    %ebp,%ecx
43cf43:	5b                   	pop    %ebx
43cf44:	e8 ed 0e ff ff       	call   0x42de36
43cf49:	8b e5                	mov    %ebp,%esp
43cf4b:	5d                   	pop    %ebp
43cf4c:	c3                   	ret
43cf4d:	6a 14                	push   $0x14
43cf4f:	68 88 7f 46 00       	push   $0x467f88
43cf54:	e8 d7 18 ff ff       	call   0x42e830
43cf59:	8b 75 08             	mov    0x8(%ebp),%esi
43cf5c:	83 fe fe             	cmp    $0xfffffffe,%esi
43cf5f:	75 18                	jne    0x43cf79
43cf61:	e8 bd 6e ff ff       	call   0x433e23
43cf66:	83 20 00             	andl   $0x0,(%eax)
43cf69:	e8 c8 6e ff ff       	call   0x433e36
43cf6e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43cf74:	e9 b6 00 00 00       	jmp    0x43d02f
43cf79:	85 f6                	test   %esi,%esi
43cf7b:	0f 88 96 00 00 00    	js     0x43d017
43cf81:	3b 35 58 b3 46 00    	cmp    0x46b358,%esi
43cf87:	0f 83 8a 00 00 00    	jae    0x43d017
43cf8d:	8b de                	mov    %esi,%ebx
43cf8f:	c1 fb 06             	sar    $0x6,%ebx
43cf92:	8b c6                	mov    %esi,%eax
43cf94:	83 e0 3f             	and    $0x3f,%eax
43cf97:	6b c8 30             	imul   $0x30,%eax,%ecx
43cf9a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43cf9d:	8b 04 9d 58 b1 46 00 	mov    0x46b158(,%ebx,4),%eax
43cfa4:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
43cfa9:	83 e0 01             	and    $0x1,%eax
43cfac:	74 69                	je     0x43d017
43cfae:	56                   	push   %esi
43cfaf:	e8 c3 bc ff ff       	call   0x438c77
43cfb4:	59                   	pop    %ecx
43cfb5:	83 cf ff             	or     $0xffffffff,%edi
43cfb8:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43cfbb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43cfbf:	8b 04 9d 58 b1 46 00 	mov    0x46b158(,%ebx,4),%eax
43cfc6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43cfc9:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
43cfce:	75 15                	jne    0x43cfe5
43cfd0:	e8 61 6e ff ff       	call   0x433e36
43cfd5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43cfdb:	e8 43 6e ff ff       	call   0x433e23
43cfe0:	83 20 00             	andl   $0x0,(%eax)
43cfe3:	eb 14                	jmp    0x43cff9
43cfe5:	ff 75 10             	push   0x10(%ebp)
43cfe8:	ff 75 0c             	push   0xc(%ebp)
43cfeb:	56                   	push   %esi
43cfec:	e8 47 00 00 00       	call   0x43d038
43cff1:	83 c4 0c             	add    $0xc,%esp
43cff4:	8b f8                	mov    %eax,%edi
43cff6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
43cff9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43d000:	e8 0a 00 00 00       	call   0x43d00f
43d005:	8b c7                	mov    %edi,%eax
43d007:	eb 29                	jmp    0x43d032
43d009:	8b 75 08             	mov    0x8(%ebp),%esi
43d00c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
43d00f:	56                   	push   %esi
43d010:	e8 85 bc ff ff       	call   0x438c9a
43d015:	59                   	pop    %ecx
43d016:	c3                   	ret
43d017:	e8 07 6e ff ff       	call   0x433e23
43d01c:	83 20 00             	andl   $0x0,(%eax)
43d01f:	e8 12 6e ff ff       	call   0x433e36
43d024:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43d02a:	e8 4b 6d ff ff       	call   0x433d7a
43d02f:	83 c8 ff             	or     $0xffffffff,%eax
43d032:	e8 3f 18 ff ff       	call   0x42e876
43d037:	c3                   	ret
43d038:	8b ff                	mov    %edi,%edi
43d03a:	55                   	push   %ebp
43d03b:	8b ec                	mov    %esp,%ebp
43d03d:	83 ec 30             	sub    $0x30,%esp
43d040:	a1 08 a0 46 00       	mov    0x46a008,%eax
43d045:	33 c5                	xor    %ebp,%eax
43d047:	89 45 fc             	mov    %eax,-0x4(%ebp)
43d04a:	8b 4d 10             	mov    0x10(%ebp),%ecx
43d04d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43d050:	56                   	push   %esi
43d051:	8b 75 08             	mov    0x8(%ebp),%esi
43d054:	57                   	push   %edi
43d055:	8b 7d 0c             	mov    0xc(%ebp),%edi
43d058:	89 7d d0             	mov    %edi,-0x30(%ebp)
43d05b:	85 c9                	test   %ecx,%ecx
43d05d:	75 07                	jne    0x43d066
43d05f:	33 c0                	xor    %eax,%eax
43d061:	e9 ce 01 00 00       	jmp    0x43d234
43d066:	85 ff                	test   %edi,%edi
43d068:	75 1f                	jne    0x43d089
43d06a:	e8 b4 6d ff ff       	call   0x433e23
43d06f:	21 38                	and    %edi,(%eax)
43d071:	e8 c0 6d ff ff       	call   0x433e36
43d076:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43d07c:	e8 f9 6c ff ff       	call   0x433d7a
43d081:	83 c8 ff             	or     $0xffffffff,%eax
43d084:	e9 ab 01 00 00       	jmp    0x43d234
43d089:	53                   	push   %ebx
43d08a:	8b c6                	mov    %esi,%eax
43d08c:	8b de                	mov    %esi,%ebx
43d08e:	c1 fb 06             	sar    $0x6,%ebx
43d091:	83 e0 3f             	and    $0x3f,%eax
43d094:	6b d0 30             	imul   $0x30,%eax,%edx
43d097:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
43d09a:	8b 04 9d 58 b1 46 00 	mov    0x46b158(,%ebx,4),%eax
43d0a1:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43d0a4:	89 55 e8             	mov    %edx,-0x18(%ebp)
43d0a7:	8a 5c 10 29          	mov    0x29(%eax,%edx,1),%bl
43d0ab:	80 fb 02             	cmp    $0x2,%bl
43d0ae:	74 05                	je     0x43d0b5
43d0b0:	80 fb 01             	cmp    $0x1,%bl
43d0b3:	75 28                	jne    0x43d0dd
43d0b5:	8b c1                	mov    %ecx,%eax
43d0b7:	f7 d0                	not    %eax
43d0b9:	a8 01                	test   $0x1,%al
43d0bb:	75 1d                	jne    0x43d0da
43d0bd:	e8 61 6d ff ff       	call   0x433e23
43d0c2:	83 20 00             	andl   $0x0,(%eax)
43d0c5:	e8 6c 6d ff ff       	call   0x433e36
43d0ca:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43d0d0:	e8 a5 6c ff ff       	call   0x433d7a
43d0d5:	e9 51 01 00 00       	jmp    0x43d22b
43d0da:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43d0dd:	f6 44 10 28 20       	testb  $0x20,0x28(%eax,%edx,1)
43d0e2:	74 0f                	je     0x43d0f3
43d0e4:	6a 02                	push   $0x2
43d0e6:	6a 00                	push   $0x0
43d0e8:	6a 00                	push   $0x0
43d0ea:	56                   	push   %esi
43d0eb:	e8 d2 01 00 00       	call   0x43d2c2
43d0f0:	83 c4 10             	add    $0x10,%esp
43d0f3:	56                   	push   %esi
43d0f4:	e8 e4 fa ff ff       	call   0x43cbdd
43d0f9:	59                   	pop    %ecx
43d0fa:	84 c0                	test   %al,%al
43d0fc:	74 39                	je     0x43d137
43d0fe:	84 db                	test   %bl,%bl
43d100:	74 22                	je     0x43d124
43d102:	fe cb                	dec    %bl
43d104:	80 fb 01             	cmp    $0x1,%bl
43d107:	0f 87 ee 00 00 00    	ja     0x43d1fb
43d10d:	ff 75 f8             	push   -0x8(%ebp)
43d110:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d113:	57                   	push   %edi
43d114:	50                   	push   %eax
43d115:	e8 56 fa ff ff       	call   0x43cb70
43d11a:	83 c4 0c             	add    $0xc,%esp
43d11d:	8b f0                	mov    %eax,%esi
43d11f:	e9 9c 00 00 00       	jmp    0x43d1c0
43d124:	ff 75 f8             	push   -0x8(%ebp)
43d127:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d12a:	57                   	push   %edi
43d12b:	56                   	push   %esi
43d12c:	50                   	push   %eax
43d12d:	e8 8b f8 ff ff       	call   0x43c9bd
43d132:	83 c4 10             	add    $0x10,%esp
43d135:	eb e6                	jmp    0x43d11d
43d137:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43d13a:	8b 0c 85 58 b1 46 00 	mov    0x46b158(,%eax,4),%ecx
43d141:	8b 45 e8             	mov    -0x18(%ebp),%eax
43d144:	f6 44 01 28 80       	testb  $0x80,0x28(%ecx,%eax,1)
43d149:	74 46                	je     0x43d191
43d14b:	0f be c3             	movsbl %bl,%eax
43d14e:	83 e8 00             	sub    $0x0,%eax
43d151:	74 2e                	je     0x43d181
43d153:	83 e8 01             	sub    $0x1,%eax
43d156:	74 19                	je     0x43d171
43d158:	83 e8 01             	sub    $0x1,%eax
43d15b:	0f 85 9a 00 00 00    	jne    0x43d1fb
43d161:	ff 75 f8             	push   -0x8(%ebp)
43d164:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d167:	57                   	push   %edi
43d168:	56                   	push   %esi
43d169:	50                   	push   %eax
43d16a:	e8 c3 fb ff ff       	call   0x43cd32
43d16f:	eb c1                	jmp    0x43d132
43d171:	ff 75 f8             	push   -0x8(%ebp)
43d174:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d177:	57                   	push   %edi
43d178:	56                   	push   %esi
43d179:	50                   	push   %eax
43d17a:	e8 a1 fc ff ff       	call   0x43ce20
43d17f:	eb b1                	jmp    0x43d132
43d181:	ff 75 f8             	push   -0x8(%ebp)
43d184:	8d 45 ec             	lea    -0x14(%ebp),%eax
43d187:	57                   	push   %edi
43d188:	56                   	push   %esi
43d189:	50                   	push   %eax
43d18a:	e8 c4 fa ff ff       	call   0x43cc53
43d18f:	eb a1                	jmp    0x43d132
43d191:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
43d195:	33 c9                	xor    %ecx,%ecx
43d197:	51                   	push   %ecx
43d198:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43d19b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43d19e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43d1a1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43d1a4:	51                   	push   %ecx
43d1a5:	ff 75 f8             	push   -0x8(%ebp)
43d1a8:	57                   	push   %edi
43d1a9:	50                   	push   %eax
43d1aa:	ff 15 30 b1 44 00    	call   *0x44b130
43d1b0:	85 c0                	test   %eax,%eax
43d1b2:	75 09                	jne    0x43d1bd
43d1b4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43d1ba:	89 45 ec             	mov    %eax,-0x14(%ebp)
43d1bd:	8d 75 ec             	lea    -0x14(%ebp),%esi
43d1c0:	8d 7d d8             	lea    -0x28(%ebp),%edi
43d1c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43d1c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43d1c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43d1c6:	8b 45 dc             	mov    -0x24(%ebp),%eax
43d1c9:	85 c0                	test   %eax,%eax
43d1cb:	75 63                	jne    0x43d230
43d1cd:	8b 45 d8             	mov    -0x28(%ebp),%eax
43d1d0:	85 c0                	test   %eax,%eax
43d1d2:	74 24                	je     0x43d1f8
43d1d4:	6a 05                	push   $0x5
43d1d6:	5e                   	pop    %esi
43d1d7:	3b c6                	cmp    %esi,%eax
43d1d9:	75 14                	jne    0x43d1ef
43d1db:	e8 56 6c ff ff       	call   0x433e36
43d1e0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43d1e6:	e8 38 6c ff ff       	call   0x433e23
43d1eb:	89 30                	mov    %esi,(%eax)
43d1ed:	eb 3c                	jmp    0x43d22b
43d1ef:	50                   	push   %eax