504133:	68 94 c4 6b 00       	push   $0x6bc494
504138:	68 78 c4 6b 00       	push   $0x6bc478
50413d:	6a 0b                	push   $0xb
50413f:	e8 9c be fd ff       	call   0x4dffe0
504144:	83 c4 14             	add    $0x14,%esp
504147:	b8 0b 00 00 00       	mov    $0xb,%eax
50414c:	5f                   	pop    %edi
50414d:	5e                   	pop    %esi
50414e:	5b                   	pop    %ebx
50414f:	8b e5                	mov    %ebp,%esp
504151:	5d                   	pop    %ebp
504152:	c3                   	ret
504153:	8b 55 0c             	mov    0xc(%ebp),%edx
504156:	8b 45 08             	mov    0x8(%ebp),%eax
504159:	0f b7 cb             	movzwl %bx,%ecx
50415c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50415f:	8b 40 34             	mov    0x34(%eax),%eax
504162:	8b 40 24             	mov    0x24(%eax),%eax
504165:	89 45 e8             	mov    %eax,-0x18(%ebp)
504168:	83 c0 fc             	add    $0xfffffffc,%eax
50416b:	3b c8                	cmp    %eax,%ecx
50416d:	76 2a                	jbe    0x504199
50416f:	68 fc c4 6b 00       	push   $0x6bc4fc
504174:	68 2c 01 01 00       	push   $0x1012c
504179:	68 94 c4 6b 00       	push   $0x6bc494
50417e:	68 78 c4 6b 00       	push   $0x6bc478
504183:	6a 0b                	push   $0xb
504185:	e8 56 be fd ff       	call   0x4dffe0
50418a:	83 c4 14             	add    $0x14,%esp
50418d:	b8 0b 00 00 00       	mov    $0xb,%eax
504192:	5f                   	pop    %edi
504193:	5e                   	pop    %esi
504194:	5b                   	pop    %ebx
504195:	8b e5                	mov    %ebp,%esp
504197:	5d                   	pop    %ebp
504198:	c3                   	ret
504199:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50419c:	66 85 db             	test   %bx,%bx
50419f:	74 75                	je     0x504216
5041a1:	8d 41 03             	lea    0x3(%ecx),%eax
5041a4:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5041a7:	72 6d                	jb     0x504216
5041a9:	8a c3                	mov    %bl,%al
5041ab:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5041ae:	2a c1                	sub    %cl,%al
5041b0:	88 45 ff             	mov    %al,-0x1(%ebp)
5041b3:	3b cb                	cmp    %ebx,%ecx
5041b5:	76 14                	jbe    0x5041cb
5041b7:	68 38 01 01 00       	push   $0x10138
5041bc:	e8 ef bb 01 00       	call   0x51fdb0
5041c1:	83 c4 04             	add    $0x4,%esp
5041c4:	5f                   	pop    %edi
5041c5:	5e                   	pop    %esi
5041c6:	5b                   	pop    %ebx
5041c7:	8b e5                	mov    %ebp,%esp
5041c9:	5d                   	pop    %ebp
5041ca:	c3                   	ret
5041cb:	0f b6 4c 33 02       	movzbl 0x2(%ebx,%esi,1),%ecx
5041d0:	0f b6 44 33 03       	movzbl 0x3(%ebx,%esi,1),%eax
5041d5:	c1 e1 08             	shl    $0x8,%ecx
5041d8:	0b c8                	or     %eax,%ecx
5041da:	03 cb                	add    %ebx,%ecx
5041dc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5041df:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
5041e2:	76 14                	jbe    0x5041f8
5041e4:	68 3b 01 01 00       	push   $0x1013b
5041e9:	e8 c2 bb 01 00       	call   0x51fdb0
5041ee:	83 c4 04             	add    $0x4,%esp
5041f1:	5f                   	pop    %edi
5041f2:	5e                   	pop    %esi
5041f3:	5b                   	pop    %ebx
5041f4:	8b e5                	mov    %ebp,%esp
5041f6:	5d                   	pop    %ebp
5041f7:	c3                   	ret
5041f8:	2b ca                	sub    %edx,%ecx
5041fa:	0f b7 c1             	movzwl %cx,%eax
5041fd:	0f b6 0c 33          	movzbl (%ebx,%esi,1),%ecx
504201:	89 45 10             	mov    %eax,0x10(%ebp)
504204:	0f b6 44 33 01       	movzbl 0x1(%ebx,%esi,1),%eax
504209:	66 c1 e1 08          	shl    $0x8,%cx
50420d:	66 0b c8             	or     %ax,%cx
504210:	0f b7 d9             	movzwl %cx,%ebx
504213:	8b 4d f0             	mov    -0x10(%ebp),%ecx
504216:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax
50421a:	89 45 e8             	mov    %eax,-0x18(%ebp)
50421d:	0f b7 c7             	movzwl %di,%eax
504220:	89 45 f8             	mov    %eax,-0x8(%ebp)
504223:	8b 45 e8             	mov    -0x18(%ebp),%eax
504226:	40                   	inc    %eax
504227:	39 45 f8             	cmp    %eax,-0x8(%ebp)
50422a:	76 5b                	jbe    0x504287
50422c:	8b 45 f8             	mov    -0x8(%ebp),%eax
50422f:	0f b6 44 30 02       	movzbl 0x2(%eax,%esi,1),%eax
504234:	c1 e0 08             	shl    $0x8,%eax
504237:	89 45 f4             	mov    %eax,-0xc(%ebp)
50423a:	8b 45 f8             	mov    -0x8(%ebp),%eax
50423d:	0f b6 44 30 03       	movzbl 0x3(%eax,%esi,1),%eax
504242:	09 45 f4             	or     %eax,-0xc(%ebp)
504245:	8b 45 f4             	mov    -0xc(%ebp),%eax
504248:	03 45 f8             	add    -0x8(%ebp),%eax
50424b:	89 45 f4             	mov    %eax,-0xc(%ebp)
50424e:	83 c0 03             	add    $0x3,%eax
504251:	3b 45 ec             	cmp    -0x14(%ebp),%eax
504254:	7c 31                	jl     0x504287
504256:	8b 45 f4             	mov    -0xc(%ebp),%eax
504259:	3b 45 ec             	cmp    -0x14(%ebp),%eax
50425c:	7e 14                	jle    0x504272
50425e:	68 48 01 01 00       	push   $0x10148
504263:	e8 48 bb 01 00       	call   0x51fdb0
504268:	83 c4 04             	add    $0x4,%esp
50426b:	5f                   	pop    %edi
50426c:	5e                   	pop    %esi
50426d:	5b                   	pop    %ebx
50426e:	8b e5                	mov    %ebp,%esp
504270:	5d                   	pop    %ebp
504271:	c3                   	ret
504272:	2a d0                	sub    %al,%dl
504274:	8b c1                	mov    %ecx,%eax
504276:	00 55 ff             	add    %dl,-0x1(%ebp)
504279:	2b c7                	sub    %edi,%eax
50427b:	0f b7 c0             	movzwl %ax,%eax
50427e:	0f b7 d7             	movzwl %di,%edx
504281:	89 45 10             	mov    %eax,0x10(%ebp)
504284:	89 55 0c             	mov    %edx,0xc(%ebp)
504287:	8b 7d e8             	mov    -0x18(%ebp),%edi
50428a:	8a 4d ff             	mov    -0x1(%ebp),%cl
50428d:	8a 44 37 07          	mov    0x7(%edi,%esi,1),%al
504291:	3a c8                	cmp    %al,%cl
504293:	76 2a                	jbe    0x5042bf
504295:	68 fc c4 6b 00       	push   $0x6bc4fc
50429a:	68 4e 01 01 00       	push   $0x1014e
50429f:	68 94 c4 6b 00       	push   $0x6bc494
5042a4:	68 78 c4 6b 00       	push   $0x6bc478
5042a9:	6a 0b                	push   $0xb
5042ab:	e8 30 bd fd ff       	call   0x4dffe0
5042b0:	83 c4 14             	add    $0x14,%esp
5042b3:	b8 0b 00 00 00       	mov    $0xb,%eax
5042b8:	5f                   	pop    %edi
5042b9:	5e                   	pop    %esi
5042ba:	5b                   	pop    %ebx
5042bb:	8b e5                	mov    %ebp,%esp
5042bd:	5d                   	pop    %ebp
5042be:	c3                   	ret
5042bf:	2a c1                	sub    %cl,%al
5042c1:	88 44 37 07          	mov    %al,0x7(%edi,%esi,1)
5042c5:	0f b6 7d fe          	movzbl -0x2(%ebp),%edi
5042c9:	0f b6 4c 37 05       	movzbl 0x5(%edi,%esi,1),%ecx
5042ce:	0f b6 44 37 06       	movzbl 0x6(%edi,%esi,1),%eax
5042d3:	66 c1 e1 08          	shl    $0x8,%cx
5042d7:	66 0b c8             	or     %ax,%cx
5042da:	0f b7 c1             	movzwl %cx,%eax
5042dd:	66 3b d0             	cmp    %ax,%dx
5042e0:	77 67                	ja     0x504349
5042e2:	73 2a                	jae    0x50430e
5042e4:	68 fc c4 6b 00       	push   $0x6bc4fc
5042e9:	68 56 01 01 00       	push   $0x10156
5042ee:	68 94 c4 6b 00       	push   $0x6bc494
5042f3:	68 78 c4 6b 00       	push   $0x6bc478
5042f8:	6a 0b                	push   $0xb
5042fa:	e8 e1 bc fd ff       	call   0x4dffe0
5042ff:	83 c4 14             	add    $0x14,%esp
504302:	b8 0b 00 00 00       	mov    $0xb,%eax
504307:	5f                   	pop    %edi
504308:	5e                   	pop    %esi
504309:	5b                   	pop    %ebx
50430a:	8b e5                	mov    %ebp,%esp
50430c:	5d                   	pop    %ebp
50430d:	c3                   	ret
50430e:	8d 47 01             	lea    0x1(%edi),%eax
504311:	39 45 f8             	cmp    %eax,-0x8(%ebp)
504314:	74 14                	je     0x50432a
504316:	68 57 01 01 00       	push   $0x10157
50431b:	e8 90 ba 01 00       	call   0x51fdb0
504320:	83 c4 04             	add    $0x4,%esp
504323:	5f                   	pop    %edi
504324:	5e                   	pop    %esi
504325:	5b                   	pop    %ebx
504326:	8b e5                	mov    %ebp,%esp
504328:	5d                   	pop    %ebp
504329:	c3                   	ret
50432a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50432d:	8b c3                	mov    %ebx,%eax
50432f:	c1 e8 08             	shr    $0x8,%eax
504332:	88 44 37 01          	mov    %al,0x1(%edi,%esi,1)
504336:	8b c1                	mov    %ecx,%eax
504338:	c1 e8 08             	shr    $0x8,%eax
50433b:	88 5c 37 02          	mov    %bl,0x2(%edi,%esi,1)
50433f:	88 44 37 05          	mov    %al,0x5(%edi,%esi,1)
504343:	88 4c 37 06          	mov    %cl,0x6(%edi,%esi,1)
504347:	eb 0f                	jmp    0x504358
504349:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50434c:	8b c2                	mov    %edx,%eax
50434e:	c1 e8 08             	shr    $0x8,%eax
504351:	88 04 31             	mov    %al,(%ecx,%esi,1)
504354:	88 54 31 01          	mov    %dl,0x1(%ecx,%esi,1)
504358:	8b 7d 08             	mov    0x8(%ebp),%edi
50435b:	8b 47 34             	mov    0x34(%edi),%eax
50435e:	f6 40 16 0c          	testb  $0xc,0x16(%eax)
504362:	74 1a                	je     0x50437e
504364:	8b 45 10             	mov    0x10(%ebp),%eax
504367:	0f b7 c0             	movzwl %ax,%eax
50436a:	50                   	push   %eax
50436b:	0f b7 c2             	movzwl %dx,%eax
50436e:	03 c6                	add    %esi,%eax
504370:	6a 00                	push   $0x0
504372:	50                   	push   %eax
504373:	e8 88 f6 0d 00       	call   0x5e3a00
504378:	8b 55 0c             	mov    0xc(%ebp),%edx
50437b:	83 c4 0c             	add    $0xc,%esp
50437e:	0f b7 ca             	movzwl %dx,%ecx
504381:	8b c3                	mov    %ebx,%eax
504383:	8b 55 10             	mov    0x10(%ebp),%edx
504386:	03 ce                	add    %esi,%ecx
504388:	c1 e8 08             	shr    $0x8,%eax
50438b:	88 01                	mov    %al,(%ecx)
50438d:	8b c2                	mov    %edx,%eax
50438f:	c1 e8 08             	shr    $0x8,%eax
504392:	88 41 02             	mov    %al,0x2(%ecx)
504395:	8b 45 e4             	mov    -0x1c(%ebp),%eax
504398:	88 59 01             	mov    %bl,0x1(%ecx)
50439b:	88 51 03             	mov    %dl,0x3(%ecx)
50439e:	01 47 14             	add    %eax,0x14(%edi)
5043a1:	33 c0                	xor    %eax,%eax
5043a3:	5f                   	pop    %edi
5043a4:	5e                   	pop    %esi
5043a5:	5b                   	pop    %ebx
5043a6:	8b e5                	mov    %ebp,%esp
5043a8:	5d                   	pop    %ebp
5043a9:	c3                   	ret
5043aa:	cc                   	int3
5043ab:	cc                   	int3
5043ac:	cc                   	int3
5043ad:	cc                   	int3
5043ae:	cc                   	int3
5043af:	cc                   	int3
5043b0:	55                   	push   %ebp
5043b1:	8b ec                	mov    %esp,%ebp
5043b3:	56                   	push   %esi
5043b4:	8b 75 08             	mov    0x8(%ebp),%esi
5043b7:	8b 46 50             	mov    0x50(%esi),%eax
5043ba:	85 c0                	test   %eax,%eax
5043bc:	74 16                	je     0x5043d4
5043be:	83 c0 fc             	add    $0xfffffffc,%eax
5043c1:	50                   	push   %eax
5043c2:	89 46 50             	mov    %eax,0x50(%esi)
5043c5:	e8 c6 ba 00 00       	call   0x50fe90
5043ca:	83 c4 04             	add    $0x4,%esp
5043cd:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
5043d4:	5e                   	pop    %esi
5043d5:	5d                   	pop    %ebp
5043d6:	c3                   	ret
5043d7:	cc                   	int3
5043d8:	cc                   	int3
5043d9:	cc                   	int3
5043da:	cc                   	int3
5043db:	cc                   	int3
5043dc:	cc                   	int3
5043dd:	cc                   	int3
5043de:	cc                   	int3
5043df:	cc                   	int3
5043e0:	55                   	push   %ebp
5043e1:	8b ec                	mov    %esp,%ebp
5043e3:	8b 45 0c             	mov    0xc(%ebp),%eax
5043e6:	56                   	push   %esi
5043e7:	8b 70 24             	mov    0x24(%eax),%esi
5043ea:	85 f6                	test   %esi,%esi
5043ec:	74 19                	je     0x504407
5043ee:	83 06 ff             	addl   $0xffffffff,(%esi)
5043f1:	75 14                	jne    0x504407
5043f3:	ff 76 08             	push   0x8(%esi)
5043f6:	8b 46 04             	mov    0x4(%esi),%eax
5043f9:	ff d0                	call   *%eax
5043fb:	56                   	push   %esi
5043fc:	ff 75 08             	push   0x8(%ebp)
5043ff:	e8 6c cf 01 00       	call   0x521370
504404:	83 c4 0c             	add    $0xc,%esp
504407:	5e                   	pop    %esi
504408:	5d                   	pop    %ebp
504409:	c3                   	ret
50440a:	cc                   	int3
50440b:	cc                   	int3
50440c:	cc                   	int3
50440d:	cc                   	int3
50440e:	cc                   	int3
50440f:	cc                   	int3
504410:	55                   	push   %ebp
504411:	8b ec                	mov    %esp,%ebp
504413:	8b 4d 0c             	mov    0xc(%ebp),%ecx
504416:	80 39 a9             	cmpb   $0xa9,(%ecx)
504419:	75 4f                	jne    0x50446a
50441b:	f7 41 04 00 00 00 01 	testl  $0x1000000,0x4(%ecx)
504422:	74 46                	je     0x50446a
504424:	8b 45 08             	mov    0x8(%ebp),%eax
504427:	56                   	push   %esi
504428:	57                   	push   %edi
504429:	8b 79 2c             	mov    0x2c(%ecx),%edi
50442c:	8b 70 18             	mov    0x18(%eax),%esi
50442f:	85 f6                	test   %esi,%esi
504431:	74 31                	je     0x504464
504433:	8b 46 44             	mov    0x44(%esi),%eax
504436:	83 c6 44             	add    $0x44,%esi
504439:	85 c0                	test   %eax,%eax
50443b:	74 12                	je     0x50444f
50443d:	6a 00                	push   $0x0
50443f:	57                   	push   %edi
504440:	50                   	push   %eax
504441:	6a 00                	push   $0x0
504443:	e8 e8 15 05 00       	call   0x555a30
504448:	83 c4 10             	add    $0x10,%esp
50444b:	85 c0                	test   %eax,%eax
50444d:	75 15                	jne    0x504464
50444f:	8b 06                	mov    (%esi),%eax
504451:	8d 4f 24             	lea    0x24(%edi),%ecx
504454:	89 01                	mov    %eax,(%ecx)
504456:	8b 06                	mov    (%esi),%eax
504458:	85 c0                	test   %eax,%eax
50445a:	74 03                	je     0x50445f
50445c:	89 48 20             	mov    %ecx,0x20(%eax)
50445f:	89 3e                	mov    %edi,(%esi)
504461:	89 77 20             	mov    %esi,0x20(%edi)
504464:	5f                   	pop    %edi
504465:	33 c0                	xor    %eax,%eax
504467:	5e                   	pop    %esi
504468:	5d                   	pop    %ebp
504469:	c3                   	ret
50446a:	33 c0                	xor    %eax,%eax
50446c:	5d                   	pop    %ebp
50446d:	c3                   	ret
50446e:	cc                   	int3
50446f:	cc                   	int3
504470:	55                   	push   %ebp
504471:	8b ec                	mov    %esp,%ebp
504473:	8b 4d 08             	mov    0x8(%ebp),%ecx
504476:	33 c0                	xor    %eax,%eax
504478:	8b 55 0c             	mov    0xc(%ebp),%edx
50447b:	3b 51 18             	cmp    0x18(%ecx),%edx
50447e:	0f 95 c0             	setne  %al
504481:	5d                   	pop    %ebp
504482:	c3                   	ret
504483:	cc                   	int3
504484:	cc                   	int3
504485:	cc                   	int3
504486:	cc                   	int3
504487:	cc                   	int3
504488:	cc                   	int3
504489:	cc                   	int3
50448a:	cc                   	int3
50448b:	cc                   	int3
50448c:	cc                   	int3
50448d:	cc                   	int3