4220f7:	75 15                	jne    0x42210e
4220f9:	e8 10 5b 00 00       	call   0x427c0e
4220fe:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422104:	e8 07 4d 00 00       	call   0x426e10
422109:	83 c8 ff             	or     $0xffffffff,%eax
42210c:	eb 6d                	jmp    0x42217b
42210e:	8b 45 08             	mov    0x8(%ebp),%eax
422111:	85 c0                	test   %eax,%eax
422113:	74 e4                	je     0x4220f9
422115:	56                   	push   %esi
422116:	ff 75 14             	push   0x14(%ebp)
422119:	89 45 e8             	mov    %eax,-0x18(%ebp)
42211c:	ff 75 10             	push   0x10(%ebp)
42211f:	89 45 e0             	mov    %eax,-0x20(%ebp)
422122:	ff 75 0c             	push   0xc(%ebp)
422125:	8d 45 e0             	lea    -0x20(%ebp),%eax
422128:	50                   	push   %eax
422129:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
422130:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
422137:	e8 74 6e 00 00       	call   0x428fb0
42213c:	83 c4 10             	add    $0x10,%esp
42213f:	ff 4d e4             	decl   -0x1c(%ebp)
422142:	8b f0                	mov    %eax,%esi
422144:	78 0e                	js     0x422154
422146:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422149:	88 19                	mov    %bl,(%ecx)
42214b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42214e:	41                   	inc    %ecx
42214f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
422152:	eb 0f                	jmp    0x422163
422154:	8d 45 e0             	lea    -0x20(%ebp),%eax
422157:	50                   	push   %eax
422158:	53                   	push   %ebx
422159:	e8 05 6d 00 00       	call   0x428e63
42215e:	59                   	pop    %ecx
42215f:	59                   	pop    %ecx
422160:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422163:	ff 4d e4             	decl   -0x1c(%ebp)
422166:	78 04                	js     0x42216c
422168:	88 19                	mov    %bl,(%ecx)
42216a:	eb 0c                	jmp    0x422178
42216c:	8d 45 e0             	lea    -0x20(%ebp),%eax
42216f:	50                   	push   %eax
422170:	53                   	push   %ebx
422171:	e8 ed 6c 00 00       	call   0x428e63
422176:	59                   	pop    %ecx
422177:	59                   	pop    %ecx
422178:	8b c6                	mov    %esi,%eax
42217a:	5e                   	pop    %esi
42217b:	5f                   	pop    %edi
42217c:	5b                   	pop    %ebx
42217d:	c9                   	leave
42217e:	c3                   	ret
42217f:	55                   	push   %ebp
422180:	8b ec                	mov    %esp,%ebp
422182:	53                   	push   %ebx
422183:	8b 5d 10             	mov    0x10(%ebp),%ebx
422186:	57                   	push   %edi
422187:	33 ff                	xor    %edi,%edi
422189:	85 db                	test   %ebx,%ebx
42218b:	75 14                	jne    0x4221a1
42218d:	e8 7c 5a 00 00       	call   0x427c0e
422192:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422198:	e8 73 4c 00 00       	call   0x426e10
42219d:	33 c0                	xor    %eax,%eax
42219f:	eb 73                	jmp    0x422214
4221a1:	56                   	push   %esi
4221a2:	68 bc 03 00 00       	push   $0x3bc
4221a7:	6a 01                	push   $0x1
4221a9:	e8 d8 47 00 00       	call   0x426986
4221ae:	8b f0                	mov    %eax,%esi
4221b0:	59                   	pop    %ecx
4221b1:	59                   	pop    %ecx
4221b2:	85 f6                	test   %esi,%esi
4221b4:	74 49                	je     0x4221ff
4221b6:	e8 52 58 00 00       	call   0x427a0d
4221bb:	ff 70 6c             	push   0x6c(%eax)
4221be:	56                   	push   %esi
4221bf:	e8 d0 58 00 00       	call   0x427a94
4221c4:	8b 45 14             	mov    0x14(%ebp),%eax
4221c7:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
4221cb:	89 46 58             	mov    %eax,0x58(%esi)
4221ce:	8b 45 1c             	mov    0x1c(%ebp),%eax
4221d1:	59                   	pop    %ecx
4221d2:	59                   	pop    %ecx
4221d3:	89 5e 54             	mov    %ebx,0x54(%esi)
4221d6:	85 c0                	test   %eax,%eax
4221d8:	75 03                	jne    0x4221dd
4221da:	8d 45 10             	lea    0x10(%ebp),%eax
4221dd:	50                   	push   %eax
4221de:	ff 75 18             	push   0x18(%ebp)
4221e1:	56                   	push   %esi
4221e2:	68 df 22 42 00       	push   $0x4222df
4221e7:	ff 75 0c             	push   0xc(%ebp)
4221ea:	ff 75 08             	push   0x8(%ebp)
4221ed:	ff 15 38 d3 48 00    	call   *0x48d338
4221f3:	85 c0                	test   %eax,%eax
4221f5:	75 1c                	jne    0x422213
4221f7:	ff 15 10 d3 48 00    	call   *0x48d310
4221fd:	8b f8                	mov    %eax,%edi
4221ff:	56                   	push   %esi
422200:	e8 98 fa ff ff       	call   0x421c9d
422205:	59                   	pop    %ecx
422206:	85 ff                	test   %edi,%edi
422208:	74 07                	je     0x422211
42220a:	57                   	push   %edi
42220b:	e8 dd 59 00 00       	call   0x427bed
422210:	59                   	pop    %ecx
422211:	33 c0                	xor    %eax,%eax
422213:	5e                   	pop    %esi
422214:	5f                   	pop    %edi
422215:	5b                   	pop    %ebx
422216:	5d                   	pop    %ebp
422217:	c3                   	ret
422218:	6a 0c                	push   $0xc
42221a:	68 e8 6a 4b 00       	push   $0x4b6ae8
42221f:	e8 9c 48 00 00       	call   0x426ac0
422224:	e8 e4 57 00 00       	call   0x427a0d
422229:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42222d:	ff 70 58             	push   0x58(%eax)
422230:	ff 50 54             	call   *0x54(%eax)
422233:	50                   	push   %eax
422234:	e8 20 00 00 00       	call   0x422259
422239:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42223c:	8b 01                	mov    (%ecx),%eax
42223e:	8b 00                	mov    (%eax),%eax
422240:	89 45 e4             	mov    %eax,-0x1c(%ebp)
422243:	51                   	push   %ecx
422244:	50                   	push   %eax
422245:	e8 48 85 00 00       	call   0x42a792
42224a:	59                   	pop    %ecx
42224b:	59                   	pop    %ecx
42224c:	c3                   	ret
42224d:	8b 65 e8             	mov    -0x18(%ebp),%esp
422250:	ff 75 e4             	push   -0x1c(%ebp)
422253:	e8 ce ef ff ff       	call   0x421226
422258:	cc                   	int3
422259:	55                   	push   %ebp
42225a:	8b ec                	mov    %esp,%ebp
42225c:	56                   	push   %esi
42225d:	e8 c3 57 00 00       	call   0x427a25
422262:	8b f0                	mov    %eax,%esi
422264:	85 f6                	test   %esi,%esi
422266:	74 15                	je     0x42227d
422268:	83 be b4 03 00 00 00 	cmpl   $0x0,0x3b4(%esi)
42226f:	74 05                	je     0x422276
422271:	e8 e6 00 00 00       	call   0x42235c
422276:	56                   	push   %esi
422277:	e8 5b 57 00 00       	call   0x4279d7
42227c:	59                   	pop    %ecx
42227d:	ff 75 08             	push   0x8(%ebp)
422280:	ff 15 50 d3 48 00    	call   *0x48d350
422286:	cc                   	int3
422287:	83 3d 3c 01 4c 00 00 	cmpl   $0x0,0x4c013c
42228e:	75 39                	jne    0x4222c9
422290:	68 e0 da 48 00       	push   $0x48dae0
422295:	68 00 08 00 00       	push   $0x800
42229a:	6a 00                	push   $0x0
42229c:	68 f0 da 48 00       	push   $0x48daf0
4222a1:	ff 15 64 d2 48 00    	call   *0x48d264
4222a7:	50                   	push   %eax
4222a8:	ff 15 90 d1 48 00    	call   *0x48d190
4222ae:	85 c0                	test   %eax,%eax
4222b0:	75 01                	jne    0x4222b3
4222b2:	c3                   	ret
4222b3:	50                   	push   %eax
4222b4:	ff 15 00 a0 4b 00    	call   *0x4ba000
4222ba:	a3 38 01 4c 00       	mov    %eax,0x4c0138
4222bf:	c7 05 3c 01 4c 00 01 	movl   $0x1,0x4c013c
4222c6:	00 00 00
4222c9:	6a 01                	push   $0x1
4222cb:	ff 35 38 01 4c 00    	push   0x4c0138
4222d1:	ff 15 04 a0 4b 00    	call   *0x4ba004
4222d7:	ff d0                	call   *%eax
4222d9:	f7 d8                	neg    %eax
4222db:	1b c0                	sbb    %eax,%eax
4222dd:	40                   	inc    %eax
4222de:	c3                   	ret
4222df:	55                   	push   %ebp
4222e0:	8b ec                	mov    %esp,%ebp
4222e2:	56                   	push   %esi
4222e3:	e8 b2 55 00 00       	call   0x42789a
4222e8:	50                   	push   %eax
4222e9:	e8 bc 5b 00 00       	call   0x427eaa
4222ee:	8b f0                	mov    %eax,%esi
4222f0:	59                   	pop    %ecx
4222f1:	85 f6                	test   %esi,%esi
4222f3:	75 2c                	jne    0x422321
4222f5:	8b 75 08             	mov    0x8(%ebp),%esi
4222f8:	56                   	push   %esi
4222f9:	e8 9c 55 00 00       	call   0x42789a
4222fe:	50                   	push   %eax
4222ff:	e8 c5 5b 00 00       	call   0x427ec9
422304:	59                   	pop    %ecx
422305:	59                   	pop    %ecx
422306:	85 c0                	test   %eax,%eax
422308:	75 0d                	jne    0x422317
42230a:	ff 15 10 d3 48 00    	call   *0x48d310
422310:	50                   	push   %eax
422311:	ff 15 50 d3 48 00    	call   *0x48d350
422317:	ff 15 74 d1 48 00    	call   *0x48d174
42231d:	89 06                	mov    %eax,(%esi)
42231f:	eb 1b                	jmp    0x42233c
422321:	8b 4d 08             	mov    0x8(%ebp),%ecx
422324:	51                   	push   %ecx
422325:	8b 41 54             	mov    0x54(%ecx),%eax
422328:	89 46 54             	mov    %eax,0x54(%esi)
42232b:	8b 41 58             	mov    0x58(%ecx),%eax
42232e:	89 46 58             	mov    %eax,0x58(%esi)
422331:	8b 41 04             	mov    0x4(%ecx),%eax
422334:	89 46 04             	mov    %eax,0x4(%esi)
422337:	e8 64 55 00 00       	call   0x4278a0
42233c:	e8 cb 5b 00 00       	call   0x427f0c
422341:	89 86 b4 03 00 00    	mov    %eax,0x3b4(%esi)
422347:	85 c0                	test   %eax,%eax
422349:	74 0b                	je     0x422356
42234b:	e8 37 ff ff ff       	call   0x422287
422350:	89 86 b4 03 00 00    	mov    %eax,0x3b4(%esi)
422356:	e8 bd fe ff ff       	call   0x422218
42235b:	cc                   	int3
42235c:	83 3d 44 01 4c 00 00 	cmpl   $0x0,0x4c0144
422363:	75 38                	jne    0x42239d
422365:	68 08 db 48 00       	push   $0x48db08
42236a:	68 00 08 00 00       	push   $0x800
42236f:	6a 00                	push   $0x0
422371:	68 f0 da 48 00       	push   $0x48daf0
422376:	ff 15 64 d2 48 00    	call   *0x48d264
42237c:	50                   	push   %eax
42237d:	ff 15 90 d1 48 00    	call   *0x48d190
422383:	85 c0                	test   %eax,%eax
422385:	74 24                	je     0x4223ab
422387:	50                   	push   %eax
422388:	ff 15 00 a0 4b 00    	call   *0x4ba000
42238e:	a3 40 01 4c 00       	mov    %eax,0x4c0140
422393:	c7 05 44 01 4c 00 01 	movl   $0x1,0x4c0144
42239a:	00 00 00
42239d:	ff 35 40 01 4c 00    	push   0x4c0140
4223a3:	ff 15 04 a0 4b 00    	call   *0x4ba004
4223a9:	ff e0                	jmp    *%eax
4223ab:	c3                   	ret
4223ac:	55                   	push   %ebp
4223ad:	8b ec                	mov    %esp,%ebp
4223af:	8b 4d 10             	mov    0x10(%ebp),%ecx
4223b2:	56                   	push   %esi
4223b3:	57                   	push   %edi
4223b4:	8b 7d 08             	mov    0x8(%ebp),%edi
4223b7:	8b f7                	mov    %edi,%esi
4223b9:	85 c9                	test   %ecx,%ecx
4223bb:	74 33                	je     0x4223f0
4223bd:	8b 55 0c             	mov    0xc(%ebp),%edx
4223c0:	2b d7                	sub    %edi,%edx
4223c2:	0f b7 04 3a          	movzwl (%edx,%edi,1),%eax
4223c6:	66 89 07             	mov    %ax,(%edi)
4223c9:	83 c7 02             	add    $0x2,%edi
4223cc:	66 85 c0             	test   %ax,%ax
4223cf:	74 03                	je     0x4223d4
4223d1:	49                   	dec    %ecx
4223d2:	75 ee                	jne    0x4223c2
4223d4:	85 c9                	test   %ecx,%ecx
4223d6:	74 18                	je     0x4223f0
4223d8:	49                   	dec    %ecx
4223d9:	74 15                	je     0x4223f0
4223db:	33 c0                	xor    %eax,%eax
4223dd:	0f b7 d0             	movzwl %ax,%edx
4223e0:	8b c2                	mov    %edx,%eax
4223e2:	c1 e2 10             	shl    $0x10,%edx
4223e5:	0b c2                	or     %edx,%eax
4223e7:	d1 e9                	shr    $1,%ecx
4223e9:	f3 ab                	rep stos %eax,%es:(%edi)
4223eb:	13 c9                	adc    %ecx,%ecx
4223ed:	66 f3 ab             	rep stos %ax,%es:(%edi)
4223f0:	5f                   	pop    %edi
4223f1:	8b c6                	mov    %esi,%eax
4223f3:	5e                   	pop    %esi
4223f4:	5d                   	pop    %ebp
4223f5:	c3                   	ret
4223f6:	53                   	push   %ebx
4223f7:	8b dc                	mov    %esp,%ebx
4223f9:	51                   	push   %ecx
4223fa:	51                   	push   %ecx
4223fb:	83 e4 f0             	and    $0xfffffff0,%esp
4223fe:	83 c4 04             	add    $0x4,%esp
422401:	55                   	push   %ebp
422402:	8b 6b 04             	mov    0x4(%ebx),%ebp
422405:	89 6c 24 04          	mov    %ebp,0x4(%esp)
422409:	8b ec                	mov    %esp,%ebp
42240b:	8b 4b 08             	mov    0x8(%ebx),%ecx
42240e:	66 8b 53 0c          	mov    0xc(%ebx),%dx
422412:	83 ec 20             	sub    $0x20,%esp
422415:	83 3d 54 01 4c 00 01 	cmpl   $0x1,0x4c0154
42241c:	7c 48                	jl     0x422466
42241e:	0f b7 c2             	movzwl %dx,%eax
422421:	66 0f 6e c0          	movd   %eax,%xmm0
422425:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
42242a:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
42242f:	8b c1                	mov    %ecx,%eax
422431:	25 ff 0f 00 00       	and    $0xfff,%eax
422436:	3d f0 0f 00 00       	cmp    $0xff0,%eax
42243b:	77 3e                	ja     0x42247b
42243d:	f3 0f 6f 01          	movdqu (%ecx),%xmm0
422441:	66 0f ef c9          	pxor   %xmm1,%xmm1
422445:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
422449:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
42244d:	66 0f eb c8          	por    %xmm0,%xmm1
422451:	66 0f d7 c1          	pmovmskb %xmm1,%eax
422455:	85 c0                	test   %eax,%eax
422457:	75 34                	jne    0x42248d
422459:	83 c1 10             	add    $0x10,%ecx
42245c:	eb d1                	jmp    0x42242f
42245e:	66 3b c2             	cmp    %dx,%ax
422461:	74 0b                	je     0x42246e
422463:	83 c1 02             	add    $0x2,%ecx
422466:	0f b7 01             	movzwl (%ecx),%eax
422469:	66 85 c0             	test   %ax,%ax
42246c:	75 f0                	jne    0x42245e
42246e:	33 c0                	xor    %eax,%eax
422470:	66 39 11             	cmp    %dx,(%ecx)
422473:	0f 95 c0             	setne  %al
422476:	48                   	dec    %eax
422477:	23 c1                	and    %ecx,%eax
422479:	eb 22                	jmp    0x42249d
42247b:	0f b7 01             	movzwl (%ecx),%eax
42247e:	66 3b c2             	cmp    %dx,%ax
422481:	74 18                	je     0x42249b
422483:	66 85 c0             	test   %ax,%ax
422486:	74 0f                	je     0x422497
422488:	83 c1 02             	add    $0x2,%ecx
42248b:	eb a2                	jmp    0x42242f
42248d:	0f bc c0             	bsf    %eax,%eax
422490:	89 45 fc             	mov    %eax,-0x4(%ebp)
422493:	03 c8                	add    %eax,%ecx
422495:	eb d7                	jmp    0x42246e
422497:	33 c0                	xor    %eax,%eax
422499:	eb 02                	jmp    0x42249d
42249b:	8b c1                	mov    %ecx,%eax
42249d:	8b e5                	mov    %ebp,%esp
42249f:	5d                   	pop    %ebp
4224a0:	8b e3                	mov    %ebx,%esp
4224a2:	5b                   	pop    %ebx
4224a3:	c3                   	ret
4224a4:	55                   	push   %ebp
4224a5:	8b ec                	mov    %esp,%ebp
4224a7:	8b 45 08             	mov    0x8(%ebp),%eax
4224aa:	53                   	push   %ebx
4224ab:	0f b7 08             	movzwl (%eax),%ecx
4224ae:	56                   	push   %esi
4224af:	57                   	push   %edi
4224b0:	66 85 c9             	test   %cx,%cx
4224b3:	74 2a                	je     0x4224df
4224b5:	8b 7d 0c             	mov    0xc(%ebp),%edi