52c055:	eb 2f                	jmp    0x52c086
52c057:	8d 41 01             	lea    0x1(%ecx),%eax
52c05a:	89 46 6c             	mov    %eax,0x6c(%esi)
52c05d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c060:	8b 46 68             	mov    0x68(%esi),%eax
52c063:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52c06a:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52c071:	00
52c072:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c076:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c07d:	00
52c07e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c085:	00
52c086:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
52c08c:	8b c8                	mov    %eax,%ecx
52c08e:	8b 56 6c             	mov    0x6c(%esi),%edx
52c091:	85 c0                	test   %eax,%eax
52c093:	79 03                	jns    0x52c098
52c095:	8d 4a ff             	lea    -0x1(%edx),%ecx
52c098:	8b 06                	mov    (%esi),%eax
52c09a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c09e:	74 0a                	je     0x52c0aa
52c0a0:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52c0a5:	89 50 08             	mov    %edx,0x8(%eax)
52c0a8:	eb 35                	jmp    0x52c0df
52c0aa:	8b 46 68             	mov    0x68(%esi),%eax
52c0ad:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c0b0:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c0b4:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c0b7:	eb 26                	jmp    0x52c0df
52c0b9:	8b 4e 0c             	mov    0xc(%esi),%ecx
52c0bc:	8b 55 a4             	mov    -0x5c(%ebp),%edx
52c0bf:	f7 d2                	not    %edx
52c0c1:	8b 41 3c             	mov    0x3c(%ecx),%eax
52c0c4:	03 41 38             	add    0x38(%ecx),%eax
52c0c7:	79 0d                	jns    0x52c0d6
52c0c9:	52                   	push   %edx
52c0ca:	56                   	push   %esi
52c0cb:	51                   	push   %ecx
52c0cc:	e8 cf 76 fe ff       	call   0x5137a0
52c0d1:	83 c4 0c             	add    $0xc,%esp
52c0d4:	eb 09                	jmp    0x52c0df
52c0d6:	8b 49 40             	mov    0x40(%ecx),%ecx
52c0d9:	8b 46 6c             	mov    0x6c(%esi),%eax
52c0dc:	89 04 91             	mov    %eax,(%ecx,%edx,4)
52c0df:	8b 4d 98             	mov    -0x68(%ebp),%ecx
52c0e2:	3b 4d cc             	cmp    -0x34(%ebp),%ecx
52c0e5:	74 33                	je     0x52c11a
52c0e7:	8b 45 84             	mov    -0x7c(%ebp),%eax
52c0ea:	83 f8 01             	cmp    $0x1,%eax
52c0ed:	75 20                	jne    0x52c10f
52c0ef:	85 c9                	test   %ecx,%ecx
52c0f1:	74 27                	je     0x52c11a
52c0f3:	8a 43 13             	mov    0x13(%ebx),%al
52c0f6:	8b 7d d0             	mov    -0x30(%ebp),%edi
52c0f9:	8b 55 b8             	mov    -0x48(%ebp),%edx
52c0fc:	3c 08                	cmp    $0x8,%al
52c0fe:	73 20                	jae    0x52c120
52c100:	0f b6 c0             	movzbl %al,%eax
52c103:	89 8c 83 94 00 00 00 	mov    %ecx,0x94(%ebx,%eax,4)
52c10a:	fe 43 13             	incb   0x13(%ebx)
52c10d:	eb 11                	jmp    0x52c120
52c10f:	3b 43 1c             	cmp    0x1c(%ebx),%eax
52c112:	7e 06                	jle    0x52c11a
52c114:	89 43 1c             	mov    %eax,0x1c(%ebx)
52c117:	89 4b 20             	mov    %ecx,0x20(%ebx)
52c11a:	8b 55 b8             	mov    -0x48(%ebp),%edx
52c11d:	8b 7d d0             	mov    -0x30(%ebp),%edi
52c120:	8b 45 d4             	mov    -0x2c(%ebp),%eax
52c123:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52c126:	8b 7f 14             	mov    0x14(%edi),%edi
52c129:	40                   	inc    %eax
52c12a:	89 7d d0             	mov    %edi,-0x30(%ebp)
52c12d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
52c130:	85 ff                	test   %edi,%edi
52c132:	0f 85 98 f0 ff ff    	jne    0x52b1d0
52c138:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
52c13b:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
52c141:	85 d2                	test   %edx,%edx
52c143:	74 71                	je     0x52c1b6
52c145:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c148:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c14b:	7f 12                	jg     0x52c15f
52c14d:	6a 00                	push   $0x0
52c14f:	52                   	push   %edx
52c150:	6a 00                	push   $0x0
52c152:	6a 0b                	push   $0xb
52c154:	56                   	push   %esi
52c155:	e8 a6 a3 fd ff       	call   0x506500
52c15a:	83 c4 14             	add    $0x14,%esp
52c15d:	eb 2f                	jmp    0x52c18e
52c15f:	8d 41 01             	lea    0x1(%ecx),%eax
52c162:	89 46 6c             	mov    %eax,0x6c(%esi)
52c165:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c168:	8b 46 68             	mov    0x68(%esi),%eax
52c16b:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52c172:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52c179:	00
52c17a:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c17e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c185:	00
52c186:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c18d:	00
52c18e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
52c191:	8b 56 6c             	mov    0x6c(%esi),%edx
52c194:	85 c9                	test   %ecx,%ecx
52c196:	79 03                	jns    0x52c19b
52c198:	8d 4a ff             	lea    -0x1(%edx),%ecx
52c19b:	8b 06                	mov    (%esi),%eax
52c19d:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c1a1:	74 07                	je     0x52c1aa
52c1a3:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52c1a8:	eb 09                	jmp    0x52c1b3
52c1aa:	8b 46 68             	mov    0x68(%esi),%eax
52c1ad:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c1b0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c1b3:	89 50 08             	mov    %edx,0x8(%eax)
52c1b6:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
52c1bd:	0f 84 b2 02 00 00    	je     0x52c475
52c1c3:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c1c6:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c1c9:	7f 13                	jg     0x52c1de
52c1cb:	6a 00                	push   $0x0
52c1cd:	53                   	push   %ebx
52c1ce:	ff 75 c8             	push   -0x38(%ebp)
52c1d1:	6a 14                	push   $0x14
52c1d3:	56                   	push   %esi
52c1d4:	e8 27 a3 fd ff       	call   0x506500
52c1d9:	83 c4 14             	add    $0x14,%esp
52c1dc:	eb 2e                	jmp    0x52c20c
52c1de:	8b 55 c8             	mov    -0x38(%ebp),%edx
52c1e1:	8d 41 01             	lea    0x1(%ecx),%eax
52c1e4:	89 46 6c             	mov    %eax,0x6c(%esi)
52c1e7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c1ea:	8b 46 68             	mov    0x68(%esi),%eax
52c1ed:	c7 04 88 14 00 00 00 	movl   $0x14,(%eax,%ecx,4)
52c1f4:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52c1f8:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
52c1fc:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c203:	00
52c204:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c20b:	00
52c20c:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
52c210:	8b 7d 8c             	mov    -0x74(%ebp),%edi
52c213:	0f 85 f0 01 00 00    	jne    0x52c409
52c219:	8b 55 20             	mov    0x20(%ebp),%edx
52c21c:	85 d2                	test   %edx,%edx
52c21e:	74 5b                	je     0x52c27b
52c220:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c223:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c226:	7f 12                	jg     0x52c23a
52c228:	52                   	push   %edx
52c229:	57                   	push   %edi
52c22a:	ff 75 1c             	push   0x1c(%ebp)
52c22d:	6a 35                	push   $0x35
52c22f:	56                   	push   %esi
52c230:	e8 cb a2 fd ff       	call   0x506500
52c235:	83 c4 14             	add    $0x14,%esp
52c238:	eb 2a                	jmp    0x52c264
52c23a:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
52c23d:	8d 41 01             	lea    0x1(%ecx),%eax
52c240:	89 46 6c             	mov    %eax,0x6c(%esi)
52c243:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c246:	8b 46 68             	mov    0x68(%esi),%eax
52c249:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
52c250:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
52c254:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52c258:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
52c25c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c263:	00
52c264:	8b 46 6c             	mov    0x6c(%esi),%eax
52c267:	85 c0                	test   %eax,%eax
52c269:	7e 10                	jle    0x52c27b
52c26b:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52c26e:	ba 90 00 00 00       	mov    $0x90,%edx
52c273:	8b 46 68             	mov    0x68(%esi),%eax
52c276:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52c27b:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c27e:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c281:	7f 14                	jg     0x52c297
52c283:	ff 75 1c             	push   0x1c(%ebp)
52c286:	57                   	push   %edi
52c287:	ff 75 14             	push   0x14(%ebp)
52c28a:	6a 20                	push   $0x20
52c28c:	56                   	push   %esi
52c28d:	e8 6e a2 fd ff       	call   0x506500
52c292:	83 c4 14             	add    $0x14,%esp
52c295:	eb 2d                	jmp    0x52c2c4
52c297:	8b 55 14             	mov    0x14(%ebp),%edx
52c29a:	8d 41 01             	lea    0x1(%ecx),%eax
52c29d:	89 46 6c             	mov    %eax,0x6c(%esi)
52c2a0:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c2a3:	8b 46 68             	mov    0x68(%esi),%eax
52c2a6:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52c2aa:	8b 55 1c             	mov    0x1c(%ebp),%edx
52c2ad:	c7 04 88 20 00 00 00 	movl   $0x20,(%eax,%ecx,4)
52c2b4:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52c2b8:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
52c2bc:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c2c3:	00
52c2c4:	8b 55 d8             	mov    -0x28(%ebp),%edx
52c2c7:	0f b7 42 28          	movzwl 0x28(%edx),%eax
52c2cb:	66 85 c0             	test   %ax,%ax
52c2ce:	78 27                	js     0x52c2f7
52c2d0:	98                   	cwtl
52c2d1:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52c2d4:	8b 42 04             	mov    0x4(%edx),%eax
52c2d7:	ff 34 88             	push   (%eax,%ecx,4)
52c2da:	8b 45 dc             	mov    -0x24(%ebp),%eax
52c2dd:	ff 32                	push   (%edx)
52c2df:	68 24 9d 6b 00       	push   $0x6b9d24
52c2e4:	ff 30                	push   (%eax)
52c2e6:	e8 55 4c 00 00       	call   0x530f40
52c2eb:	83 c4 10             	add    $0x10,%esp
52c2ee:	c7 45 88 13 06 00 00 	movl   $0x613,-0x78(%ebp)
52c2f5:	eb 1b                	jmp    0x52c312
52c2f7:	ff 32                	push   (%edx)
52c2f9:	8b 45 dc             	mov    -0x24(%ebp),%eax
52c2fc:	68 08 a7 6b 00       	push   $0x6ba708
52c301:	ff 30                	push   (%eax)
52c303:	e8 38 4c 00 00       	call   0x530f40
52c308:	83 c4 0c             	add    $0xc,%esp
52c30b:	c7 45 88 13 0a 00 00 	movl   $0xa13,-0x78(%ebp)
52c312:	8b 55 dc             	mov    -0x24(%ebp),%edx
52c315:	8b d8                	mov    %eax,%ebx
52c317:	8b 7a 08             	mov    0x8(%edx),%edi
52c31a:	85 ff                	test   %edi,%edi
52c31c:	75 1f                	jne    0x52c33d
52c31e:	39 7a 74             	cmp    %edi,0x74(%edx)
52c321:	75 0c                	jne    0x52c32f
52c323:	8b 02                	mov    (%edx),%eax
52c325:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
52c329:	75 04                	jne    0x52c32f
52c32b:	c6 42 17 01          	movb   $0x1,0x17(%edx)
52c32f:	52                   	push   %edx
52c330:	e8 db 60 01 00       	call   0x542410
52c335:	8b 55 dc             	mov    -0x24(%ebp),%edx
52c338:	83 c4 04             	add    $0x4,%esp
52c33b:	8b f8                	mov    %eax,%edi
52c33d:	8b 4a 74             	mov    0x74(%edx),%ecx
52c340:	85 c9                	test   %ecx,%ecx
52c342:	0f 45 d1             	cmovne %ecx,%edx
52c345:	c6 42 15 01          	movb   $0x1,0x15(%edx)
52c349:	8b 57 6c             	mov    0x6c(%edi),%edx
52c34c:	89 95 50 ff ff ff    	mov    %edx,-0xb0(%ebp)
52c352:	39 57 70             	cmp    %edx,0x70(%edi)
52c355:	7f 16                	jg     0x52c36d
52c357:	6a 00                	push   $0x0
52c359:	6a 02                	push   $0x2
52c35b:	ff 75 88             	push   -0x78(%ebp)
52c35e:	6a 44                	push   $0x44
52c360:	57                   	push   %edi
52c361:	e8 9a a1 fd ff       	call   0x506500
52c366:	83 c4 14             	add    $0x14,%esp
52c369:	8b d0                	mov    %eax,%edx
52c36b:	eb 38                	jmp    0x52c3a5
52c36d:	8d 42 01             	lea    0x1(%edx),%eax
52c370:	89 47 6c             	mov    %eax,0x6c(%edi)
52c373:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52c376:	8b 47 68             	mov    0x68(%edi),%eax
52c379:	8b 55 88             	mov    -0x78(%ebp),%edx
52c37c:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52c380:	8b 95 50 ff ff ff    	mov    -0xb0(%ebp),%edx
52c386:	c7 04 88 44 00 00 00 	movl   $0x44,(%eax,%ecx,4)
52c38d:	c7 44 88 08 02 00 00 	movl   $0x2,0x8(%eax,%ecx,4)
52c394:	00
52c395:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c39c:	00
52c39d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c3a4:	00
52c3a5:	8b 07                	mov    (%edi),%eax
52c3a7:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c3ab:	74 0e                	je     0x52c3bb
52c3ad:	53                   	push   %ebx
52c3ae:	6a f9                	push   $0xfffffff9
52c3b0:	50                   	push   %eax
52c3b1:	e8 fa 78 fd ff       	call   0x503cb0
52c3b6:	83 c4 0c             	add    $0xc,%esp
52c3b9:	eb 32                	jmp    0x52c3ed
52c3bb:	85 d2                	test   %edx,%edx
52c3bd:	79 04                	jns    0x52c3c3
52c3bf:	8b 57 6c             	mov    0x6c(%edi),%edx
52c3c2:	4a                   	dec    %edx
52c3c3:	8b 47 68             	mov    0x68(%edi),%eax
52c3c6:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52c3c9:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
52c3ce:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c3d1:	75 0d                	jne    0x52c3e0
52c3d3:	85 db                	test   %ebx,%ebx
52c3d5:	74 16                	je     0x52c3ed
52c3d7:	89 58 10             	mov    %ebx,0x10(%eax)
52c3da:	c6 40 01 f9          	movb   $0xf9,0x1(%eax)
52c3de:	eb 0d                	jmp    0x52c3ed
52c3e0:	6a f9                	push   $0xfffffff9
52c3e2:	53                   	push   %ebx
52c3e3:	50                   	push   %eax
52c3e4:	57                   	push   %edi
52c3e5:	e8 56 d8 02 00       	call   0x559c40
52c3ea:	83 c4 10             	add    $0x10,%esp
52c3ed:	8b 47 6c             	mov    0x6c(%edi),%eax
52c3f0:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
52c3f3:	85 c0                	test   %eax,%eax
52c3f5:	7e 5b                	jle    0x52c452
52c3f7:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52c3fa:	ba 02 00 00 00       	mov    $0x2,%edx
52c3ff:	8b 47 68             	mov    0x68(%edi),%eax
52c402:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52c407:	eb 49                	jmp    0x52c452
52c409:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c40c:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c40f:	7f 12                	jg     0x52c423
52c411:	6a 00                	push   $0x0
52c413:	57                   	push   %edi
52c414:	6a 00                	push   $0x0
52c416:	6a 0b                	push   $0xb
52c418:	56                   	push   %esi
52c419:	e8 e2 a0 fd ff       	call   0x506500
52c41e:	83 c4 14             	add    $0x14,%esp
52c421:	eb 2f                	jmp    0x52c452
52c423:	8d 41 01             	lea    0x1(%ecx),%eax
52c426:	89 46 6c             	mov    %eax,0x6c(%esi)
52c429:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c42c:	8b 46 68             	mov    0x68(%esi),%eax
52c42f:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52c436:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52c43d:	00
52c43e:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52c442:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c449:	00
52c44a:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c451:	00
52c452:	8b 4e 0c             	mov    0xc(%esi),%ecx
52c455:	f7 d3                	not    %ebx
52c457:	8b 41 3c             	mov    0x3c(%ecx),%eax
52c45a:	03 41 38             	add    0x38(%ecx),%eax
52c45d:	79 0d                	jns    0x52c46c
52c45f:	53                   	push   %ebx
52c460:	56                   	push   %esi
52c461:	51                   	push   %ecx
52c462:	e8 39 73 fe ff       	call   0x5137a0
52c467:	83 c4 0c             	add    $0xc,%esp
52c46a:	eb 09                	jmp    0x52c475
52c46c:	8b 49 40             	mov    0x40(%ecx),%ecx
52c46f:	8b 46 6c             	mov    0x6c(%esi),%eax
52c472:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
52c475:	8b 45 d8             	mov    -0x28(%ebp),%eax
52c478:	f6 40 24 80          	testb  $0x80,0x24(%eax)
52c47c:	75 67                	jne    0x52c4e5
52c47e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
52c481:	8b 55 b8             	mov    -0x48(%ebp),%edx