43f17b:	33 cc                	xor    %esp,%ecx
43f17d:	e8 ce dd 00 00       	call   0x44cf50
43f182:	8b e5                	mov    %ebp,%esp
43f184:	5d                   	pop    %ebp
43f185:	c2 04 00             	ret    $0x4
43f188:	cc                   	int3
43f189:	cc                   	int3
43f18a:	cc                   	int3
43f18b:	cc                   	int3
43f18c:	cc                   	int3
43f18d:	cc                   	int3
43f18e:	cc                   	int3
43f18f:	cc                   	int3
43f190:	8b ff                	mov    %edi,%edi
43f192:	55                   	push   %ebp
43f193:	8b ec                	mov    %esp,%ebp
43f195:	83 ec 48             	sub    $0x48,%esp
43f198:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f19d:	33 c5                	xor    %ebp,%eax
43f19f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f1a2:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f1a9:	56                   	push   %esi
43f1aa:	57                   	push   %edi
43f1ab:	8b f9                	mov    %ecx,%edi
43f1ad:	0f 86 c4 00 00 00    	jbe    0x43f277
43f1b3:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f1b9:	33 c0                	xor    %eax,%eax
43f1bb:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f1c1:	0b c6                	or     %esi,%eax
43f1c3:	0f 84 ae 00 00 00    	je     0x43f277
43f1c9:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f1cf:	33 f6                	xor    %esi,%esi
43f1d1:	8b c1                	mov    %ecx,%eax
43f1d3:	25 00 40 00 00       	and    $0x4000,%eax
43f1d8:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f1de:	0f 85 93 00 00 00    	jne    0x43f277
43f1e4:	3b c1                	cmp    %ecx,%eax
43f1e6:	0f 85 8b 00 00 00    	jne    0x43f277
43f1ec:	85 d2                	test   %edx,%edx
43f1ee:	74 1d                	je     0x43f20d
43f1f0:	8b ca                	mov    %edx,%ecx
43f1f2:	8d 71 02             	lea    0x2(%ecx),%esi
43f1f5:	66 8b 01             	mov    (%ecx),%ax
43f1f8:	83 c1 02             	add    $0x2,%ecx
43f1fb:	66 85 c0             	test   %ax,%ax
43f1fe:	75 f5                	jne    0x43f1f5
43f200:	2b ce                	sub    %esi,%ecx
43f202:	d1 f9                	sar    $1,%ecx
43f204:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f20b:	eb 0a                	jmp    0x43f217
43f20d:	ba 8c 20 40 00       	mov    $0x40208c,%edx
43f212:	b9 02 00 00 00       	mov    $0x2,%ecx
43f217:	89 55 e8             	mov    %edx,-0x18(%ebp)
43f21a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
43f221:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43f224:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
43f22b:	85 ff                	test   %edi,%edi
43f22d:	74 11                	je     0x43f240
43f22f:	8b cf                	mov    %edi,%ecx
43f231:	8d 51 01             	lea    0x1(%ecx),%edx
43f234:	8a 01                	mov    (%ecx),%al
43f236:	41                   	inc    %ecx
43f237:	84 c0                	test   %al,%al
43f239:	75 f9                	jne    0x43f234
43f23b:	2b ca                	sub    %edx,%ecx
43f23d:	41                   	inc    %ecx
43f23e:	eb 0a                	jmp    0x43f24a
43f240:	bf 52 0d 41 00       	mov    $0x410d52,%edi
43f245:	b9 01 00 00 00       	mov    $0x1,%ecx
43f24a:	8d 45 b8             	lea    -0x48(%ebp),%eax
43f24d:	89 7d d8             	mov    %edi,-0x28(%ebp)
43f250:	50                   	push   %eax
43f251:	6a 04                	push   $0x4
43f253:	6a 00                	push   $0x0
43f255:	6a 00                	push   $0x0
43f257:	68 ff 43 41 00       	push   $0x4143ff
43f25c:	68 18 f0 44 00       	push   $0x44f018
43f261:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
43f268:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43f26b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
43f272:	e8 c9 56 fd ff       	call   0x414940
43f277:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f27a:	5f                   	pop    %edi
43f27b:	33 cd                	xor    %ebp,%ecx
43f27d:	5e                   	pop    %esi
43f27e:	e8 cd dc 00 00       	call   0x44cf50
43f283:	8b e5                	mov    %ebp,%esp
43f285:	5d                   	pop    %ebp
43f286:	c3                   	ret
43f287:	cc                   	int3
43f288:	cc                   	int3
43f289:	cc                   	int3
43f28a:	cc                   	int3
43f28b:	cc                   	int3
43f28c:	cc                   	int3
43f28d:	cc                   	int3
43f28e:	cc                   	int3
43f28f:	cc                   	int3
43f290:	8b ff                	mov    %edi,%edi
43f292:	55                   	push   %ebp
43f293:	8b ec                	mov    %esp,%ebp
43f295:	83 ec 6c             	sub    $0x6c,%esp
43f298:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f29d:	33 c5                	xor    %ebp,%eax
43f29f:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f2a2:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f2a9:	56                   	push   %esi
43f2aa:	57                   	push   %edi
43f2ab:	8b f9                	mov    %ecx,%edi
43f2ad:	0f 86 91 00 00 00    	jbe    0x43f344
43f2b3:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f2b9:	33 c0                	xor    %eax,%eax
43f2bb:	81 e6 00 20 00 00    	and    $0x2000,%esi
43f2c1:	0b c6                	or     %esi,%eax
43f2c3:	74 7f                	je     0x43f344
43f2c5:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f2cb:	33 f6                	xor    %esi,%esi
43f2cd:	8b c1                	mov    %ecx,%eax
43f2cf:	25 00 20 00 00       	and    $0x2000,%eax
43f2d4:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f2da:	75 68                	jne    0x43f344
43f2dc:	3b c1                	cmp    %ecx,%eax
43f2de:	75 64                	jne    0x43f344
43f2e0:	8b 45 08             	mov    0x8(%ebp),%eax
43f2e3:	89 45 a0             	mov    %eax,-0x60(%ebp)
43f2e6:	33 c0                	xor    %eax,%eax
43f2e8:	83 ff 01             	cmp    $0x1,%edi
43f2eb:	89 55 9c             	mov    %edx,-0x64(%ebp)
43f2ee:	89 75 e8             	mov    %esi,-0x18(%ebp)
43f2f1:	0f 94 c0             	sete   %al
43f2f4:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
43f2fb:	89 45 98             	mov    %eax,-0x68(%ebp)
43f2fe:	8d 45 a0             	lea    -0x60(%ebp),%eax
43f301:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43f304:	8d 45 9c             	lea    -0x64(%ebp),%eax
43f307:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43f30a:	8d 45 98             	lea    -0x68(%ebp),%eax
43f30d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43f310:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43f313:	50                   	push   %eax
43f314:	6a 05                	push   $0x5
43f316:	56                   	push   %esi
43f317:	56                   	push   %esi
43f318:	68 cc 43 41 00       	push   $0x4143cc
43f31d:	68 18 f0 44 00       	push   $0x44f018
43f322:	89 75 f0             	mov    %esi,-0x10(%ebp)
43f325:	89 75 d8             	mov    %esi,-0x28(%ebp)
43f328:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
43f32f:	89 75 e0             	mov    %esi,-0x20(%ebp)
43f332:	89 75 c8             	mov    %esi,-0x38(%ebp)
43f335:	c7 45 cc 04 00 00 00 	movl   $0x4,-0x34(%ebp)
43f33c:	89 75 d0             	mov    %esi,-0x30(%ebp)
43f33f:	e8 fc 55 fd ff       	call   0x414940
43f344:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43f347:	5f                   	pop    %edi
43f348:	33 cd                	xor    %ebp,%ecx
43f34a:	5e                   	pop    %esi
43f34b:	e8 00 dc 00 00       	call   0x44cf50
43f350:	8b e5                	mov    %ebp,%esp
43f352:	5d                   	pop    %ebp
43f353:	c2 04 00             	ret    $0x4
43f356:	cc                   	int3
43f357:	cc                   	int3
43f358:	cc                   	int3
43f359:	cc                   	int3
43f35a:	cc                   	int3
43f35b:	cc                   	int3
43f35c:	cc                   	int3
43f35d:	cc                   	int3
43f35e:	cc                   	int3
43f35f:	cc                   	int3
43f360:	8b ff                	mov    %edi,%edi
43f362:	55                   	push   %ebp
43f363:	8b ec                	mov    %esp,%ebp
43f365:	83 ec 60             	sub    $0x60,%esp
43f368:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f36d:	33 c5                	xor    %ebp,%eax
43f36f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f372:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f379:	56                   	push   %esi
43f37a:	57                   	push   %edi
43f37b:	8b f9                	mov    %ecx,%edi
43f37d:	0f 86 83 00 00 00    	jbe    0x43f406
43f383:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f389:	33 c0                	xor    %eax,%eax
43f38b:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f391:	0b c6                	or     %esi,%eax
43f393:	74 71                	je     0x43f406
43f395:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f39b:	33 f6                	xor    %esi,%esi
43f39d:	8b c1                	mov    %ecx,%eax
43f39f:	25 00 40 00 00       	and    $0x4000,%eax
43f3a4:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f3aa:	75 5a                	jne    0x43f406
43f3ac:	3b c1                	cmp    %ecx,%eax
43f3ae:	75 56                	jne    0x43f406
43f3b0:	8d 45 08             	lea    0x8(%ebp),%eax
43f3b3:	89 55 a4             	mov    %edx,-0x5c(%ebp)
43f3b6:	89 45 e8             	mov    %eax,-0x18(%ebp)
43f3b9:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43f3bc:	89 45 d8             	mov    %eax,-0x28(%ebp)
43f3bf:	8d 45 a0             	lea    -0x60(%ebp),%eax
43f3c2:	89 45 c8             	mov    %eax,-0x38(%ebp)
43f3c5:	8d 45 a8             	lea    -0x58(%ebp),%eax
43f3c8:	50                   	push   %eax
43f3c9:	6a 05                	push   $0x5
43f3cb:	56                   	push   %esi
43f3cc:	56                   	push   %esi
43f3cd:	68 92 43 41 00       	push   $0x414392
43f3d2:	68 18 f0 44 00       	push   $0x44f018
43f3d7:	89 7d a0             	mov    %edi,-0x60(%ebp)
43f3da:	89 75 ec             	mov    %esi,-0x14(%ebp)
43f3dd:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
43f3e4:	89 75 f4             	mov    %esi,-0xc(%ebp)
43f3e7:	89 75 dc             	mov    %esi,-0x24(%ebp)
43f3ea:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
43f3f1:	89 75 e4             	mov    %esi,-0x1c(%ebp)
43f3f4:	89 75 cc             	mov    %esi,-0x34(%ebp)
43f3f7:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
43f3fe:	89 75 d4             	mov    %esi,-0x2c(%ebp)
43f401:	e8 3a 55 fd ff       	call   0x414940
43f406:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f409:	5f                   	pop    %edi
43f40a:	33 cd                	xor    %ebp,%ecx
43f40c:	5e                   	pop    %esi
43f40d:	e8 3e db 00 00       	call   0x44cf50
43f412:	8b e5                	mov    %ebp,%esp
43f414:	5d                   	pop    %ebp
43f415:	c2 08 00             	ret    $0x8
43f418:	cc                   	int3
43f419:	cc                   	int3
43f41a:	cc                   	int3
43f41b:	cc                   	int3
43f41c:	cc                   	int3
43f41d:	cc                   	int3
43f41e:	cc                   	int3
43f41f:	cc                   	int3
43f420:	8b ff                	mov    %edi,%edi
43f422:	55                   	push   %ebp
43f423:	8b ec                	mov    %esp,%ebp
43f425:	83 e4 f8             	and    $0xfffffff8,%esp
43f428:	83 ec 50             	sub    $0x50,%esp
43f42b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f430:	33 c4                	xor    %esp,%eax
43f432:	89 44 24 4c          	mov    %eax,0x4c(%esp)
43f436:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f43d:	56                   	push   %esi
43f43e:	57                   	push   %edi
43f43f:	8b f9                	mov    %ecx,%edi
43f441:	76 7d                	jbe    0x43f4c0
43f443:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f449:	33 c0                	xor    %eax,%eax
43f44b:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f451:	0b c6                	or     %esi,%eax
43f453:	74 6b                	je     0x43f4c0
43f455:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f45b:	33 f6                	xor    %esi,%esi
43f45d:	8b c1                	mov    %ecx,%eax
43f45f:	25 00 40 00 00       	and    $0x4000,%eax
43f464:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f46a:	75 54                	jne    0x43f4c0
43f46c:	3b c1                	cmp    %ecx,%eax
43f46e:	75 50                	jne    0x43f4c0
43f470:	8d 44 24 08          	lea    0x8(%esp),%eax
43f474:	89 54 24 08          	mov    %edx,0x8(%esp)
43f478:	89 44 24 40          	mov    %eax,0x40(%esp)
43f47c:	8d 44 24 0c          	lea    0xc(%esp),%eax
43f480:	89 44 24 30          	mov    %eax,0x30(%esp)
43f484:	8d 44 24 10          	lea    0x10(%esp),%eax
43f488:	50                   	push   %eax
43f489:	6a 04                	push   $0x4
43f48b:	56                   	push   %esi
43f48c:	56                   	push   %esi
43f48d:	68 69 43 41 00       	push   $0x414369
43f492:	68 18 f0 44 00       	push   $0x44f018
43f497:	89 7c 24 24          	mov    %edi,0x24(%esp)
43f49b:	89 74 24 5c          	mov    %esi,0x5c(%esp)
43f49f:	c7 44 24 60 04 00 00 	movl   $0x4,0x60(%esp)
43f4a6:	00
43f4a7:	89 74 24 64          	mov    %esi,0x64(%esp)
43f4ab:	89 74 24 4c          	mov    %esi,0x4c(%esp)
43f4af:	c7 44 24 50 04 00 00 	movl   $0x4,0x50(%esp)
43f4b6:	00
43f4b7:	89 74 24 54          	mov    %esi,0x54(%esp)
43f4bb:	e8 80 54 fd ff       	call   0x414940
43f4c0:	8b 4c 24 54          	mov    0x54(%esp),%ecx
43f4c4:	5f                   	pop    %edi
43f4c5:	5e                   	pop    %esi
43f4c6:	33 cc                	xor    %esp,%ecx
43f4c8:	e8 83 da 00 00       	call   0x44cf50
43f4cd:	8b e5                	mov    %ebp,%esp
43f4cf:	5d                   	pop    %ebp
43f4d0:	c3                   	ret
43f4d1:	cc                   	int3
43f4d2:	cc                   	int3
43f4d3:	cc                   	int3
43f4d4:	cc                   	int3
43f4d5:	cc                   	int3
43f4d6:	cc                   	int3
43f4d7:	cc                   	int3
43f4d8:	cc                   	int3
43f4d9:	cc                   	int3
43f4da:	cc                   	int3
43f4db:	cc                   	int3
43f4dc:	cc                   	int3
43f4dd:	cc                   	int3
43f4de:	cc                   	int3
43f4df:	cc                   	int3
43f4e0:	8b ff                	mov    %edi,%edi
43f4e2:	55                   	push   %ebp
43f4e3:	8b ec                	mov    %esp,%ebp
43f4e5:	83 ec 18             	sub    $0x18,%esp
43f4e8:	53                   	push   %ebx
43f4e9:	56                   	push   %esi
43f4ea:	57                   	push   %edi
43f4eb:	8d 45 e8             	lea    -0x18(%ebp),%eax
43f4ee:	89 55 f8             	mov    %edx,-0x8(%ebp)
43f4f1:	50                   	push   %eax
43f4f2:	8b f1                	mov    %ecx,%esi
43f4f4:	33 d2                	xor    %edx,%edx
43f4f6:	bb e4 00 00 00       	mov    $0xe4,%ebx
43f4fb:	89 75 f0             	mov    %esi,-0x10(%ebp)
43f4fe:	6a 01                	push   $0x1
43f500:	33 ff                	xor    %edi,%edi
43f502:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43f505:	89 55 f4             	mov    %edx,-0xc(%ebp)
43f508:	ff 15 80 20 45 00    	call   *0x452080
43f50e:	89 45 ec             	mov    %eax,-0x14(%ebp)
43f511:	66 39 3e             	cmp    %di,(%esi)
43f514:	0f 84 e4 00 00 00    	je     0x43f5fe
43f51a:	8b 45 f8             	mov    -0x8(%ebp),%eax
43f51d:	f7 d8                	neg    %eax
43f51f:	1b c0                	sbb    %eax,%eax
43f521:	25 00 f8 ff ff       	and    $0xfffff800,%eax
43f526:	05 00 08 00 00       	add    $0x800,%eax
43f52b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f52e:	8b ff                	mov    %edi,%edi
43f530:	50                   	push   %eax
43f531:	6a 00                	push   $0x0
43f533:	56                   	push   %esi
43f534:	ff 15 68 21 45 00    	call   *0x452168
43f53a:	8b d8                	mov    %eax,%ebx
43f53c:	85 db                	test   %ebx,%ebx
43f53e:	74 7e                	je     0x43f5be
43f540:	83 fb ff             	cmp    $0xffffffff,%ebx
43f543:	74 79                	je     0x43f5be
43f545:	ff 75 08             	push   0x8(%ebp)
43f548:	53                   	push   %ebx
43f549:	ff 15 58 21 45 00    	call   *0x452158
43f54f:	8b c8                	mov    %eax,%ecx