42200d:	e8 c1 d6 01 00       	call   0x43f6d3
422012:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
422016:	56                   	push   %esi
422017:	e8 90 d8 01 00       	call   0x43f8ac
42201c:	59                   	pop    %ecx
42201d:	59                   	pop    %ecx
42201e:	eb c0                	jmp    0x421fe0
422020:	55                   	push   %ebp
422021:	8b ec                	mov    %esp,%ebp
422023:	56                   	push   %esi
422024:	66 8b 75 0c          	mov    0xc(%ebp),%si
422028:	57                   	push   %edi
422029:	8b f9                	mov    %ecx,%edi
42202b:	66 83 fe ff          	cmp    $0xffff,%si
42202f:	74 13                	je     0x422044
422031:	8b 47 04             	mov    0x4(%edi),%eax
422034:	0f b6 55 08          	movzbl 0x8(%ebp),%edx
422038:	8b 40 0c             	mov    0xc(%eax),%eax
42203b:	66 85 34 50          	test   %si,(%eax,%edx,2)
42203f:	0f 95 c0             	setne  %al
422042:	eb 21                	jmp    0x422065
422044:	8a 45 08             	mov    0x8(%ebp),%al
422047:	3c 5f                	cmp    $0x5f,%al
422049:	74 18                	je     0x422063
42204b:	0f b6 c8             	movzbl %al,%ecx
42204e:	ba 07 01 00 00       	mov    $0x107,%edx
422053:	8b 47 04             	mov    0x4(%edi),%eax
422056:	8b 40 0c             	mov    0xc(%eax),%eax
422059:	66 85 14 48          	test   %dx,(%eax,%ecx,2)
42205d:	75 04                	jne    0x422063
42205f:	32 c0                	xor    %al,%al
422061:	eb 02                	jmp    0x422065
422063:	b0 01                	mov    $0x1,%al
422065:	5f                   	pop    %edi
422066:	5e                   	pop    %esi
422067:	5d                   	pop    %ebp
422068:	c2 08 00             	ret    $0x8
42206b:	55                   	push   %ebp
42206c:	8b ec                	mov    %esp,%ebp
42206e:	66 83 7d 0c ff       	cmpw   $0xffff,0xc(%ebp)
422073:	74 12                	je     0x422087
422075:	8b 49 04             	mov    0x4(%ecx),%ecx
422078:	ff 75 08             	push   0x8(%ebp)
42207b:	ff 75 0c             	push   0xc(%ebp)
42207e:	8b 01                	mov    (%ecx),%eax
422080:	8b 40 10             	mov    0x10(%eax),%eax
422083:	ff d0                	call   *%eax
422085:	eb 1f                	jmp    0x4220a6
422087:	66 83 7d 08 5f       	cmpw   $0x5f,0x8(%ebp)
42208c:	74 16                	je     0x4220a4
42208e:	8b 49 04             	mov    0x4(%ecx),%ecx
422091:	ff 75 08             	push   0x8(%ebp)
422094:	68 07 01 00 00       	push   $0x107
422099:	8b 01                	mov    (%ecx),%eax
42209b:	8b 40 10             	mov    0x10(%eax),%eax
42209e:	ff d0                	call   *%eax
4220a0:	84 c0                	test   %al,%al
4220a2:	74 02                	je     0x4220a6
4220a4:	b0 01                	mov    $0x1,%al
4220a6:	5d                   	pop    %ebp
4220a7:	c2 08 00             	ret    $0x8
4220aa:	55                   	push   %ebp
4220ab:	8b ec                	mov    %esp,%ebp
4220ad:	6a ff                	push   $0xffffffff
4220af:	68 1a 00 49 00       	push   $0x49001a
4220b4:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4220ba:	50                   	push   %eax
4220bb:	51                   	push   %ecx
4220bc:	56                   	push   %esi
4220bd:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4220c2:	33 c5                	xor    %ebp,%eax
4220c4:	50                   	push   %eax
4220c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4220c8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4220ce:	33 c0                	xor    %eax,%eax
4220d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4220d3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4220d6:	8b 75 08             	mov    0x8(%ebp),%esi
4220d9:	89 06                	mov    %eax,(%esi)
4220db:	89 46 04             	mov    %eax,0x4(%esi)
4220de:	89 45 fc             	mov    %eax,-0x4(%ebp)
4220e1:	51                   	push   %ecx
4220e2:	8b ce                	mov    %esi,%ecx
4220e4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4220eb:	e8 ab 0f fe ff       	call   0x40309b
4220f0:	8b c6                	mov    %esi,%eax
4220f2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4220f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4220fc:	59                   	pop    %ecx
4220fd:	5e                   	pop    %esi
4220fe:	c9                   	leave
4220ff:	c2 04 00             	ret    $0x4
422102:	55                   	push   %ebp
422103:	8b ec                	mov    %esp,%ebp
422105:	e8 17 1f fe ff       	call   0x404021
42210a:	8b 55 08             	mov    0x8(%ebp),%edx
42210d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
422110:	89 42 04             	mov    %eax,0x4(%edx)
422113:	8b c2                	mov    %edx,%eax
422115:	89 0a                	mov    %ecx,(%edx)
422117:	5d                   	pop    %ebp
422118:	c3                   	ret
422119:	6a 04                	push   $0x4
42211b:	b8 4e 00 49 00       	mov    $0x49004e,%eax
422120:	e8 25 d9 01 00       	call   0x43fa4a
422125:	ff 75 0c             	push   0xc(%ebp)
422128:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
42212c:	e8 51 54 00 00       	call   0x427582
422131:	59                   	pop    %ecx
422132:	8b 4d 08             	mov    0x8(%ebp),%ecx
422135:	50                   	push   %eax
422136:	e8 8b 91 fe ff       	call   0x40b2c6
42213b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42213f:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
422146:	8b 45 08             	mov    0x8(%ebp),%eax
422149:	e8 c5 d8 01 00       	call   0x43fa13
42214e:	c2 08 00             	ret    $0x8
422151:	6a 04                	push   $0x4
422153:	b8 82 00 49 00       	mov    $0x490082,%eax
422158:	e8 ed d8 01 00       	call   0x43fa4a
42215d:	33 ff                	xor    %edi,%edi
42215f:	33 db                	xor    %ebx,%ebx
422161:	47                   	inc    %edi
422162:	89 5d f0             	mov    %ebx,-0x10(%ebp)
422165:	39 7d 0c             	cmp    %edi,0xc(%ebp)
422168:	75 27                	jne    0x422191
42216a:	8b 75 08             	mov    0x8(%ebp),%esi
42216d:	8b ce                	mov    %esi,%ecx
42216f:	6a 15                	push   $0x15
422171:	68 b8 46 49 00       	push   $0x4946b8
422176:	89 5e 10             	mov    %ebx,0x10(%esi)
422179:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
422180:	88 1e                	mov    %bl,(%esi)
422182:	e8 23 d6 ff ff       	call   0x41f7aa
422187:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42218a:	89 7d f0             	mov    %edi,-0x10(%ebp)
42218d:	8b c6                	mov    %esi,%eax
42218f:	eb 14                	jmp    0x4221a5
422191:	ff 75 0c             	push   0xc(%ebp)
422194:	ff 75 08             	push   0x8(%ebp)
422197:	e8 7d ff ff ff       	call   0x422119
42219c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42219f:	89 7d f0             	mov    %edi,-0x10(%ebp)
4221a2:	8b 45 08             	mov    0x8(%ebp),%eax
4221a5:	e8 69 d8 01 00       	call   0x43fa13
4221aa:	c2 08 00             	ret    $0x8
4221ad:	6a 04                	push   $0x4
4221af:	b8 b6 00 49 00       	mov    $0x4900b6,%eax
4221b4:	e8 91 d8 01 00       	call   0x43fa4a
4221b9:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4221bd:	8b 51 04             	mov    0x4(%ecx),%edx
4221c0:	ff 31                	push   (%ecx)
4221c2:	8b ca                	mov    %edx,%ecx
4221c4:	ff 75 08             	push   0x8(%ebp)
4221c7:	8b 02                	mov    (%edx),%eax
4221c9:	ff 50 08             	call   *0x8(%eax)
4221cc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4221d0:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4221d7:	8b 45 08             	mov    0x8(%ebp),%eax
4221da:	e8 34 d8 01 00       	call   0x43fa13
4221df:	c2 04 00             	ret    $0x4
4221e2:	b8 88 46 49 00       	mov    $0x494688,%eax
4221e7:	c3                   	ret
4221e8:	b8 ac 46 49 00       	mov    $0x4946ac,%eax
4221ed:	c3                   	ret
4221ee:	6a 3c                	push   $0x3c
4221f0:	b8 1c 01 49 00       	mov    $0x49011c,%eax
4221f5:	e8 84 d8 01 00       	call   0x43fa7e
4221fa:	8b 75 08             	mov    0x8(%ebp),%esi
4221fd:	33 db                	xor    %ebx,%ebx
4221ff:	89 75 b8             	mov    %esi,-0x48(%ebp)
422202:	89 5d bc             	mov    %ebx,-0x44(%ebp)
422205:	8b 41 04             	mov    0x4(%ecx),%eax
422208:	33 c9                	xor    %ecx,%ecx
42220a:	41                   	inc    %ecx
42220b:	85 c0                	test   %eax,%eax
42220d:	75 1d                	jne    0x42222c
42220f:	89 5d d0             	mov    %ebx,-0x30(%ebp)
422212:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
422215:	89 5d d0             	mov    %ebx,-0x30(%ebp)
422218:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
42221f:	88 5d c0             	mov    %bl,-0x40(%ebp)
422222:	8d 45 c0             	lea    -0x40(%ebp),%eax
422225:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422228:	8b d9                	mov    %ecx,%ebx
42222a:	eb 3e                	jmp    0x42226a
42222c:	8b 50 18             	mov    0x18(%eax),%edx
42222f:	85 d2                	test   %edx,%edx
422231:	75 03                	jne    0x422236
422233:	8d 50 1c             	lea    0x1c(%eax),%edx
422236:	8b ca                	mov    %edx,%ecx
422238:	89 5d e8             	mov    %ebx,-0x18(%ebp)
42223b:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42223e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
422241:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
422248:	88 5d d8             	mov    %bl,-0x28(%ebp)
42224b:	8d 79 01             	lea    0x1(%ecx),%edi
42224e:	8a 01                	mov    (%ecx),%al
422250:	41                   	inc    %ecx
422251:	84 c0                	test   %al,%al
422253:	75 f9                	jne    0x42224e
422255:	2b cf                	sub    %edi,%ecx
422257:	51                   	push   %ecx
422258:	52                   	push   %edx
422259:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42225c:	e8 49 d5 ff ff       	call   0x41f7aa
422261:	6a 02                	push   $0x2
422263:	5b                   	pop    %ebx
422264:	8d 45 d8             	lea    -0x28(%ebp),%eax
422267:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42226a:	50                   	push   %eax
42226b:	8b ce                	mov    %esi,%ecx
42226d:	89 5d bc             	mov    %ebx,-0x44(%ebp)
422270:	e8 2d 90 fe ff       	call   0x40b2a2
422275:	83 cb 04             	or     $0x4,%ebx
422278:	89 5d bc             	mov    %ebx,-0x44(%ebp)
42227b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
422282:	f6 c3 02             	test   $0x2,%bl
422285:	74 0e                	je     0x422295
422287:	83 e3 fd             	and    $0xfffffffd,%ebx
42228a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42228d:	89 5d bc             	mov    %ebx,-0x44(%ebp)
422290:	e8 3f b0 ff ff       	call   0x41d2d4
422295:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422299:	f6 c3 01             	test   $0x1,%bl
42229c:	74 0e                	je     0x4222ac
42229e:	83 e3 fe             	and    $0xfffffffe,%ebx
4222a1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4222a4:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4222a7:	e8 28 b0 ff ff       	call   0x41d2d4
4222ac:	8b c6                	mov    %esi,%eax
4222ae:	e8 75 d7 01 00       	call   0x43fa28
4222b3:	c2 04 00             	ret    $0x4
4222b6:	55                   	push   %ebp
4222b7:	8b ec                	mov    %esp,%ebp
4222b9:	8b 51 10             	mov    0x10(%ecx),%edx
4222bc:	85 d2                	test   %edx,%edx
4222be:	78 14                	js     0x4222d4
4222c0:	ff 75 0c             	push   0xc(%ebp)
4222c3:	8d 42 01             	lea    0x1(%edx),%eax
4222c6:	52                   	push   %edx
4222c7:	ff 75 08             	push   0x8(%ebp)
4222ca:	89 41 10             	mov    %eax,0x10(%ecx)
4222cd:	e8 07 e4 ff ff       	call   0x4206d9
4222d2:	eb 14                	jmp    0x4222e8
4222d4:	8b 45 0c             	mov    0xc(%ebp),%eax
4222d7:	57                   	push   %edi
4222d8:	8b 7d 08             	mov    0x8(%ebp),%edi
4222db:	c7 00 ec 48 49 00    	movl   $0x4948ec,(%eax)
4222e1:	33 c0                	xor    %eax,%eax
4222e3:	ab                   	stos   %eax,%es:(%edi)
4222e4:	ab                   	stos   %eax,%es:(%edi)
4222e5:	ab                   	stos   %eax,%es:(%edi)
4222e6:	ab                   	stos   %eax,%es:(%edi)
4222e7:	5f                   	pop    %edi
4222e8:	8b 45 08             	mov    0x8(%ebp),%eax
4222eb:	5d                   	pop    %ebp
4222ec:	c2 08 00             	ret    $0x8
4222ef:	55                   	push   %ebp
4222f0:	8b ec                	mov    %esp,%ebp
4222f2:	6a ff                	push   $0xffffffff
4222f4:	68 41 01 49 00       	push   $0x490141
4222f9:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4222ff:	50                   	push   %eax
422300:	51                   	push   %ecx
422301:	51                   	push   %ecx
422302:	53                   	push   %ebx
422303:	56                   	push   %esi
422304:	57                   	push   %edi
422305:	a1 94 80 4b 00       	mov    0x4b8094,%eax
42230a:	33 c5                	xor    %ebp,%eax
42230c:	50                   	push   %eax
42230d:	8d 45 f4             	lea    -0xc(%ebp),%eax
422310:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
422316:	e8 eb 59 00 00       	call   0x427d06
42231b:	8b d8                	mov    %eax,%ebx
42231d:	8b fa                	mov    %edx,%edi
42231f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
422322:	e8 c8 59 00 00       	call   0x427cef
422327:	53                   	push   %ebx
422328:	57                   	push   %edi
422329:	53                   	push   %ebx
42232a:	52                   	push   %edx
42232b:	50                   	push   %eax
42232c:	e8 af d8 01 00       	call   0x43fbe0
422331:	8b f3                	mov    %ebx,%esi
422333:	5b                   	pop    %ebx
422334:	6a 00                	push   $0x0
422336:	68 00 ca 9a 3b       	push   $0x3b9aca00
42233b:	56                   	push   %esi
42233c:	51                   	push   %ecx
42233d:	89 45 ec             	mov    %eax,-0x14(%ebp)
422340:	8b da                	mov    %edx,%ebx
422342:	e8 79 d9 01 00       	call   0x43fcc0
422347:	57                   	push   %edi
422348:	ff 75 f0             	push   -0x10(%ebp)
42234b:	52                   	push   %edx
42234c:	50                   	push   %eax
42234d:	e8 de d7 01 00       	call   0x43fb30
422352:	6a 00                	push   $0x0
422354:	68 00 ca 9a 3b       	push   $0x3b9aca00
422359:	53                   	push   %ebx
42235a:	ff 75 ec             	push   -0x14(%ebp)
42235d:	8b f0                	mov    %eax,%esi
42235f:	8b fa                	mov    %edx,%edi
422361:	e8 5a d9 01 00       	call   0x43fcc0
422366:	03 f0                	add    %eax,%esi
422368:	8b 45 08             	mov    0x8(%ebp),%eax
42236b:	13 fa                	adc    %edx,%edi
42236d:	89 30                	mov    %esi,(%eax)
42236f:	89 78 04             	mov    %edi,0x4(%eax)
422372:	8b 4d f4             	mov    -0xc(%ebp),%ecx
422375:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42237c:	59                   	pop    %ecx
42237d:	5f                   	pop    %edi
42237e:	5e                   	pop    %esi
42237f:	5b                   	pop    %ebx
422380:	c9                   	leave
422381:	c3                   	ret
422382:	b8 ff ff 00 00       	mov    $0xffff,%eax
422387:	c2 04 00             	ret    $0x4
42238a:	55                   	push   %ebp
42238b:	8b ec                	mov    %esp,%ebp
42238d:	83 ec 0c             	sub    $0xc,%esp
422390:	b8 ff ff 00 00       	mov    $0xffff,%eax
422395:	53                   	push   %ebx
422396:	56                   	push   %esi
422397:	57                   	push   %edi
422398:	8b f9                	mov    %ecx,%edi
42239a:	f6 47 3c 02          	testb  $0x2,0x3c(%edi)
42239e:	0f 85 37 01 00 00    	jne    0x4224db
4223a4:	66 3b 45 08          	cmp    0x8(%ebp),%ax
4223a8:	75 07                	jne    0x4223b1
4223aa:	33 c0                	xor    %eax,%eax
4223ac:	e9 2a 01 00 00       	jmp    0x4224db
4223b1:	8b 47 20             	mov    0x20(%edi),%eax
4223b4:	8b 77 30             	mov    0x30(%edi),%esi
4223b7:	8b 18                	mov    (%eax),%ebx
4223b9:	8b 0e                	mov    (%esi),%ecx
4223bb:	8d 14 4b             	lea    (%ebx,%ecx,2),%edx
4223be:	85 db                	test   %ebx,%ebx
4223c0:	74 23                	je     0x4223e5
4223c2:	3b da                	cmp    %edx,%ebx
4223c4:	73 1f                	jae    0x4223e5
4223c6:	66 8b 45 08          	mov    0x8(%ebp),%ax
4223ca:	49                   	dec    %ecx
4223cb:	89 0e                	mov    %ecx,(%esi)
4223cd:	8b 57 20             	mov    0x20(%edi),%edx
4223d0:	8b 32                	mov    (%edx),%esi
4223d2:	8d 4e 02             	lea    0x2(%esi),%ecx