57606c:	83 c4 10             	add    $0x10,%esp
57606f:	66 3d 4f ff          	cmp    $0xff4f,%ax
576073:	74 5f                	je     0x5760d4
576075:	66 3d 93 ff          	cmp    $0xff93,%ax
576079:	74 59                	je     0x5760d4
57607b:	66 3d d9 ff          	cmp    $0xffd9,%ax
57607f:	74 53                	je     0x5760d4
576081:	66 3d 92 ff          	cmp    $0xff92,%ax
576085:	74 4d                	je     0x5760d4
576087:	66 8b 03             	mov    (%ebx),%ax
57608a:	66 3d 30 ff          	cmp    $0xff30,%ax
57608e:	72 06                	jb     0x576096
576090:	66 3d 3f ff          	cmp    $0xff3f,%ax
576094:	76 3e                	jbe    0x5760d4
576096:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
57609a:	83 c2 02             	add    $0x2,%edx
57609d:	52                   	push   %edx
57609e:	68 49 23 6a 00       	push   $0x6a2349
5760a3:	56                   	push   %esi
5760a4:	e8 23 40 00 00       	call   0x57a0cc
5760a9:	83 c4 0c             	add    $0xc,%esp
5760ac:	8b 4b 60             	mov    0x60(%ebx),%ecx
5760af:	8b 41 0c             	mov    0xc(%ecx),%eax
5760b2:	85 c0                	test   %eax,%eax
5760b4:	74 0d                	je     0x5760c3
5760b6:	8b d6                	mov    %esi,%edx
5760b8:	8b c3                	mov    %ebx,%eax
5760ba:	8b 48 60             	mov    0x60(%eax),%ecx
5760bd:	ff 51 0c             	call   *0xc(%ecx)
5760c0:	5e                   	pop    %esi
5760c1:	5b                   	pop    %ebx
5760c2:	c3                   	ret
5760c3:	68 54 23 6a 00       	push   $0x6a2354
5760c8:	56                   	push   %esi
5760c9:	e8 fe 3f 00 00       	call   0x57a0cc
5760ce:	83 c4 08             	add    $0x8,%esp
5760d1:	5e                   	pop    %esi
5760d2:	5b                   	pop    %ebx
5760d3:	c3                   	ret
5760d4:	68 56 23 6a 00       	push   $0x6a2356
5760d9:	56                   	push   %esi
5760da:	e8 ed 3f 00 00       	call   0x57a0cc
5760df:	83 c4 08             	add    $0x8,%esp
5760e2:	5e                   	pop    %esi
5760e3:	5b                   	pop    %ebx
5760e4:	c3                   	ret
5760e5:	90                   	nop
5760e6:	90                   	nop
5760e7:	90                   	nop
5760e8:	53                   	push   %ebx
5760e9:	56                   	push   %esi
5760ea:	8b d9                	mov    %ecx,%ebx
5760ec:	8d 70 08             	lea    0x8(%eax),%esi
5760ef:	8b d6                	mov    %esi,%edx
5760f1:	8b c3                	mov    %ebx,%eax
5760f3:	e8 30 16 00 00       	call   0x577728
5760f8:	85 c0                	test   %eax,%eax
5760fa:	75 2a                	jne    0x576126
5760fc:	8d 56 04             	lea    0x4(%esi),%edx
5760ff:	8b c3                	mov    %ebx,%eax
576101:	e8 ae 17 00 00       	call   0x5778b4
576106:	85 c0                	test   %eax,%eax
576108:	75 1c                	jne    0x576126
57610a:	8d 56 08             	lea    0x8(%esi),%edx
57610d:	8b c3                	mov    %ebx,%eax
57610f:	e8 48 15 00 00       	call   0x57765c
576114:	85 c0                	test   %eax,%eax
576116:	75 0e                	jne    0x576126
576118:	8d 56 09             	lea    0x9(%esi),%edx
57611b:	8b c3                	mov    %ebx,%eax
57611d:	e8 3a 15 00 00       	call   0x57765c
576122:	85 c0                	test   %eax,%eax
576124:	74 06                	je     0x57612c
576126:	83 c8 ff             	or     $0xffffffff,%eax
576129:	5e                   	pop    %esi
57612a:	5b                   	pop    %ebx
57612b:	c3                   	ret
57612c:	f6 43 08 01          	testb  $0x1,0x8(%ebx)
576130:	74 06                	je     0x576138
576132:	83 c8 ff             	or     $0xffffffff,%eax
576135:	5e                   	pop    %esi
576136:	5b                   	pop    %ebx
576137:	c3                   	ret
576138:	33 c0                	xor    %eax,%eax
57613a:	5e                   	pop    %esi
57613b:	5b                   	pop    %ebx
57613c:	c3                   	ret
57613d:	90                   	nop
57613e:	90                   	nop
57613f:	90                   	nop
576140:	53                   	push   %ebx
576141:	8d 58 08             	lea    0x8(%eax),%ebx
576144:	56                   	push   %esi
576145:	8b f1                	mov    %ecx,%esi
576147:	66 8b 13             	mov    (%ebx),%dx
57614a:	8b c6                	mov    %esi,%eax
57614c:	e8 9b 16 00 00       	call   0x5777ec
576151:	85 c0                	test   %eax,%eax
576153:	75 2a                	jne    0x57617f
576155:	8b 53 04             	mov    0x4(%ebx),%edx
576158:	8b c6                	mov    %esi,%eax
57615a:	e8 c1 18 00 00       	call   0x577a20
57615f:	85 c0                	test   %eax,%eax
576161:	75 1c                	jne    0x57617f
576163:	8a 53 08             	mov    0x8(%ebx),%dl
576166:	8b c6                	mov    %esi,%eax
576168:	e8 53 15 00 00       	call   0x5776c0
57616d:	85 c0                	test   %eax,%eax
57616f:	75 0e                	jne    0x57617f
576171:	8a 53 09             	mov    0x9(%ebx),%dl
576174:	8b c6                	mov    %esi,%eax
576176:	e8 45 15 00 00       	call   0x5776c0
57617b:	85 c0                	test   %eax,%eax
57617d:	74 06                	je     0x576185
57617f:	83 c8 ff             	or     $0xffffffff,%eax
576182:	5e                   	pop    %esi
576183:	5b                   	pop    %ebx
576184:	c3                   	ret
576185:	33 c0                	xor    %eax,%eax
576187:	5e                   	pop    %esi
576188:	5b                   	pop    %ebx
576189:	c3                   	ret
57618a:	90                   	nop
57618b:	90                   	nop
57618c:	83 c0 08             	add    $0x8,%eax
57618f:	33 c9                	xor    %ecx,%ecx
576191:	8a 48 09             	mov    0x9(%eax),%cl
576194:	51                   	push   %ecx
576195:	33 c9                	xor    %ecx,%ecx
576197:	8a 48 08             	mov    0x8(%eax),%cl
57619a:	51                   	push   %ecx
57619b:	8b 48 04             	mov    0x4(%eax),%ecx
57619e:	51                   	push   %ecx
57619f:	0f b7 00             	movzwl (%eax),%eax
5761a2:	50                   	push   %eax
5761a3:	68 58 23 6a 00       	push   $0x6a2358
5761a8:	52                   	push   %edx
5761a9:	e8 1e 3f 00 00       	call   0x57a0cc
5761ae:	83 c4 18             	add    $0x18,%esp
5761b1:	33 c0                	xor    %eax,%eax
5761b3:	c3                   	ret
5761b4:	83 c0 08             	add    $0x8,%eax
5761b7:	8b 50 28             	mov    0x28(%eax),%edx
5761ba:	85 d2                	test   %edx,%edx
5761bc:	74 07                	je     0x5761c5
5761be:	8b c2                	mov    %edx,%eax
5761c0:	e8 bf 21 00 00       	call   0x578384
5761c5:	c3                   	ret
5761c6:	90                   	nop
5761c7:	90                   	nop
5761c8:	53                   	push   %ebx
5761c9:	56                   	push   %esi
5761ca:	57                   	push   %edi
5761cb:	51                   	push   %ecx
5761cc:	8b f9                	mov    %ecx,%edi
5761ce:	8d 58 08             	lea    0x8(%eax),%ebx
5761d1:	8b d3                	mov    %ebx,%edx
5761d3:	8b c7                	mov    %edi,%eax
5761d5:	e8 4e 15 00 00       	call   0x577728
5761da:	85 c0                	test   %eax,%eax
5761dc:	75 7e                	jne    0x57625c
5761de:	8d 53 04             	lea    0x4(%ebx),%edx
5761e1:	8b c7                	mov    %edi,%eax
5761e3:	e8 cc 16 00 00       	call   0x5778b4
5761e8:	85 c0                	test   %eax,%eax
5761ea:	75 70                	jne    0x57625c
5761ec:	8d 53 08             	lea    0x8(%ebx),%edx
5761ef:	8b c7                	mov    %edi,%eax
5761f1:	e8 be 16 00 00       	call   0x5778b4
5761f6:	85 c0                	test   %eax,%eax
5761f8:	75 62                	jne    0x57625c
5761fa:	8d 53 0c             	lea    0xc(%ebx),%edx
5761fd:	8b c7                	mov    %edi,%eax
5761ff:	e8 b0 16 00 00       	call   0x5778b4
576204:	85 c0                	test   %eax,%eax
576206:	75 54                	jne    0x57625c
576208:	8d 53 10             	lea    0x10(%ebx),%edx
57620b:	8b c7                	mov    %edi,%eax
57620d:	e8 a2 16 00 00       	call   0x5778b4
576212:	85 c0                	test   %eax,%eax
576214:	75 46                	jne    0x57625c
576216:	8d 53 14             	lea    0x14(%ebx),%edx
576219:	8b c7                	mov    %edi,%eax
57621b:	e8 94 16 00 00       	call   0x5778b4
576220:	85 c0                	test   %eax,%eax
576222:	75 38                	jne    0x57625c
576224:	8d 53 18             	lea    0x18(%ebx),%edx
576227:	8b c7                	mov    %edi,%eax
576229:	e8 86 16 00 00       	call   0x5778b4
57622e:	85 c0                	test   %eax,%eax
576230:	75 2a                	jne    0x57625c
576232:	8d 53 1c             	lea    0x1c(%ebx),%edx
576235:	8b c7                	mov    %edi,%eax
576237:	e8 78 16 00 00       	call   0x5778b4
57623c:	85 c0                	test   %eax,%eax
57623e:	75 1c                	jne    0x57625c
576240:	8d 53 20             	lea    0x20(%ebx),%edx
576243:	8b c7                	mov    %edi,%eax
576245:	e8 6a 16 00 00       	call   0x5778b4
57624a:	85 c0                	test   %eax,%eax
57624c:	75 0e                	jne    0x57625c
57624e:	8d 53 24             	lea    0x24(%ebx),%edx
576251:	8b c7                	mov    %edi,%eax
576253:	e8 d0 14 00 00       	call   0x577728
576258:	85 c0                	test   %eax,%eax
57625a:	74 08                	je     0x576264
57625c:	83 c8 ff             	or     $0xffffffff,%eax
57625f:	e9 ce 00 00 00       	jmp    0x576332
576264:	8b 53 04             	mov    0x4(%ebx),%edx
576267:	85 d2                	test   %edx,%edx
576269:	74 1c                	je     0x576287
57626b:	8b 4b 08             	mov    0x8(%ebx),%ecx
57626e:	85 c9                	test   %ecx,%ecx
576270:	74 15                	je     0x576287
576272:	8b 43 14             	mov    0x14(%ebx),%eax
576275:	85 c0                	test   %eax,%eax
576277:	74 0e                	je     0x576287
576279:	8b 53 18             	mov    0x18(%ebx),%edx
57627c:	85 d2                	test   %edx,%edx
57627e:	74 07                	je     0x576287
576280:	66 83 7b 24 00       	cmpw   $0x0,0x24(%ebx)
576285:	75 08                	jne    0x57628f
576287:	83 c8 ff             	or     $0xffffffff,%eax
57628a:	e9 a3 00 00 00       	jmp    0x576332
57628f:	0f b7 43 24          	movzwl 0x24(%ebx),%eax
576293:	c1 e0 02             	shl    $0x2,%eax
576296:	e8 e1 20 00 00       	call   0x57837c
57629b:	89 43 28             	mov    %eax,0x28(%ebx)
57629e:	85 c0                	test   %eax,%eax
5762a0:	75 08                	jne    0x5762aa
5762a2:	83 c8 ff             	or     $0xffffffff,%eax
5762a5:	e9 88 00 00 00       	jmp    0x576332
5762aa:	33 f6                	xor    %esi,%esi
5762ac:	eb 67                	jmp    0x576315
5762ae:	8b d4                	mov    %esp,%edx
5762b0:	8b c7                	mov    %edi,%eax
5762b2:	e8 a5 13 00 00       	call   0x57765c
5762b7:	85 c0                	test   %eax,%eax
5762b9:	75 30                	jne    0x5762eb
5762bb:	8b d6                	mov    %esi,%edx
5762bd:	8b 43 28             	mov    0x28(%ebx),%eax
5762c0:	c1 e2 02             	shl    $0x2,%edx
5762c3:	03 d0                	add    %eax,%edx
5762c5:	8b c7                	mov    %edi,%eax
5762c7:	83 c2 02             	add    $0x2,%edx
5762ca:	e8 8d 13 00 00       	call   0x57765c
5762cf:	85 c0                	test   %eax,%eax
5762d1:	75 18                	jne    0x5762eb
5762d3:	8b d6                	mov    %esi,%edx
5762d5:	8b 4b 28             	mov    0x28(%ebx),%ecx
5762d8:	c1 e2 02             	shl    $0x2,%edx
5762db:	8b c7                	mov    %edi,%eax
5762dd:	03 d1                	add    %ecx,%edx
5762df:	83 c2 03             	add    $0x3,%edx
5762e2:	e8 75 13 00 00       	call   0x57765c
5762e7:	85 c0                	test   %eax,%eax
5762e9:	74 0d                	je     0x5762f8
5762eb:	8b 43 28             	mov    0x28(%ebx),%eax
5762ee:	e8 91 20 00 00       	call   0x578384
5762f3:	83 c8 ff             	or     $0xffffffff,%eax
5762f6:	eb 3a                	jmp    0x576332
5762f8:	33 d2                	xor    %edx,%edx
5762fa:	8b 43 28             	mov    0x28(%ebx),%eax
5762fd:	8a 14 24             	mov    (%esp),%dl
576300:	c1 fa 07             	sar    $0x7,%edx
576303:	80 e2 01             	and    $0x1,%dl
576306:	88 54 b0 01          	mov    %dl,0x1(%eax,%esi,4)
57630a:	8a 14 24             	mov    (%esp),%dl
57630d:	80 e2 7f             	and    $0x7f,%dl
576310:	42                   	inc    %edx
576311:	88 14 b0             	mov    %dl,(%eax,%esi,4)
576314:	46                   	inc    %esi
576315:	0f b7 4b 24          	movzwl 0x24(%ebx),%ecx
576319:	3b f1                	cmp    %ecx,%esi
57631b:	7c 91                	jl     0x5762ae
57631d:	f6 47 08 01          	testb  $0x1,0x8(%edi)
576321:	74 0d                	je     0x576330
576323:	8b 43 28             	mov    0x28(%ebx),%eax
576326:	e8 59 20 00 00       	call   0x578384
57632b:	83 c8 ff             	or     $0xffffffff,%eax
57632e:	eb 02                	jmp    0x576332
576330:	33 c0                	xor    %eax,%eax
576332:	5a                   	pop    %edx
576333:	5f                   	pop    %edi
576334:	5e                   	pop    %esi
576335:	5b                   	pop    %ebx
576336:	c3                   	ret
576337:	90                   	nop
576338:	53                   	push   %ebx
576339:	8d 58 08             	lea    0x8(%eax),%ebx
57633c:	56                   	push   %esi
57633d:	57                   	push   %edi
57633e:	8b 43 04             	mov    0x4(%ebx),%eax
576341:	8b f9                	mov    %ecx,%edi
576343:	85 c0                	test   %eax,%eax
576345:	74 1c                	je     0x576363
576347:	8b 53 08             	mov    0x8(%ebx),%edx
57634a:	85 d2                	test   %edx,%edx
57634c:	74 15                	je     0x576363
57634e:	8b 4b 14             	mov    0x14(%ebx),%ecx
576351:	85 c9                	test   %ecx,%ecx
576353:	74 0e                	je     0x576363
576355:	8b 43 18             	mov    0x18(%ebx),%eax
576358:	85 c0                	test   %eax,%eax
57635a:	74 07                	je     0x576363
57635c:	66 83 7b 24 00       	cmpw   $0x0,0x24(%ebx)
576361:	75 17                	jne    0x57637a
576363:	68 37 02 00 00       	push   $0x237
576368:	68 db 23 6a 00       	push   $0x6a23db
57636d:	68 8b 23 6a 00       	push   $0x6a238b
576372:	e8 c9 47 fe ff       	call   0x55ab40
576377:	83 c4 0c             	add    $0xc,%esp
57637a:	66 8b 13             	mov    (%ebx),%dx
57637d:	8b c7                	mov    %edi,%eax
57637f:	e8 68 14 00 00       	call   0x5777ec
576384:	85 c0                	test   %eax,%eax
576386:	75 7f                	jne    0x576407
576388:	8b 53 04             	mov    0x4(%ebx),%edx
57638b:	8b c7                	mov    %edi,%eax
57638d:	e8 8e 16 00 00       	call   0x577a20
576392:	85 c0                	test   %eax,%eax
576394:	75 71                	jne    0x576407
576396:	8b 53 08             	mov    0x8(%ebx),%edx
576399:	8b c7                	mov    %edi,%eax
57639b:	e8 80 16 00 00       	call   0x577a20
5763a0:	85 c0                	test   %eax,%eax
5763a2:	75 63                	jne    0x576407
5763a4:	8b 53 0c             	mov    0xc(%ebx),%edx
5763a7:	8b c7                	mov    %edi,%eax
5763a9:	e8 72 16 00 00       	call   0x577a20
5763ae:	85 c0                	test   %eax,%eax
5763b0:	75 55                	jne    0x576407
5763b2:	8b 53 10             	mov    0x10(%ebx),%edx
5763b5:	8b c7                	mov    %edi,%eax
5763b7:	e8 64 16 00 00       	call   0x577a20
5763bc:	85 c0                	test   %eax,%eax
5763be:	75 47                	jne    0x576407
5763c0:	8b 53 14             	mov    0x14(%ebx),%edx
5763c3:	8b c7                	mov    %edi,%eax
5763c5:	e8 56 16 00 00       	call   0x577a20
5763ca:	85 c0                	test   %eax,%eax
5763cc:	75 39                	jne    0x576407
5763ce:	8b 53 18             	mov    0x18(%ebx),%edx
5763d1:	8b c7                	mov    %edi,%eax
5763d3:	e8 48 16 00 00       	call   0x577a20
5763d8:	85 c0                	test   %eax,%eax
5763da:	75 2b                	jne    0x576407
5763dc:	8b 53 1c             	mov    0x1c(%ebx),%edx
5763df:	8b c7                	mov    %edi,%eax
5763e1:	e8 3a 16 00 00       	call   0x577a20