42416a:	75 8d                	jne    0x4240f9
42416c:	8b 75 08             	mov    0x8(%ebp),%esi
42416f:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
424175:	50                   	push   %eax
424176:	6a 28                	push   $0x28
424178:	57                   	push   %edi
424179:	8d 45 ec             	lea    -0x14(%ebp),%eax
42417c:	6a 01                	push   $0x1
42417e:	50                   	push   %eax
42417f:	e8 fb 68 00 00       	call   0x42aa7f
424184:	0b d8                	or     %eax,%ebx
424186:	8d 86 9c 00 00 00    	lea    0x9c(%esi),%eax
42418c:	50                   	push   %eax
42418d:	6a 29                	push   $0x29
42418f:	57                   	push   %edi
424190:	8d 45 ec             	lea    -0x14(%ebp),%eax
424193:	6a 01                	push   $0x1
424195:	50                   	push   %eax
424196:	e8 e4 68 00 00       	call   0x42aa7f
42419b:	0b d8                	or     %eax,%ebx
42419d:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
4241a3:	50                   	push   %eax
4241a4:	6a 28                	push   $0x28
4241a6:	57                   	push   %edi
4241a7:	8d 45 ec             	lea    -0x14(%ebp),%eax
4241aa:	6a 02                	push   $0x2
4241ac:	50                   	push   %eax
4241ad:	e8 cd 68 00 00       	call   0x42aa7f
4241b2:	0b d8                	or     %eax,%ebx
4241b4:	8d 86 50 01 00 00    	lea    0x150(%esi),%eax
4241ba:	50                   	push   %eax
4241bb:	6a 29                	push   $0x29
4241bd:	57                   	push   %edi
4241be:	8d 45 ec             	lea    -0x14(%ebp),%eax
4241c1:	6a 02                	push   $0x2
4241c3:	50                   	push   %eax
4241c4:	e8 b6 68 00 00       	call   0x42aa7f
4241c9:	83 c4 50             	add    $0x50,%esp
4241cc:	0b d8                	or     %eax,%ebx
4241ce:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
4241d4:	50                   	push   %eax
4241d5:	6a 1f                	push   $0x1f
4241d7:	57                   	push   %edi
4241d8:	8d 45 ec             	lea    -0x14(%ebp),%eax
4241db:	6a 01                	push   $0x1
4241dd:	50                   	push   %eax
4241de:	e8 9c 68 00 00       	call   0x42aa7f
4241e3:	0b d8                	or     %eax,%ebx
4241e5:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
4241eb:	50                   	push   %eax
4241ec:	6a 20                	push   $0x20
4241ee:	57                   	push   %edi
4241ef:	8d 45 ec             	lea    -0x14(%ebp),%eax
4241f2:	6a 01                	push   $0x1
4241f4:	50                   	push   %eax
4241f5:	e8 85 68 00 00       	call   0x42aa7f
4241fa:	0b d8                	or     %eax,%ebx
4241fc:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
424202:	50                   	push   %eax
424203:	68 03 10 00 00       	push   $0x1003
424208:	57                   	push   %edi
424209:	8d 45 ec             	lea    -0x14(%ebp),%eax
42420c:	6a 01                	push   $0x1
42420e:	50                   	push   %eax
42420f:	e8 6b 68 00 00       	call   0x42aa7f
424214:	0b d8                	or     %eax,%ebx
424216:	8d 86 ac 00 00 00    	lea    0xac(%esi),%eax
42421c:	50                   	push   %eax
42421d:	68 09 10 00 00       	push   $0x1009
424222:	57                   	push   %edi
424223:	8d 45 ec             	lea    -0x14(%ebp),%eax
424226:	6a 00                	push   $0x0
424228:	50                   	push   %eax
424229:	e8 51 68 00 00       	call   0x42aa7f
42422e:	83 c4 50             	add    $0x50,%esp
424231:	0b d8                	or     %eax,%ebx
424233:	8d 86 54 01 00 00    	lea    0x154(%esi),%eax
424239:	50                   	push   %eax
42423a:	6a 1f                	push   $0x1f
42423c:	57                   	push   %edi
42423d:	6a 02                	push   $0x2
42423f:	8d 45 ec             	lea    -0x14(%ebp),%eax
424242:	50                   	push   %eax
424243:	e8 37 68 00 00       	call   0x42aa7f
424248:	0b d8                	or     %eax,%ebx
42424a:	8d 86 58 01 00 00    	lea    0x158(%esi),%eax
424250:	50                   	push   %eax
424251:	6a 20                	push   $0x20
424253:	57                   	push   %edi
424254:	8d 45 ec             	lea    -0x14(%ebp),%eax
424257:	6a 02                	push   $0x2
424259:	50                   	push   %eax
42425a:	e8 20 68 00 00       	call   0x42aa7f
42425f:	0b d8                	or     %eax,%ebx
424261:	8d 86 5c 01 00 00    	lea    0x15c(%esi),%eax
424267:	50                   	push   %eax
424268:	68 03 10 00 00       	push   $0x1003
42426d:	57                   	push   %edi
42426e:	8d 45 ec             	lea    -0x14(%ebp),%eax
424271:	6a 02                	push   $0x2
424273:	50                   	push   %eax
424274:	e8 06 68 00 00       	call   0x42aa7f
424279:	83 c4 3c             	add    $0x3c,%esp
42427c:	0b c3                	or     %ebx,%eax
42427e:	f7 d8                	neg    %eax
424280:	1a c0                	sbb    %al,%al
424282:	5f                   	pop    %edi
424283:	5e                   	pop    %esi
424284:	fe c0                	inc    %al
424286:	5b                   	pop    %ebx
424287:	c9                   	leave
424288:	c3                   	ret
424289:	8b ff                	mov    %edi,%edi
42428b:	55                   	push   %ebp
42428c:	8b ec                	mov    %esp,%ebp
42428e:	56                   	push   %esi
42428f:	8b 75 08             	mov    0x8(%ebp),%esi
424292:	85 f6                	test   %esi,%esi
424294:	0f 84 d0 00 00 00    	je     0x42436a
42429a:	6a 07                	push   $0x7
42429c:	56                   	push   %esi
42429d:	e8 46 fd ff ff       	call   0x423fe8
4242a2:	8d 46 1c             	lea    0x1c(%esi),%eax
4242a5:	6a 07                	push   $0x7
4242a7:	50                   	push   %eax
4242a8:	e8 3b fd ff ff       	call   0x423fe8
4242ad:	8d 46 38             	lea    0x38(%esi),%eax
4242b0:	6a 0c                	push   $0xc
4242b2:	50                   	push   %eax
4242b3:	e8 30 fd ff ff       	call   0x423fe8
4242b8:	8d 46 68             	lea    0x68(%esi),%eax
4242bb:	6a 0c                	push   $0xc
4242bd:	50                   	push   %eax
4242be:	e8 25 fd ff ff       	call   0x423fe8
4242c3:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
4242c9:	6a 02                	push   $0x2
4242cb:	50                   	push   %eax
4242cc:	e8 17 fd ff ff       	call   0x423fe8
4242d1:	ff b6 a0 00 00 00    	push   0xa0(%esi)
4242d7:	e8 34 29 fe ff       	call   0x406c10
4242dc:	ff b6 a4 00 00 00    	push   0xa4(%esi)
4242e2:	e8 29 29 fe ff       	call   0x406c10
4242e7:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4242ed:	e8 1e 29 fe ff       	call   0x406c10
4242f2:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
4242f8:	6a 07                	push   $0x7
4242fa:	50                   	push   %eax
4242fb:	e8 e8 fc ff ff       	call   0x423fe8
424300:	8d 86 d0 00 00 00    	lea    0xd0(%esi),%eax
424306:	6a 07                	push   $0x7
424308:	50                   	push   %eax
424309:	e8 da fc ff ff       	call   0x423fe8
42430e:	83 c4 44             	add    $0x44,%esp
424311:	8d 86 ec 00 00 00    	lea    0xec(%esi),%eax
424317:	6a 0c                	push   $0xc
424319:	50                   	push   %eax
42431a:	e8 c9 fc ff ff       	call   0x423fe8
42431f:	8d 86 1c 01 00 00    	lea    0x11c(%esi),%eax
424325:	6a 0c                	push   $0xc
424327:	50                   	push   %eax
424328:	e8 bb fc ff ff       	call   0x423fe8
42432d:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
424333:	6a 02                	push   $0x2
424335:	50                   	push   %eax
424336:	e8 ad fc ff ff       	call   0x423fe8
42433b:	ff b6 54 01 00 00    	push   0x154(%esi)
424341:	e8 ca 28 fe ff       	call   0x406c10
424346:	ff b6 58 01 00 00    	push   0x158(%esi)
42434c:	e8 bf 28 fe ff       	call   0x406c10
424351:	ff b6 5c 01 00 00    	push   0x15c(%esi)
424357:	e8 b4 28 fe ff       	call   0x406c10
42435c:	ff b6 60 01 00 00    	push   0x160(%esi)
424362:	e8 a9 28 fe ff       	call   0x406c10
424367:	83 c4 28             	add    $0x28,%esp
42436a:	5e                   	pop    %esi
42436b:	5d                   	pop    %ebp
42436c:	c3                   	ret
42436d:	8b ff                	mov    %edi,%edi
42436f:	55                   	push   %ebp
424370:	8b ec                	mov    %esp,%ebp
424372:	53                   	push   %ebx
424373:	8b 5d 08             	mov    0x8(%ebp),%ebx
424376:	56                   	push   %esi
424377:	57                   	push   %edi
424378:	33 ff                	xor    %edi,%edi
42437a:	39 bb b4 00 00 00    	cmp    %edi,0xb4(%ebx)
424380:	75 07                	jne    0x424389
424382:	be a8 33 43 00       	mov    $0x4333a8,%esi
424387:	eb 46                	jmp    0x4243cf
424389:	68 64 01 00 00       	push   $0x164
42438e:	6a 01                	push   $0x1
424390:	e8 1b 28 fe ff       	call   0x406bb0
424395:	8b f0                	mov    %eax,%esi
424397:	59                   	pop    %ecx
424398:	59                   	pop    %ecx
424399:	85 f6                	test   %esi,%esi
42439b:	74 16                	je     0x4243b3
42439d:	53                   	push   %ebx
42439e:	56                   	push   %esi
42439f:	e8 69 fc ff ff       	call   0x42400d
4243a4:	59                   	pop    %ecx
4243a5:	59                   	pop    %ecx
4243a6:	84 c0                	test   %al,%al
4243a8:	75 14                	jne    0x4243be
4243aa:	56                   	push   %esi
4243ab:	e8 d9 fe ff ff       	call   0x424289
4243b0:	59                   	pop    %ecx
4243b1:	8b fe                	mov    %esi,%edi
4243b3:	57                   	push   %edi
4243b4:	e8 57 28 fe ff       	call   0x406c10
4243b9:	33 c0                	xor    %eax,%eax
4243bb:	40                   	inc    %eax
4243bc:	eb 24                	jmp    0x4243e2
4243be:	57                   	push   %edi
4243bf:	c7 86 b0 00 00 00 01 	movl   $0x1,0xb0(%esi)
4243c6:	00 00 00
4243c9:	e8 42 28 fe ff       	call   0x406c10
4243ce:	59                   	pop    %ecx
4243cf:	ff b3 9c 00 00 00    	push   0x9c(%ebx)
4243d5:	e8 7a 04 00 00       	call   0x424854
4243da:	89 b3 9c 00 00 00    	mov    %esi,0x9c(%ebx)
4243e0:	33 c0                	xor    %eax,%eax
4243e2:	59                   	pop    %ecx
4243e3:	5f                   	pop    %edi
4243e4:	5e                   	pop    %esi
4243e5:	5b                   	pop    %ebx
4243e6:	5d                   	pop    %ebp
4243e7:	c3                   	ret
4243e8:	8b ff                	mov    %edi,%edi
4243ea:	55                   	push   %ebp
4243eb:	8b ec                	mov    %esp,%ebp
4243ed:	51                   	push   %ecx
4243ee:	8b 4d 08             	mov    0x8(%ebp),%ecx
4243f1:	53                   	push   %ebx
4243f2:	56                   	push   %esi
4243f3:	57                   	push   %edi
4243f4:	8b 7d 14             	mov    0x14(%ebp),%edi
4243f7:	85 ff                	test   %edi,%edi
4243f9:	75 23                	jne    0x42441e
4243fb:	85 c9                	test   %ecx,%ecx
4243fd:	75 23                	jne    0x424422
4243ff:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
424402:	0f 84 c1 00 00 00    	je     0x4244c9
424408:	e8 64 82 ff ff       	call   0x41c671
42440d:	6a 16                	push   $0x16
42440f:	5e                   	pop    %esi
424410:	89 30                	mov    %esi,(%eax)
424412:	e8 d7 8f fe ff       	call   0x40d3ee
424417:	8b c6                	mov    %esi,%eax
424419:	5f                   	pop    %edi
42441a:	5e                   	pop    %esi
42441b:	5b                   	pop    %ebx
42441c:	c9                   	leave
42441d:	c3                   	ret
42441e:	85 c9                	test   %ecx,%ecx
424420:	74 e6                	je     0x424408
424422:	8b 45 0c             	mov    0xc(%ebp),%eax
424425:	85 c0                	test   %eax,%eax
424427:	74 df                	je     0x424408
424429:	8b 5d 10             	mov    0x10(%ebp),%ebx
42442c:	85 ff                	test   %edi,%edi
42442e:	74 0b                	je     0x42443b
424430:	85 db                	test   %ebx,%ebx
424432:	75 07                	jne    0x42443b
424434:	33 c0                	xor    %eax,%eax
424436:	66 89 01             	mov    %ax,(%ecx)
424439:	eb cd                	jmp    0x424408
42443b:	8b f0                	mov    %eax,%esi
42443d:	89 7d fc             	mov    %edi,-0x4(%ebp)
424440:	8b d1                	mov    %ecx,%edx
424442:	8b c7                	mov    %edi,%eax
424444:	66 83 3a 00          	cmpw   $0x0,(%edx)
424448:	74 0a                	je     0x424454
42444a:	83 c2 02             	add    $0x2,%edx
42444d:	83 ee 01             	sub    $0x1,%esi
424450:	75 f2                	jne    0x424444
424452:	eb e0                	jmp    0x424434
424454:	83 ff ff             	cmp    $0xffffffff,%edi
424457:	75 18                	jne    0x424471
424459:	2b da                	sub    %edx,%ebx
42445b:	0f b7 04 13          	movzwl (%ebx,%edx,1),%eax
42445f:	66 89 02             	mov    %ax,(%edx)
424462:	8d 52 02             	lea    0x2(%edx),%edx
424465:	66 85 c0             	test   %ax,%ax
424468:	74 33                	je     0x42449d
42446a:	83 ee 01             	sub    $0x1,%esi
42446d:	75 ec                	jne    0x42445b
42446f:	eb 2c                	jmp    0x42449d
424471:	85 ff                	test   %edi,%edi
424473:	74 21                	je     0x424496
424475:	0f b7 03             	movzwl (%ebx),%eax
424478:	8d 5b 02             	lea    0x2(%ebx),%ebx
42447b:	66 89 02             	mov    %ax,(%edx)
42447e:	83 c2 02             	add    $0x2,%edx
424481:	66 85 c0             	test   %ax,%ax
424484:	74 43                	je     0x4244c9
424486:	8b 45 fc             	mov    -0x4(%ebp),%eax
424489:	83 ee 01             	sub    $0x1,%esi
42448c:	74 08                	je     0x424496
42448e:	83 e8 01             	sub    $0x1,%eax
424491:	89 45 fc             	mov    %eax,-0x4(%ebp)
424494:	75 df                	jne    0x424475
424496:	85 c0                	test   %eax,%eax
424498:	75 03                	jne    0x42449d
42449a:	66 89 02             	mov    %ax,(%edx)
42449d:	85 f6                	test   %esi,%esi
42449f:	75 28                	jne    0x4244c9
4244a1:	83 ff ff             	cmp    $0xffffffff,%edi
4244a4:	75 12                	jne    0x4244b8
4244a6:	8b 45 0c             	mov    0xc(%ebp),%eax
4244a9:	33 d2                	xor    %edx,%edx
4244ab:	6a 50                	push   $0x50
4244ad:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
4244b2:	58                   	pop    %eax
4244b3:	e9 61 ff ff ff       	jmp    0x424419
4244b8:	33 c0                	xor    %eax,%eax
4244ba:	66 89 01             	mov    %ax,(%ecx)
4244bd:	e8 af 81 ff ff       	call   0x41c671
4244c2:	6a 22                	push   $0x22
4244c4:	e9 46 ff ff ff       	jmp    0x42440f
4244c9:	33 c0                	xor    %eax,%eax
4244cb:	e9 49 ff ff ff       	jmp    0x424419
4244d0:	8b ff                	mov    %edi,%edi
4244d2:	55                   	push   %ebp
4244d3:	8b ec                	mov    %esp,%ebp
4244d5:	5d                   	pop    %ebp
4244d6:	e9 0d ff ff ff       	jmp    0x4243e8
4244db:	8b ff                	mov    %edi,%edi
4244dd:	55                   	push   %ebp
4244de:	8b ec                	mov    %esp,%ebp
4244e0:	51                   	push   %ecx
4244e1:	51                   	push   %ecx
4244e2:	8b 55 08             	mov    0x8(%ebp),%edx
4244e5:	33 c0                	xor    %eax,%eax
4244e7:	53                   	push   %ebx
4244e8:	56                   	push   %esi
4244e9:	57                   	push   %edi
4244ea:	8b ca                	mov    %edx,%ecx
4244ec:	66 39 02             	cmp    %ax,(%edx)
4244ef:	74 38                	je     0x424529
4244f1:	8b 75 0c             	mov    0xc(%ebp),%esi
4244f4:	0f b7 1e             	movzwl (%esi),%ebx
4244f7:	8b fe                	mov    %esi,%edi
4244f9:	66 85 db             	test   %bx,%bx
4244fc:	74 23                	je     0x424521
4244fe:	0f b7 01             	movzwl (%ecx),%eax
424501:	89 45 fc             	mov    %eax,-0x4(%ebp)
424504:	8b c3                	mov    %ebx,%eax
424506:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
42450a:	74 1d                	je     0x424529