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
43d1f0:	e8 0b 6c ff ff       	call   0x433e00
43d1f5:	59                   	pop    %ecx
43d1f6:	eb 33                	jmp    0x43d22b
43d1f8:	8b 7d d0             	mov    -0x30(%ebp),%edi
43d1fb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43d1fe:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43d201:	8b 04 85 58 b1 46 00 	mov    0x46b158(,%eax,4),%eax
43d208:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)
43d20d:	74 09                	je     0x43d218
43d20f:	80 3f 1a             	cmpb   $0x1a,(%edi)
43d212:	75 04                	jne    0x43d218
43d214:	33 c0                	xor    %eax,%eax
43d216:	eb 1b                	jmp    0x43d233
43d218:	e8 19 6c ff ff       	call   0x433e36
43d21d:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
43d223:	e8 fb 6b ff ff       	call   0x433e23
43d228:	83 20 00             	andl   $0x0,(%eax)
43d22b:	83 c8 ff             	or     $0xffffffff,%eax
43d22e:	eb 03                	jmp    0x43d233
43d230:	2b 45 e0             	sub    -0x20(%ebp),%eax
43d233:	5b                   	pop    %ebx
43d234:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43d237:	5f                   	pop    %edi
43d238:	33 cd                	xor    %ebp,%ecx
43d23a:	5e                   	pop    %esi
43d23b:	e8 f6 0b ff ff       	call   0x42de36
43d240:	8b e5                	mov    %ebp,%esp
43d242:	5d                   	pop    %ebp
43d243:	c3                   	ret
43d244:	8b ff                	mov    %edi,%edi
43d246:	55                   	push   %ebp
43d247:	8b ec                	mov    %esp,%ebp
43d249:	51                   	push   %ecx
43d24a:	51                   	push   %ecx
43d24b:	56                   	push   %esi
43d24c:	8b 75 08             	mov    0x8(%ebp),%esi
43d24f:	57                   	push   %edi
43d250:	56                   	push   %esi
43d251:	e8 f8 ba ff ff       	call   0x438d4e
43d256:	83 cf ff             	or     $0xffffffff,%edi
43d259:	59                   	pop    %ecx
43d25a:	3b c7                	cmp    %edi,%eax
43d25c:	75 11                	jne    0x43d26f
43d25e:	e8 d3 6b ff ff       	call   0x433e36
43d263:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43d269:	8b c7                	mov    %edi,%eax
43d26b:	8b d7                	mov    %edi,%edx
43d26d:	eb 4d                	jmp    0x43d2bc
43d26f:	ff 75 14             	push   0x14(%ebp)
43d272:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43d275:	51                   	push   %ecx
43d276:	ff 75 10             	push   0x10(%ebp)
43d279:	ff 75 0c             	push   0xc(%ebp)
43d27c:	50                   	push   %eax
43d27d:	ff 15 f0 b1 44 00    	call   *0x44b1f0
43d283:	85 c0                	test   %eax,%eax
43d285:	75 0f                	jne    0x43d296
43d287:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43d28d:	50                   	push   %eax
43d28e:	e8 6d 6b ff ff       	call   0x433e00
43d293:	59                   	pop    %ecx
43d294:	eb d3                	jmp    0x43d269
43d296:	8b 45 f8             	mov    -0x8(%ebp),%eax
43d299:	8b 55 fc             	mov    -0x4(%ebp),%edx
43d29c:	23 c2                	and    %edx,%eax
43d29e:	3b c7                	cmp    %edi,%eax
43d2a0:	74 c7                	je     0x43d269
43d2a2:	8b 45 f8             	mov    -0x8(%ebp),%eax
43d2a5:	8b ce                	mov    %esi,%ecx
43d2a7:	83 e6 3f             	and    $0x3f,%esi
43d2aa:	c1 f9 06             	sar    $0x6,%ecx
43d2ad:	6b f6 30             	imul   $0x30,%esi,%esi
43d2b0:	8b 0c 8d 58 b1 46 00 	mov    0x46b158(,%ecx,4),%ecx
43d2b7:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
43d2bc:	5f                   	pop    %edi
43d2bd:	5e                   	pop    %esi
43d2be:	8b e5                	mov    %ebp,%esp
43d2c0:	5d                   	pop    %ebp
43d2c1:	c3                   	ret
43d2c2:	8b ff                	mov    %edi,%edi
43d2c4:	55                   	push   %ebp
43d2c5:	8b ec                	mov    %esp,%ebp
43d2c7:	ff 75 14             	push   0x14(%ebp)
43d2ca:	ff 75 10             	push   0x10(%ebp)
43d2cd:	ff 75 0c             	push   0xc(%ebp)
43d2d0:	ff 75 08             	push   0x8(%ebp)
43d2d3:	e8 6c ff ff ff       	call   0x43d244
43d2d8:	83 c4 10             	add    $0x10,%esp
43d2db:	5d                   	pop    %ebp
43d2dc:	c3                   	ret
43d2dd:	8b ff                	mov    %edi,%edi
43d2df:	55                   	push   %ebp
43d2e0:	8b ec                	mov    %esp,%ebp
43d2e2:	56                   	push   %esi
43d2e3:	8b 75 08             	mov    0x8(%ebp),%esi
43d2e6:	85 f6                	test   %esi,%esi
43d2e8:	75 15                	jne    0x43d2ff
43d2ea:	e8 47 6b ff ff       	call   0x433e36
43d2ef:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43d2f5:	e8 80 6a ff ff       	call   0x433d7a
43d2fa:	83 c8 ff             	or     $0xffffffff,%eax
43d2fd:	eb 51                	jmp    0x43d350
43d2ff:	8b 46 0c             	mov    0xc(%esi),%eax
43d302:	57                   	push   %edi
43d303:	83 cf ff             	or     $0xffffffff,%edi
43d306:	c1 e8 0d             	shr    $0xd,%eax
43d309:	a8 01                	test   $0x1,%al
43d30b:	74 39                	je     0x43d346
43d30d:	56                   	push   %esi
43d30e:	e8 08 ea ff ff       	call   0x43bd1b
43d313:	56                   	push   %esi
43d314:	8b f8                	mov    %eax,%edi
43d316:	e8 8e eb ff ff       	call   0x43bea9
43d31b:	56                   	push   %esi
43d31c:	e8 e0 a0 ff ff       	call   0x437401
43d321:	50                   	push   %eax
43d322:	e8 ac 12 00 00       	call   0x43e5d3
43d327:	83 c4 10             	add    $0x10,%esp
43d32a:	85 c0                	test   %eax,%eax
43d32c:	79 05                	jns    0x43d333
43d32e:	83 cf ff             	or     $0xffffffff,%edi
43d331:	eb 13                	jmp    0x43d346
43d333:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
43d337:	74 0d                	je     0x43d346
43d339:	ff 76 1c             	push   0x1c(%esi)
43d33c:	e8 d9 7d ff ff       	call   0x43511a
43d341:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
43d345:	59                   	pop    %ecx
43d346:	56                   	push   %esi
43d347:	e8 a2 13 00 00       	call   0x43e6ee
43d34c:	59                   	pop    %ecx
43d34d:	8b c7                	mov    %edi,%eax
43d34f:	5f                   	pop    %edi
43d350:	5e                   	pop    %esi
43d351:	5d                   	pop    %ebp
43d352:	c3                   	ret
43d353:	6a 10                	push   $0x10
43d355:	68 a8 7f 46 00       	push   $0x467fa8
43d35a:	e8 d1 14 ff ff       	call   0x42e830
43d35f:	8b 75 08             	mov    0x8(%ebp),%esi
43d362:	89 75 e0             	mov    %esi,-0x20(%ebp)
43d365:	33 c0                	xor    %eax,%eax
43d367:	85 f6                	test   %esi,%esi
43d369:	0f 95 c0             	setne  %al
43d36c:	85 c0                	test   %eax,%eax
43d36e:	75 15                	jne    0x43d385
43d370:	e8 c1 6a ff ff       	call   0x433e36
43d375:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43d37b:	e8 fa 69 ff ff       	call   0x433d7a
43d380:	83 c8 ff             	or     $0xffffffff,%eax
43d383:	eb 3b                	jmp    0x43d3c0
43d385:	8b 46 0c             	mov    0xc(%esi),%eax
43d388:	c1 e8 0c             	shr    $0xc,%eax
43d38b:	56                   	push   %esi
43d38c:	a8 01                	test   $0x1,%al
43d38e:	74 08                	je     0x43d398
43d390:	e8 59 13 00 00       	call   0x43e6ee
43d395:	59                   	pop    %ecx
43d396:	eb e8                	jmp    0x43d380
43d398:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43d39c:	e8 9a a1 ff ff       	call   0x43753b
43d3a1:	59                   	pop    %ecx
43d3a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43d3a6:	56                   	push   %esi
43d3a7:	e8 31 ff ff ff       	call   0x43d2dd
43d3ac:	59                   	pop    %ecx
43d3ad:	8b f0                	mov    %eax,%esi
43d3af:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43d3b2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43d3b9:	e8 0b 00 00 00       	call   0x43d3c9
43d3be:	8b c6                	mov    %esi,%eax
43d3c0:	e8 b1 14 ff ff       	call   0x42e876
43d3c5:	c3                   	ret
43d3c6:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43d3c9:	ff 75 e0             	push   -0x20(%ebp)