44ef77:	8b d8                	mov    %eax,%ebx
44ef79:	eb 02                	jmp    0x44ef7d
44ef7b:	33 db                	xor    %ebx,%ebx
44ef7d:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
44ef81:	bf 00 40 00 00       	mov    $0x4000,%edi
44ef86:	72 14                	jb     0x44ef9c
44ef88:	8b 46 04             	mov    0x4(%esi),%eax
44ef8b:	8b 48 04             	mov    0x4(%eax),%ecx
44ef8e:	e8 f3 e2 fb ff       	call   0x40d286
44ef93:	83 e8 02             	sub    $0x2,%eax
44ef96:	f7 d8                	neg    %eax
44ef98:	1b c0                	sbb    %eax,%eax
44ef9a:	23 f8                	and    %eax,%edi
44ef9c:	8b 46 04             	mov    0x4(%esi),%eax
44ef9f:	8b 30                	mov    (%eax),%esi
44efa1:	8b ce                	mov    %esi,%ecx
44efa3:	e8 c4 a3 fb ff       	call   0x40936c
44efa8:	81 cf 00 20 00 00    	or     $0x2000,%edi
44efae:	57                   	push   %edi
44efaf:	ff 76 08             	push   0x8(%esi)
44efb2:	8b cb                	mov    %ebx,%ecx
44efb4:	e8 97 55 fb ff       	call   0x404550
44efb9:	84 c0                	test   %al,%al
44efbb:	75 45                	jne    0x44f002
44efbd:	85 db                	test   %ebx,%ebx
44efbf:	74 08                	je     0x44efc9
44efc1:	51                   	push   %ecx
44efc2:	8b cb                	mov    %ebx,%ecx
44efc4:	e8 72 55 fb ff       	call   0x40453b
44efc9:	8b 75 0c             	mov    0xc(%ebp),%esi
44efcc:	8b ce                	mov    %esi,%ecx
44efce:	e8 4d 3c fc ff       	call   0x412c20
44efd3:	83 0e ff             	orl    $0xffffffff,(%esi)
44efd6:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44efdd:	eb 69                	jmp    0x44f048
44efdf:	6a 00                	push   $0x0
44efe1:	53                   	push   %ebx
44efe2:	8d 45 fc             	lea    -0x4(%ebp),%eax
44efe5:	50                   	push   %eax
44efe6:	8b cf                	mov    %edi,%ecx
44efe8:	e8 26 31 00 00       	call   0x452113
44efed:	84 c0                	test   %al,%al
44efef:	74 d8                	je     0x44efc9
44eff1:	8b 8f 98 01 00 00    	mov    0x198(%edi),%ecx
44eff7:	8b 45 fc             	mov    -0x4(%ebp),%eax
44effa:	8b 04 81             	mov    (%ecx,%eax,4),%eax
44effd:	8b 00                	mov    (%eax),%eax
44efff:	8b 58 04             	mov    0x4(%eax),%ebx
44f002:	8b cb                	mov    %ebx,%ecx
44f004:	e8 3d 6b ff ff       	call   0x445b46
44f009:	8b 75 0c             	mov    0xc(%ebp),%esi
44f00c:	8b ce                	mov    %esi,%ecx
44f00e:	8b f8                	mov    %eax,%edi
44f010:	e8 0b 3c fc ff       	call   0x412c20
44f015:	8b 4d 08             	mov    0x8(%ebp),%ecx
44f018:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
44f01f:	89 3e                	mov    %edi,(%esi)
44f021:	8b 49 04             	mov    0x4(%ecx),%ecx
44f024:	6a 04                	push   $0x4
44f026:	8b 09                	mov    (%ecx),%ecx
44f028:	e8 b7 e5 fb ff       	call   0x40d5e4
44f02d:	84 c0                	test   %al,%al
44f02f:	74 17                	je     0x44f048
44f031:	8b cb                	mov    %ebx,%ecx
44f033:	e8 cf 58 fb ff       	call   0x404907
44f038:	83 63 2c 00          	andl   $0x0,0x2c(%ebx)
44f03c:	83 63 30 00          	andl   $0x0,0x30(%ebx)
44f040:	51                   	push   %ecx
44f041:	8b cb                	mov    %ebx,%ecx
44f043:	e8 f3 54 fb ff       	call   0x40453b
44f048:	5f                   	pop    %edi
44f049:	5e                   	pop    %esi
44f04a:	33 c0                	xor    %eax,%eax
44f04c:	5b                   	pop    %ebx
44f04d:	c9                   	leave
44f04e:	c2 08 00             	ret    $0x8
44f051:	55                   	push   %ebp
44f052:	8b ec                	mov    %esp,%ebp
44f054:	b8 00 00 01 00       	mov    $0x10000,%eax
44f059:	e8 42 08 fe ff       	call   0x42f8a0
44f05e:	53                   	push   %ebx
44f05f:	56                   	push   %esi
44f060:	57                   	push   %edi
44f061:	8b 7d 08             	mov    0x8(%ebp),%edi
44f064:	8b d9                	mov    %ecx,%ebx
44f066:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
44f06a:	76 3b                	jbe    0x44f0a7
44f06c:	8b 47 04             	mov    0x4(%edi),%eax
44f06f:	8b 48 04             	mov    0x4(%eax),%ecx
44f072:	e8 0f e2 fb ff       	call   0x40d286
44f077:	83 f8 01             	cmp    $0x1,%eax
44f07a:	75 2b                	jne    0x44f0a7
44f07c:	8b 47 04             	mov    0x4(%edi),%eax
44f07f:	8b 30                	mov    (%eax),%esi
44f081:	8b ce                	mov    %esi,%ecx
44f083:	e8 e4 a2 fb ff       	call   0x40936c
44f088:	8b 4e 08             	mov    0x8(%esi),%ecx
44f08b:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f091:	8b 09                	mov    (%ecx),%ecx
44f093:	50                   	push   %eax
44f094:	ba ff 7f 00 00       	mov    $0x7fff,%edx
44f099:	e8 1d 7e ff ff       	call   0x446ebb
44f09e:	59                   	pop    %ecx
44f09f:	8d 8d 00 00 ff ff    	lea    -0x10000(%ebp),%ecx
44f0a5:	eb 11                	jmp    0x44f0b8
44f0a7:	8b 47 04             	mov    0x4(%edi),%eax
44f0aa:	8b 30                	mov    (%eax),%esi
44f0ac:	8b ce                	mov    %esi,%ecx
44f0ae:	e8 b9 a2 fb ff       	call   0x40936c
44f0b3:	8b 46 08             	mov    0x8(%esi),%eax
44f0b6:	8b 08                	mov    (%eax),%ecx
44f0b8:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f0be:	50                   	push   %eax
44f0bf:	e8 12 7f ff ff       	call   0x446fd6
44f0c4:	59                   	pop    %ecx
44f0c5:	3c 01                	cmp    $0x1,%al
44f0c7:	75 11                	jne    0x44f0da
44f0c9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44f0cc:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f0d2:	50                   	push   %eax
44f0d3:	e8 e1 dc fb ff       	call   0x40cdb9
44f0d8:	eb 29                	jmp    0x44f103
44f0da:	8b 47 04             	mov    0x4(%edi),%eax
44f0dd:	8b 30                	mov    (%eax),%esi
44f0df:	8b ce                	mov    %esi,%ecx
44f0e1:	e8 86 a2 fb ff       	call   0x40936c
44f0e6:	8b 46 08             	mov    0x8(%esi),%eax
44f0e9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44f0ec:	ff 30                	push   (%eax)
44f0ee:	e8 c6 dc fb ff       	call   0x40cdb9
44f0f3:	8b 03                	mov    (%ebx),%eax
44f0f5:	6a 00                	push   $0x0
44f0f7:	8b 48 04             	mov    0x4(%eax),%ecx
44f0fa:	6a 01                	push   $0x1
44f0fc:	03 cb                	add    %ebx,%ecx
44f0fe:	e8 49 de ff ff       	call   0x44cf4c
44f103:	5f                   	pop    %edi
44f104:	5e                   	pop    %esi
44f105:	33 c0                	xor    %eax,%eax
44f107:	5b                   	pop    %ebx
44f108:	c9                   	leave
44f109:	c2 08 00             	ret    $0x8
44f10c:	55                   	push   %ebp
44f10d:	8b ec                	mov    %esp,%ebp
44f10f:	8b 45 08             	mov    0x8(%ebp),%eax
44f112:	53                   	push   %ebx
44f113:	8b 40 04             	mov    0x4(%eax),%eax
44f116:	56                   	push   %esi
44f117:	57                   	push   %edi
44f118:	33 db                	xor    %ebx,%ebx
44f11a:	53                   	push   %ebx
44f11b:	ff 30                	push   (%eax)
44f11d:	8d 45 08             	lea    0x8(%ebp),%eax
44f120:	50                   	push   %eax
44f121:	8b f1                	mov    %ecx,%esi
44f123:	e8 eb 2f 00 00       	call   0x452113
44f128:	84 c0                	test   %al,%al
44f12a:	74 2f                	je     0x44f15b
44f12c:	8b 8e 98 01 00 00    	mov    0x198(%esi),%ecx
44f132:	8b 45 08             	mov    0x8(%ebp),%eax
44f135:	8b 75 0c             	mov    0xc(%ebp),%esi
44f138:	8b 04 81             	mov    (%ecx,%eax,4),%eax
44f13b:	8b ce                	mov    %esi,%ecx
44f13d:	8b 00                	mov    (%eax),%eax
44f13f:	8b 40 04             	mov    0x4(%eax),%eax
44f142:	8b 78 10             	mov    0x10(%eax),%edi
44f145:	8b 58 14             	mov    0x14(%eax),%ebx
44f148:	e8 d3 3a fc ff       	call   0x412c20
44f14d:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
44f154:	89 3e                	mov    %edi,(%esi)
44f156:	89 5e 04             	mov    %ebx,0x4(%esi)
44f159:	eb 20                	jmp    0x44f17b
44f15b:	8b 06                	mov    (%esi),%eax
44f15d:	33 ff                	xor    %edi,%edi
44f15f:	8b 48 04             	mov    0x4(%eax),%ecx
44f162:	53                   	push   %ebx
44f163:	47                   	inc    %edi
44f164:	57                   	push   %edi
44f165:	03 ce                	add    %esi,%ecx
44f167:	e8 e0 dd ff ff       	call   0x44cf4c
44f16c:	8b 75 0c             	mov    0xc(%ebp),%esi
44f16f:	8b ce                	mov    %esi,%ecx
44f171:	e8 aa 3a fc ff       	call   0x412c20
44f176:	89 7e 0c             	mov    %edi,0xc(%esi)
44f179:	89 1e                	mov    %ebx,(%esi)
44f17b:	5f                   	pop    %edi
44f17c:	5e                   	pop    %esi
44f17d:	33 c0                	xor    %eax,%eax
44f17f:	5b                   	pop    %ebx
44f180:	5d                   	pop    %ebp
44f181:	c2 08 00             	ret    $0x8
44f184:	55                   	push   %ebp
44f185:	8b ec                	mov    %esp,%ebp
44f187:	b8 00 00 01 00       	mov    $0x10000,%eax
44f18c:	e8 0f 07 fe ff       	call   0x42f8a0
44f191:	53                   	push   %ebx
44f192:	56                   	push   %esi
44f193:	57                   	push   %edi
44f194:	8b 7d 08             	mov    0x8(%ebp),%edi
44f197:	8b d9                	mov    %ecx,%ebx
44f199:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
44f19d:	76 3b                	jbe    0x44f1da
44f19f:	8b 47 04             	mov    0x4(%edi),%eax
44f1a2:	8b 48 04             	mov    0x4(%eax),%ecx
44f1a5:	e8 dc e0 fb ff       	call   0x40d286
44f1aa:	83 f8 01             	cmp    $0x1,%eax
44f1ad:	75 2b                	jne    0x44f1da
44f1af:	8b 47 04             	mov    0x4(%edi),%eax
44f1b2:	8b 30                	mov    (%eax),%esi
44f1b4:	8b ce                	mov    %esi,%ecx
44f1b6:	e8 b1 a1 fb ff       	call   0x40936c
44f1bb:	8b 4e 08             	mov    0x8(%esi),%ecx
44f1be:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f1c4:	8b 09                	mov    (%ecx),%ecx
44f1c6:	50                   	push   %eax
44f1c7:	ba ff 7f 00 00       	mov    $0x7fff,%edx
44f1cc:	e8 ea 7c ff ff       	call   0x446ebb
44f1d1:	59                   	pop    %ecx
44f1d2:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f1d8:	eb 11                	jmp    0x44f1eb
44f1da:	8b 47 04             	mov    0x4(%edi),%eax
44f1dd:	8b 30                	mov    (%eax),%esi
44f1df:	8b ce                	mov    %esi,%ecx
44f1e1:	e8 86 a1 fb ff       	call   0x40936c
44f1e6:	8b 46 08             	mov    0x8(%esi),%eax
44f1e9:	8b 00                	mov    (%eax),%eax
44f1eb:	68 ff 7f 00 00       	push   $0x7fff
44f1f0:	8d 8d 00 00 ff ff    	lea    -0x10000(%ebp),%ecx
44f1f6:	51                   	push   %ecx
44f1f7:	50                   	push   %eax
44f1f8:	ff 15 b8 d2 48 00    	call   *0x48d2b8
44f1fe:	85 c0                	test   %eax,%eax
44f200:	74 09                	je     0x44f20b
44f202:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
44f208:	50                   	push   %eax
44f209:	eb 21                	jmp    0x44f22c
44f20b:	8b 03                	mov    (%ebx),%eax
44f20d:	6a 00                	push   $0x0
44f20f:	8b 48 04             	mov    0x4(%eax),%ecx
44f212:	6a 01                	push   $0x1
44f214:	03 cb                	add    %ebx,%ecx
44f216:	e8 31 dd ff ff       	call   0x44cf4c
44f21b:	8b 47 04             	mov    0x4(%edi),%eax
44f21e:	8b 30                	mov    (%eax),%esi
44f220:	8b ce                	mov    %esi,%ecx
44f222:	e8 45 a1 fb ff       	call   0x40936c
44f227:	8b 46 08             	mov    0x8(%esi),%eax
44f22a:	ff 30                	push   (%eax)
44f22c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44f22f:	e8 85 db fb ff       	call   0x40cdb9
44f234:	5f                   	pop    %edi
44f235:	5e                   	pop    %esi
44f236:	33 c0                	xor    %eax,%eax
44f238:	5b                   	pop    %ebx
44f239:	c9                   	leave
44f23a:	c2 08 00             	ret    $0x8
44f23d:	55                   	push   %ebp
44f23e:	8b ec                	mov    %esp,%ebp
44f240:	83 e4 f8             	and    $0xfffffff8,%esp
44f243:	81 ec 4c 02 00 00    	sub    $0x24c,%esp
44f249:	8b 45 08             	mov    0x8(%ebp),%eax
44f24c:	53                   	push   %ebx
44f24d:	8b 40 04             	mov    0x4(%eax),%eax
44f250:	56                   	push   %esi
44f251:	8b 30                	mov    (%eax),%esi
44f253:	57                   	push   %edi
44f254:	8b f9                	mov    %ecx,%edi
44f256:	8b ce                	mov    %esi,%ecx
44f258:	e8 0f a1 fb ff       	call   0x40936c
44f25d:	8b 56 08             	mov    0x8(%esi),%edx
44f260:	6a ff                	push   $0xffffffff
44f262:	8b 02                	mov    (%edx),%eax
44f264:	89 44 24 3c          	mov    %eax,0x3c(%esp)
44f268:	8b 42 04             	mov    0x4(%edx),%eax
44f26b:	6a ff                	push   $0xffffffff
44f26d:	89 44 24 44          	mov    %eax,0x44(%esp)
44f271:	8b 42 08             	mov    0x8(%edx),%eax
44f274:	6a ff                	push   $0xffffffff
44f276:	89 44 24 4c          	mov    %eax,0x4c(%esp)
44f27a:	8b 42 0c             	mov    0xc(%edx),%eax
44f27d:	6a 01                	push   $0x1
44f27f:	6a 02                	push   $0x2
44f281:	89 44 24 58          	mov    %eax,0x58(%esp)
44f285:	ff 00                	incl   (%eax)
44f287:	8b 74 24 50          	mov    0x50(%esp),%esi
44f28b:	bb cc 3c 4b 00       	mov    $0x4b3ccc,%ebx
44f290:	53                   	push   %ebx
44f291:	8d 4c 24 50          	lea    0x50(%esp),%ecx
44f295:	e8 77 2c ff ff       	call   0x441f11
44f29a:	3b c6                	cmp    %esi,%eax
44f29c:	75 0a                	jne    0x44f2a8
44f29e:	53                   	push   %ebx
44f29f:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
44f2a3:	e8 e4 5e fb ff       	call   0x40518c
44f2a8:	8b 75 0c             	mov    0xc(%ebp),%esi
44f2ab:	68 00 dc 49 00       	push   $0x49dc00
44f2b0:	8b ce                	mov    %esi,%ecx
44f2b2:	e8 02 db fb ff       	call   0x40cdb9
44f2b7:	8b 07                	mov    (%edi),%eax
44f2b9:	33 db                	xor    %ebx,%ebx
44f2bb:	8b 48 04             	mov    0x4(%eax),%ecx
44f2be:	53                   	push   %ebx
44f2bf:	6a 01                	push   $0x1
44f2c1:	03 cf                	add    %edi,%ecx
44f2c3:	e8 84 dc ff ff       	call   0x44cf4c
44f2c8:	8d 4c 24 38          	lea    0x38(%esp),%ecx
44f2cc:	e8 43 72 ff ff       	call   0x446514
44f2d1:	84 c0                	test   %al,%al
44f2d3:	0f 84 82 02 00 00    	je     0x44f55b
44f2d9:	53                   	push   %ebx
44f2da:	ff 15 3c d8 48 00    	call   *0x48d83c
44f2e0:	8d 44 24 0c          	lea    0xc(%esp),%eax
44f2e4:	50                   	push   %eax
44f2e5:	68 ec d8 48 00       	push   $0x48d8ec
44f2ea:	6a 01                	push   $0x1
44f2ec:	53                   	push   %ebx
44f2ed:	68 7c da 48 00       	push   $0x48da7c
44f2f2:	ff 15 2c d8 48 00    	call   *0x48d82c
44f2f8:	85 c0                	test   %eax,%eax
44f2fa:	0f 88 55 02 00 00    	js     0x44f555
44f300:	8b 44 24 0c          	mov    0xc(%esp),%eax
44f304:	8d 54 24 24          	lea    0x24(%esp),%edx
44f308:	8b 08                	mov    (%eax),%ecx
44f30a:	52                   	push   %edx
44f30b:	68 4c d9 48 00       	push   $0x48d94c
44f310:	50                   	push   %eax
44f311:	ff 11                	call   *(%ecx)
44f313:	85 c0                	test   %eax,%eax
44f315:	0f 88 30 02 00 00    	js     0x44f54b
44f31b:	8b 44 24 24          	mov    0x24(%esp),%eax
44f31f:	53                   	push   %ebx
44f320:	ff 74 24 3c          	push   0x3c(%esp)
44f324:	8b 08                	mov    (%eax),%ecx
44f326:	50                   	push   %eax
44f327:	ff 51 14             	call   *0x14(%ecx)
44f32a:	85 c0                	test   %eax,%eax
44f32c:	0f 88 0f 02 00 00    	js     0x44f541
44f332:	6a 07                	push   $0x7
44f334:	6a 01                	push   $0x1
44f336:	56                   	push   %esi
44f337:	e8 14 cd fc ff       	call   0x41c050
44f33c:	8b 44 24 18          	mov    0x18(%esp),%eax
44f340:	83 c4 0c             	add    $0xc,%esp
44f343:	8b 08                	mov    (%eax),%ecx
44f345:	6a 02                	push   $0x2
44f347:	53                   	push   %ebx
44f348:	bb 04 01 00 00       	mov    $0x104,%ebx
44f34d:	53                   	push   %ebx
44f34e:	8d 54 24 5c          	lea    0x5c(%esp),%edx
44f352:	52                   	push   %edx