42220f:	c2 08 00             	ret    $0x8
422212:	8b ff                	mov    %edi,%edi
422214:	55                   	push   %ebp
422215:	8b ec                	mov    %esp,%ebp
422217:	51                   	push   %ecx
422218:	53                   	push   %ebx
422219:	56                   	push   %esi
42221a:	8b da                	mov    %edx,%ebx
42221c:	8b f1                	mov    %ecx,%esi
42221e:	57                   	push   %edi
42221f:	3b f3                	cmp    %ebx,%esi
422221:	74 3a                	je     0x42225d
422223:	8b 7d 08             	mov    0x8(%ebp),%edi
422226:	85 ff                	test   %edi,%edi
422228:	74 33                	je     0x42225d
42222a:	66 83 3f 00          	cmpw   $0x0,(%edi)
42222e:	74 2d                	je     0x42225d
422230:	8b cf                	mov    %edi,%ecx
422232:	e8 66 12 00 00       	call   0x42349d
422237:	2b de                	sub    %esi,%ebx
422239:	89 45 fc             	mov    %eax,-0x4(%ebp)
42223c:	3b d8                	cmp    %eax,%ebx
42223e:	72 1d                	jb     0x42225d
422240:	50                   	push   %eax
422241:	57                   	push   %edi
422242:	53                   	push   %ebx
422243:	56                   	push   %esi
422244:	ff 15 e8 a3 44 00    	call   *0x44a3e8
42224a:	8b 45 0c             	mov    0xc(%ebp),%eax
42224d:	83 c4 10             	add    $0x10,%esp
422250:	85 c0                	test   %eax,%eax
422252:	74 02                	je     0x422256
422254:	89 30                	mov    %esi,(%eax)
422256:	8b 45 fc             	mov    -0x4(%ebp),%eax
422259:	03 c6                	add    %esi,%eax
42225b:	eb 0a                	jmp    0x422267
42225d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
422260:	e8 0d 5a ff ff       	call   0x417c72
422265:	8b c6                	mov    %esi,%eax
422267:	5f                   	pop    %edi
422268:	5e                   	pop    %esi
422269:	5b                   	pop    %ebx
42226a:	c9                   	leave
42226b:	c2 08 00             	ret    $0x8
42226e:	8b ff                	mov    %edi,%edi
422270:	55                   	push   %ebp
422271:	8b ec                	mov    %esp,%ebp
422273:	8b 55 08             	mov    0x8(%ebp),%edx
422276:	53                   	push   %ebx
422277:	56                   	push   %esi
422278:	8b f1                	mov    %ecx,%esi
42227a:	33 db                	xor    %ebx,%ebx
42227c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42227f:	57                   	push   %edi
422280:	6a 30                	push   $0x30
422282:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
422288:	8d 7e 10             	lea    0x10(%esi),%edi
42228b:	8b 02                	mov    (%edx),%eax
42228d:	89 46 04             	mov    %eax,0x4(%esi)
422290:	89 1a                	mov    %ebx,(%edx)
422292:	8b 01                	mov    (%ecx),%eax
422294:	89 46 08             	mov    %eax,0x8(%esi)
422297:	89 19                	mov    %ebx,(%ecx)
422299:	8b 41 04             	mov    0x4(%ecx),%eax
42229c:	89 46 0c             	mov    %eax,0xc(%esi)
42229f:	89 59 04             	mov    %ebx,0x4(%ecx)
4222a2:	5b                   	pop    %ebx
4222a3:	53                   	push   %ebx
4222a4:	6a 00                	push   $0x0
4222a6:	57                   	push   %edi
4222a7:	e8 11 5d ff ff       	call   0x417fbd
4222ac:	83 c4 0c             	add    $0xc,%esp
4222af:	66 89 1f             	mov    %bx,(%edi)
4222b2:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
4222b9:	33 c0                	xor    %eax,%eax
4222bb:	83 c7 08             	add    $0x8,%edi
4222be:	6a 0a                	push   $0xa
4222c0:	59                   	pop    %ecx
4222c1:	f3 ab                	rep stos %eax,%es:(%edi)
4222c3:	5f                   	pop    %edi
4222c4:	8b c6                	mov    %esi,%eax
4222c6:	5e                   	pop    %esi
4222c7:	5b                   	pop    %ebx
4222c8:	5d                   	pop    %ebp
4222c9:	c2 08 00             	ret    $0x8
4222cc:	8b ff                	mov    %edi,%edi
4222ce:	55                   	push   %ebp
4222cf:	8b ec                	mov    %esp,%ebp
4222d1:	51                   	push   %ecx
4222d2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4222d5:	8d 41 28             	lea    0x28(%ecx),%eax
4222d8:	57                   	push   %edi
4222d9:	8b 7d fc             	mov    -0x4(%ebp),%edi
4222dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4222df:	3b f8                	cmp    %eax,%edi
4222e1:	74 3b                	je     0x42231e
4222e3:	53                   	push   %ebx
4222e4:	56                   	push   %esi
4222e5:	8b 1f                	mov    (%edi),%ebx
4222e7:	85 db                	test   %ebx,%ebx
4222e9:	74 24                	je     0x42230f
4222eb:	8b f3                	mov    %ebx,%esi
4222ed:	8b 5b 04             	mov    0x4(%ebx),%ebx
4222f0:	8d 4e 08             	lea    0x8(%esi),%ecx
4222f3:	e8 fe 01 00 00       	call   0x4224f6
4222f8:	56                   	push   %esi
4222f9:	6a 00                	push   $0x0
4222fb:	ff 15 34 a1 44 00    	call   *0x44a134
422301:	50                   	push   %eax
422302:	ff 15 3c a1 44 00    	call   *0x44a13c
422308:	85 db                	test   %ebx,%ebx
42230a:	75 df                	jne    0x4222eb
42230c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42230f:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
422315:	83 c7 04             	add    $0x4,%edi
422318:	3b f8                	cmp    %eax,%edi
42231a:	75 c9                	jne    0x4222e5
42231c:	5e                   	pop    %esi
42231d:	5b                   	pop    %ebx
42231e:	5f                   	pop    %edi
42231f:	c9                   	leave
422320:	c3                   	ret
422321:	8b 01                	mov    (%ecx),%eax
422323:	83 21 00             	andl   $0x0,(%ecx)
422326:	85 c0                	test   %eax,%eax
422328:	74 10                	je     0x42233a
42232a:	50                   	push   %eax
42232b:	6a 00                	push   $0x0
42232d:	ff 15 34 a1 44 00    	call   *0x44a134
422333:	50                   	push   %eax
422334:	ff 15 3c a1 44 00    	call   *0x44a13c
42233a:	c3                   	ret
42233b:	8b ff                	mov    %edi,%edi
42233d:	55                   	push   %ebp
42233e:	8b ec                	mov    %esp,%ebp
422340:	51                   	push   %ecx
422341:	51                   	push   %ecx
422342:	56                   	push   %esi
422343:	8b f1                	mov    %ecx,%esi
422345:	57                   	push   %edi
422346:	bf 60 25 42 00       	mov    $0x422560,%edi
42234b:	8b 46 04             	mov    0x4(%esi),%eax
42234e:	85 c0                	test   %eax,%eax
422350:	74 11                	je     0x422363
422352:	8d 55 fc             	lea    -0x4(%ebp),%edx
422355:	89 45 fc             	mov    %eax,-0x4(%ebp)
422358:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42235b:	89 7d f8             	mov    %edi,-0x8(%ebp)
42235e:	e8 17 59 ff ff       	call   0x417c7a
422363:	8b 06                	mov    (%esi),%eax
422365:	85 c0                	test   %eax,%eax
422367:	74 11                	je     0x42237a
422369:	8d 55 f8             	lea    -0x8(%ebp),%edx
42236c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42236f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
422372:	89 7d fc             	mov    %edi,-0x4(%ebp)
422375:	e8 00 59 ff ff       	call   0x417c7a
42237a:	5f                   	pop    %edi
42237b:	5e                   	pop    %esi
42237c:	c9                   	leave
42237d:	c3                   	ret
42237e:	8b ff                	mov    %edi,%edi
422380:	55                   	push   %ebp
422381:	8b ec                	mov    %esp,%ebp
422383:	81 ec 28 02 00 00    	sub    $0x228,%esp
422389:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42238e:	33 c5                	xor    %ebp,%eax
422390:	89 45 fc             	mov    %eax,-0x4(%ebp)
422393:	53                   	push   %ebx
422394:	56                   	push   %esi
422395:	57                   	push   %edi
422396:	8b da                	mov    %edx,%ebx
422398:	33 ff                	xor    %edi,%edi
42239a:	51                   	push   %ecx
42239b:	6a 40                	push   $0x40
42239d:	89 3b                	mov    %edi,(%ebx)
42239f:	ff 15 10 a2 44 00    	call   *0x44a210
4223a5:	50                   	push   %eax
4223a6:	68 40 38 40 00       	push   $0x403840
4223ab:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4223b1:	68 04 01 00 00       	push   $0x104
4223b6:	50                   	push   %eax
4223b7:	e8 03 77 fe ff       	call   0x409abf
4223bc:	83 c4 18             	add    $0x18,%esp
4223bf:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4223c5:	68 01 00 1f 00       	push   $0x1f0001
4223ca:	57                   	push   %edi
4223cb:	50                   	push   %eax
4223cc:	57                   	push   %edi
4223cd:	ff 15 88 a2 44 00    	call   *0x44a288
4223d3:	8b f0                	mov    %eax,%esi
4223d5:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
4223db:	85 f6                	test   %esi,%esi
4223dd:	75 0c                	jne    0x4223eb
4223df:	e8 b8 06 00 00       	call   0x422a9c
4223e4:	8b f8                	mov    %eax,%edi
4223e6:	e9 a1 00 00 00       	jmp    0x42248c
4223eb:	83 ec 0c             	sub    $0xc,%esp
4223ee:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4223f4:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4223fa:	50                   	push   %eax
4223fb:	e8 dc 15 00 00       	call   0x4239dc
422400:	51                   	push   %ecx
422401:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
422407:	89 bd ec fd ff ff    	mov    %edi,-0x214(%ebp)
42240d:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
422413:	8b f7                	mov    %edi,%esi
422415:	e8 56 fd ff ff       	call   0x422170
42241a:	8b f8                	mov    %eax,%edi
42241c:	85 ff                	test   %edi,%edi
42241e:	79 13                	jns    0x422433
422420:	8b 4d 04             	mov    0x4(%ebp),%ecx
422423:	57                   	push   %edi
422424:	68 7c 34 40 00       	push   $0x40347c
422429:	6a 6b                	push   $0x6b
42242b:	5a                   	pop    %edx
42242c:	e8 a3 10 00 00       	call   0x4234d4
422431:	eb 0b                	jmp    0x42243e
422433:	8b b5 ec fd ff ff    	mov    -0x214(%ebp),%esi
422439:	c1 e6 02             	shl    $0x2,%esi
42243c:	33 ff                	xor    %edi,%edi
42243e:	85 ff                	test   %edi,%edi
422440:	79 0a                	jns    0x42244c
422442:	ba 26 01 00 00       	mov    $0x126,%edx
422447:	e9 97 00 00 00       	jmp    0x4224e3
42244c:	85 f6                	test   %esi,%esi
42244e:	74 72                	je     0x4224c2
422450:	89 33                	mov    %esi,(%ebx)
422452:	8b 0e                	mov    (%esi),%ecx
422454:	8b 03                	mov    (%ebx),%eax
422456:	41                   	inc    %ecx
422457:	89 08                	mov    %ecx,(%eax)
422459:	33 ff                	xor    %edi,%edi
42245b:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
422461:	85 c0                	test   %eax,%eax
422463:	74 21                	je     0x422486
422465:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
42246b:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
422471:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
422477:	c7 85 e0 fd ff ff c0 	movl   $0x4232c0,-0x220(%ebp)
42247e:	32 42 00
422481:	e8 f4 57 ff ff       	call   0x417c7a
422486:	8b b5 f0 fd ff ff    	mov    -0x210(%ebp),%esi
42248c:	85 f6                	test   %esi,%esi
42248e:	74 21                	je     0x4224b1
422490:	8d 95 dc fd ff ff    	lea    -0x224(%ebp),%edx
422496:	89 b5 dc fd ff ff    	mov    %esi,-0x224(%ebp)
42249c:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
4224a2:	c7 85 d8 fd ff ff 60 	movl   $0x422560,-0x228(%ebp)
4224a9:	25 42 00
4224ac:	e8 c9 57 ff ff       	call   0x417c7a
4224b1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4224b4:	8b c7                	mov    %edi,%eax
4224b6:	5f                   	pop    %edi
4224b7:	5e                   	pop    %esi
4224b8:	33 cd                	xor    %ebp,%ecx
4224ba:	5b                   	pop    %ebx
4224bb:	e8 70 46 ff ff       	call   0x416b30
4224c0:	c9                   	leave
4224c1:	c3                   	ret
4224c2:	53                   	push   %ebx
4224c3:	8d 95 f0 fd ff ff    	lea    -0x210(%ebp),%edx
4224c9:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
4224cf:	e8 d2 0b 00 00       	call   0x4230a6
4224d4:	8b f8                	mov    %eax,%edi
4224d6:	85 ff                	test   %edi,%edi
4224d8:	0f 89 7b ff ff ff    	jns    0x422459
4224de:	ba 2e 01 00 00       	mov    $0x12e,%edx
4224e3:	8b 4d 04             	mov    0x4(%ebp),%ecx
4224e6:	57                   	push   %edi
4224e7:	68 7c 34 40 00       	push   $0x40347c
4224ec:	e8 e3 0f 00 00       	call   0x4234d4
4224f1:	e9 65 ff ff ff       	jmp    0x42245b
4224f6:	8b ff                	mov    %edi,%edi
4224f8:	53                   	push   %ebx
4224f9:	57                   	push   %edi
4224fa:	8b f9                	mov    %ecx,%edi
4224fc:	0f b7 47 14          	movzwl 0x14(%edi),%eax
422500:	8b 4f 10             	mov    0x10(%edi),%ecx
422503:	6b d8 2c             	imul   $0x2c,%eax,%ebx
422506:	03 d9                	add    %ecx,%ebx
422508:	3b cb                	cmp    %ebx,%ecx
42250a:	74 2a                	je     0x422536
42250c:	56                   	push   %esi
42250d:	8d 71 24             	lea    0x24(%ecx),%esi
422510:	ff 36                	push   (%esi)
422512:	6a 00                	push   $0x0
422514:	ff 15 34 a1 44 00    	call   *0x44a134
42251a:	50                   	push   %eax
42251b:	ff 15 3c a1 44 00    	call   *0x44a13c
422521:	83 26 00             	andl   $0x0,(%esi)
422524:	8d 76 2c             	lea    0x2c(%esi),%esi
422527:	83 66 d8 00          	andl   $0x0,-0x28(%esi)
42252b:	8d 46 dc             	lea    -0x24(%esi),%eax
42252e:	3b c3                	cmp    %ebx,%eax
422530:	75 de                	jne    0x422510
422532:	8b 4f 10             	mov    0x10(%edi),%ecx
422535:	5e                   	pop    %esi
422536:	51                   	push   %ecx
422537:	6a 00                	push   $0x0
422539:	ff 15 34 a1 44 00    	call   *0x44a134
42253f:	50                   	push   %eax
422540:	ff 15 3c a1 44 00    	call   *0x44a13c
422546:	33 c0                	xor    %eax,%eax
422548:	21 47 10             	and    %eax,0x10(%edi)
42254b:	89 47 14             	mov    %eax,0x14(%edi)
42254e:	5f                   	pop    %edi
42254f:	5b                   	pop    %ebx
422550:	c3                   	ret
422551:	cc                   	int3
422552:	cc                   	int3
422553:	cc                   	int3
422554:	cc                   	int3
422555:	cc                   	int3
422556:	cc                   	int3
422557:	cc                   	int3
422558:	cc                   	int3
422559:	cc                   	int3
42255a:	cc                   	int3
42255b:	cc                   	int3
42255c:	cc                   	int3
42255d:	cc                   	int3
42255e:	cc                   	int3
42255f:	cc                   	int3
422560:	8b ff                	mov    %edi,%edi
422562:	55                   	push   %ebp
422563:	8b ec                	mov    %esp,%ebp
422565:	ff 75 08             	push   0x8(%ebp)
422568:	ff 15 1c a1 44 00    	call   *0x44a11c
42256e:	85 c0                	test   %eax,%eax
422570:	75 0e                	jne    0x422580
422572:	51                   	push   %ecx
422573:	8b 4d 04             	mov    0x4(%ebp),%ecx
422576:	ba 26 09 00 00       	mov    $0x926,%edx
42257b:	e8 47 14 00 00       	call   0x4239c7
422580:	5d                   	pop    %ebp
422581:	c2 04 00             	ret    $0x4
422584:	8b ff                	mov    %edi,%edi
422586:	55                   	push   %ebp
422587:	8b ec                	mov    %esp,%ebp
422589:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
42258f:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
422594:	33 c5                	xor    %ebp,%eax
422596:	89 45 fc             	mov    %eax,-0x4(%ebp)
422599:	53                   	push   %ebx
42259a:	8b 5d 10             	mov    0x10(%ebp),%ebx
42259d:	8b c3                	mov    %ebx,%eax
42259f:	25 00 00 00 80       	and    $0x80000000,%eax
4225a4:	89 8d ec fd ff ff    	mov    %ecx,-0x214(%ebp)
4225aa:	0b 45 14             	or     0x14(%ebp),%eax