4220a7:	74 58                	je     0x422101
4220a9:	56                   	push   %esi
4220aa:	ff 70 14             	push   0x14(%eax)
4220ad:	ba 1c 50 40 00       	mov    $0x40501c,%edx
4220b2:	ff 70 10             	push   0x10(%eax)
4220b5:	6a 18                	push   $0x18
4220b7:	59                   	pop    %ecx
4220b8:	e8 11 53 fe ff       	call   0x4073ce
4220bd:	eb 42                	jmp    0x422101
4220bf:	ff 75 10             	push   0x10(%ebp)
4220c2:	8b 45 14             	mov    0x14(%ebp),%eax
4220c5:	6a 05                	push   $0x5
4220c7:	ff 75 e8             	push   -0x18(%ebp)
4220ca:	ff 30                	push   (%eax)
4220cc:	ff 15 c8 c4 42 00    	call   *0x42c4c8
4220d2:	8b f0                	mov    %eax,%esi
4220d4:	85 f6                	test   %esi,%esi
4220d6:	79 29                	jns    0x422101
4220d8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4220dd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4220e2:	74 1d                	je     0x422101
4220e4:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4220e8:	74 17                	je     0x422101
4220ea:	56                   	push   %esi
4220eb:	ff 75 e8             	push   -0x18(%ebp)
4220ee:	ba 1c 50 40 00       	mov    $0x40501c,%edx
4220f3:	ff 70 14             	push   0x14(%eax)
4220f6:	ff 70 10             	push   0x10(%eax)
4220f9:	6a 19                	push   $0x19
4220fb:	59                   	pop    %ecx
4220fc:	e8 b5 58 fe ff       	call   0x4079b6
422101:	6a 01                	push   $0x1
422103:	8d 4d e8             	lea    -0x18(%ebp),%ecx
422106:	e8 1a ab fe ff       	call   0x40cc25
42210b:	8b c6                	mov    %esi,%eax
42210d:	e8 24 5f 00 00       	call   0x428036
422112:	c2 10 00             	ret    $0x10
422115:	8b ff                	mov    %edi,%edi
422117:	55                   	push   %ebp
422118:	8b ec                	mov    %esp,%ebp
42211a:	81 ec cc 00 00 00    	sub    $0xcc,%esp
422120:	53                   	push   %ebx
422121:	56                   	push   %esi
422122:	57                   	push   %edi
422123:	ff 75 0c             	push   0xc(%ebp)
422126:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
42212c:	8b d9                	mov    %ecx,%ebx
42212e:	ff 75 08             	push   0x8(%ebp)
422131:	50                   	push   %eax
422132:	e8 f0 01 00 00       	call   0x422327
422137:	6a 17                	push   $0x17
422139:	59                   	pop    %ecx
42213a:	8b f0                	mov    %eax,%esi
42213c:	8d 7d 98             	lea    -0x68(%ebp),%edi
42213f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
422141:	80 7d 98 00          	cmpb   $0x0,-0x68(%ebp)
422145:	74 6c                	je     0x4221b3
422147:	8b 75 ec             	mov    -0x14(%ebp),%esi
42214a:	8d 45 f8             	lea    -0x8(%ebp),%eax
42214d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
422151:	6a 00                	push   $0x0
422153:	6a 04                	push   $0x4
422155:	50                   	push   %eax
422156:	8b 45 b4             	mov    -0x4c(%ebp),%eax
422159:	03 c6                	add    %esi,%eax
42215b:	50                   	push   %eax
42215c:	8b 03                	mov    (%ebx),%eax
42215e:	ff 30                	push   (%eax)
422160:	ff 15 38 c1 42 00    	call   *0x42c138
422166:	85 c0                	test   %eax,%eax
422168:	74 49                	je     0x4221b3
42216a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42216d:	85 c9                	test   %ecx,%ecx
42216f:	74 0d                	je     0x42217e
422171:	83 f9 04             	cmp    $0x4,%ecx
422174:	76 33                	jbe    0x4221a9
422176:	8d 41 f9             	lea    -0x7(%ecx),%eax
422179:	83 f8 01             	cmp    $0x1,%eax
42217c:	76 2b                	jbe    0x4221a9
42217e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
422182:	83 f9 05             	cmp    $0x5,%ecx
422185:	75 27                	jne    0x4221ae
422187:	6a 00                	push   $0x0
422189:	6a 01                	push   $0x1
42218b:	8d 45 ff             	lea    -0x1(%ebp),%eax
42218e:	50                   	push   %eax
42218f:	8b 45 c0             	mov    -0x40(%ebp),%eax
422192:	03 c6                	add    %esi,%eax
422194:	50                   	push   %eax
422195:	8b 03                	mov    (%ebx),%eax
422197:	ff 30                	push   (%eax)
422199:	ff 15 38 c1 42 00    	call   *0x42c138
42219f:	85 c0                	test   %eax,%eax
4221a1:	74 0b                	je     0x4221ae
4221a3:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4221a7:	74 05                	je     0x4221ae
4221a9:	6a 02                	push   $0x2
4221ab:	58                   	pop    %eax
4221ac:	eb 07                	jmp    0x4221b5
4221ae:	33 c0                	xor    %eax,%eax
4221b0:	40                   	inc    %eax
4221b1:	eb 02                	jmp    0x4221b5
4221b3:	33 c0                	xor    %eax,%eax
4221b5:	5f                   	pop    %edi
4221b6:	5e                   	pop    %esi
4221b7:	5b                   	pop    %ebx
4221b8:	c9                   	leave
4221b9:	c2 08 00             	ret    $0x8
4221bc:	8b ff                	mov    %edi,%edi
4221be:	55                   	push   %ebp
4221bf:	8b ec                	mov    %esp,%ebp
4221c1:	81 ec e0 00 00 00    	sub    $0xe0,%esp
4221c7:	53                   	push   %ebx
4221c8:	8b 5d 10             	mov    0x10(%ebp),%ebx
4221cb:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
4221d1:	56                   	push   %esi
4221d2:	57                   	push   %edi
4221d3:	ff 75 0c             	push   0xc(%ebp)
4221d6:	8b cb                	mov    %ebx,%ecx
4221d8:	89 55 ec             	mov    %edx,-0x14(%ebp)
4221db:	ff 75 08             	push   0x8(%ebp)
4221de:	50                   	push   %eax
4221df:	e8 43 01 00 00       	call   0x422327
4221e4:	6a 17                	push   $0x17
4221e6:	59                   	pop    %ecx
4221e7:	8b f0                	mov    %eax,%esi
4221e9:	8d 7d 84             	lea    -0x7c(%ebp),%edi
4221ec:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4221ee:	80 7d 84 00          	cmpb   $0x0,-0x7c(%ebp)
4221f2:	0f 84 8a 00 00 00    	je     0x422282
4221f8:	8b 75 90             	mov    -0x70(%ebp),%esi
4221fb:	8d 45 f8             	lea    -0x8(%ebp),%eax
4221fe:	33 ff                	xor    %edi,%edi
422200:	57                   	push   %edi
422201:	6a 04                	push   $0x4
422203:	50                   	push   %eax
422204:	8b 45 c8             	mov    -0x38(%ebp),%eax
422207:	03 c6                	add    %esi,%eax
422209:	89 7d f8             	mov    %edi,-0x8(%ebp)
42220c:	50                   	push   %eax
42220d:	8b 03                	mov    (%ebx),%eax
42220f:	ff 30                	push   (%eax)
422211:	ff 15 38 c1 42 00    	call   *0x42c138
422217:	85 c0                	test   %eax,%eax
422219:	74 67                	je     0x422282
42221b:	39 7d f8             	cmp    %edi,-0x8(%ebp)
42221e:	74 62                	je     0x422282
422220:	57                   	push   %edi
422221:	6a 08                	push   $0x8
422223:	8d 45 f0             	lea    -0x10(%ebp),%eax
422226:	89 7d f0             	mov    %edi,-0x10(%ebp)
422229:	50                   	push   %eax
42222a:	8b 45 bc             	mov    -0x44(%ebp),%eax
42222d:	03 c6                	add    %esi,%eax
42222f:	89 7d f4             	mov    %edi,-0xc(%ebp)
422232:	50                   	push   %eax
422233:	8b 03                	mov    (%ebx),%eax
422235:	ff 30                	push   (%eax)
422237:	ff 15 38 c1 42 00    	call   *0x42c138
42223d:	85 c0                	test   %eax,%eax
42223f:	74 41                	je     0x422282
422241:	8b 45 f4             	mov    -0xc(%ebp),%eax
422244:	33 c9                	xor    %ecx,%ecx
422246:	03 4d f0             	add    -0x10(%ebp),%ecx
422249:	13 c7                	adc    %edi,%eax
42224b:	0b c8                	or     %eax,%ecx
42224d:	74 33                	je     0x422282
42224f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422252:	b9 04 01 00 00       	mov    $0x104,%ecx
422257:	3b c1                	cmp    %ecx,%eax
422259:	72 02                	jb     0x42225d
42225b:	8b c1                	mov    %ecx,%eax
42225d:	57                   	push   %edi
42225e:	8b 7d ec             	mov    -0x14(%ebp),%edi
422261:	8d 34 00             	lea    (%eax,%eax,1),%esi
422264:	8b 03                	mov    (%ebx),%eax
422266:	56                   	push   %esi
422267:	57                   	push   %edi
422268:	ff 75 f0             	push   -0x10(%ebp)
42226b:	ff 30                	push   (%eax)
42226d:	ff 15 38 c1 42 00    	call   *0x42c138
422273:	85 c0                	test   %eax,%eax
422275:	74 0b                	je     0x422282
422277:	33 c0                	xor    %eax,%eax
422279:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
42227d:	8b 45 f8             	mov    -0x8(%ebp),%eax
422280:	eb 02                	jmp    0x422284
422282:	33 c0                	xor    %eax,%eax
422284:	5f                   	pop    %edi
422285:	5e                   	pop    %esi
422286:	5b                   	pop    %ebx
422287:	c9                   	leave
422288:	c2 0c 00             	ret    $0xc
42228b:	8b ff                	mov    %edi,%edi
42228d:	55                   	push   %ebp
42228e:	8b ec                	mov    %esp,%ebp
422290:	81 ec d8 00 00 00    	sub    $0xd8,%esp
422296:	53                   	push   %ebx
422297:	56                   	push   %esi
422298:	57                   	push   %edi
422299:	ff 75 10             	push   0x10(%ebp)
42229c:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
4222a2:	8b d9                	mov    %ecx,%ebx
4222a4:	ff 75 0c             	push   0xc(%ebp)
4222a7:	50                   	push   %eax
4222a8:	e8 7a 00 00 00       	call   0x422327
4222ad:	6a 17                	push   $0x17
4222af:	59                   	pop    %ecx
4222b0:	8b f0                	mov    %eax,%esi
4222b2:	8d 7d 8c             	lea    -0x74(%ebp),%edi
4222b5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4222b7:	33 f6                	xor    %esi,%esi
4222b9:	80 7d 8c 00          	cmpb   $0x0,-0x74(%ebp)
4222bd:	75 10                	jne    0x4222cf
4222bf:	8b 45 08             	mov    0x8(%ebp),%eax
4222c2:	89 30                	mov    %esi,(%eax)
4222c4:	89 70 04             	mov    %esi,0x4(%eax)
4222c7:	89 70 08             	mov    %esi,0x8(%eax)
4222ca:	89 70 0c             	mov    %esi,0xc(%eax)
4222cd:	eb 51                	jmp    0x422320
4222cf:	8b 7d 98             	mov    -0x68(%ebp),%edi
4222d2:	8d 45 ec             	lea    -0x14(%ebp),%eax
4222d5:	56                   	push   %esi
4222d6:	6a 08                	push   $0x8
4222d8:	50                   	push   %eax
4222d9:	8b 45 c8             	mov    -0x38(%ebp),%eax
4222dc:	03 c7                	add    %edi,%eax
4222de:	89 75 ec             	mov    %esi,-0x14(%ebp)
4222e1:	50                   	push   %eax
4222e2:	8b 03                	mov    (%ebx),%eax
4222e4:	89 75 f0             	mov    %esi,-0x10(%ebp)
4222e7:	89 75 f4             	mov    %esi,-0xc(%ebp)
4222ea:	89 75 f8             	mov    %esi,-0x8(%ebp)
4222ed:	ff 30                	push   (%eax)
4222ef:	ff 15 38 c1 42 00    	call   *0x42c138
4222f5:	85 c0                	test   %eax,%eax
4222f7:	74 c6                	je     0x4222bf
4222f9:	56                   	push   %esi
4222fa:	6a 08                	push   $0x8
4222fc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4222ff:	50                   	push   %eax
422300:	8b 45 cc             	mov    -0x34(%ebp),%eax
422303:	03 c7                	add    %edi,%eax
422305:	50                   	push   %eax
422306:	8b 03                	mov    (%ebx),%eax
422308:	ff 30                	push   (%eax)
42230a:	ff 15 38 c1 42 00    	call   *0x42c138
422310:	85 c0                	test   %eax,%eax
422312:	8b 45 08             	mov    0x8(%ebp),%eax
422315:	74 ab                	je     0x4222c2
422317:	8b f8                	mov    %eax,%edi
422319:	8d 75 ec             	lea    -0x14(%ebp),%esi
42231c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42231d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42231e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42231f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
422320:	5f                   	pop    %edi
422321:	5e                   	pop    %esi
422322:	5b                   	pop    %ebx
422323:	c9                   	leave
422324:	c2 0c 00             	ret    $0xc
422327:	8b ff                	mov    %edi,%edi
422329:	55                   	push   %ebp
42232a:	8b ec                	mov    %esp,%ebp
42232c:	83 ec 20             	sub    $0x20,%esp
42232f:	53                   	push   %ebx
422330:	56                   	push   %esi
422331:	8b 75 08             	mov    0x8(%ebp),%esi
422334:	33 c0                	xor    %eax,%eax
422336:	57                   	push   %edi
422337:	6a 40                	push   $0x40
422339:	50                   	push   %eax
42233a:	88 06                	mov    %al,(%esi)
42233c:	8d 7e 04             	lea    0x4(%esi),%edi
42233f:	89 07                	mov    %eax,(%edi)
422341:	8b d9                	mov    %ecx,%ebx
422343:	89 47 04             	mov    %eax,0x4(%edi)
422346:	89 46 0c             	mov    %eax,0xc(%esi)
422349:	89 46 10             	mov    %eax,0x10(%esi)
42234c:	8d 46 14             	lea    0x14(%esi),%eax
42234f:	50                   	push   %eax
422350:	e8 58 60 00 00       	call   0x4283ad
422355:	8b 45 0c             	mov    0xc(%ebp),%eax
422358:	83 c4 0c             	add    $0xc,%esp
42235b:	33 c9                	xor    %ecx,%ecx
42235d:	05 cc 00 00 00       	add    $0xcc,%eax
422362:	89 4e 54             	mov    %ecx,0x54(%esi)
422365:	89 4e 58             	mov    %ecx,0x58(%esi)
422368:	51                   	push   %ecx
422369:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42236c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42236f:	6a 04                	push   $0x4
422371:	51                   	push   %ecx
422372:	50                   	push   %eax
422373:	89 45 f0             	mov    %eax,-0x10(%ebp)
422376:	8b 03                	mov    (%ebx),%eax
422378:	ff 30                	push   (%eax)
42237a:	ff 15 38 c1 42 00    	call   *0x42c138
422380:	85 c0                	test   %eax,%eax
422382:	0f 84 90 00 00 00    	je     0x422418
422388:	81 7d f8 54 54 44 31 	cmpl   $0x31445454,-0x8(%ebp)
42238f:	0f 85 83 00 00 00    	jne    0x422418
422395:	6a 00                	push   $0x0
422397:	6a 08                	push   $0x8
422399:	8d 46 54             	lea    0x54(%esi),%eax
42239c:	50                   	push   %eax
42239d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4223a0:	83 c0 04             	add    $0x4,%eax
4223a3:	50                   	push   %eax
4223a4:	8b 03                	mov    (%ebx),%eax
4223a6:	ff 30                	push   (%eax)
4223a8:	ff 15 38 c1 42 00    	call   *0x42c138
4223ae:	85 c0                	test   %eax,%eax
4223b0:	74 66                	je     0x422418
4223b2:	8b 4e 58             	mov    0x58(%esi),%ecx
4223b5:	33 d2                	xor    %edx,%edx
4223b7:	03 56 54             	add    0x54(%esi),%edx
4223ba:	8b c2                	mov    %edx,%eax
4223bc:	83 d1 00             	adc    $0x0,%ecx
4223bf:	0b c1                	or     %ecx,%eax
4223c1:	74 55                	je     0x422418
4223c3:	33 c0                	xor    %eax,%eax
4223c5:	50                   	push   %eax
4223c6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4223c9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4223cc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4223cf:	6a 08                	push   $0x8
4223d1:	50                   	push   %eax
4223d2:	8b 03                	mov    (%ebx),%eax
4223d4:	52                   	push   %edx
4223d5:	ff 30                	push   (%eax)
4223d7:	ff 15 38 c1 42 00    	call   *0x42c138
4223dd:	85 c0                	test   %eax,%eax
4223df:	74 37                	je     0x422418
4223e1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4223e4:	33 c9                	xor    %ecx,%ecx
4223e6:	03 4d e4             	add    -0x1c(%ebp),%ecx
4223e9:	6a 00                	push   $0x0
4223eb:	5a                   	pop    %edx
4223ec:	13 c2                	adc    %edx,%eax
4223ee:	0b c8                	or     %eax,%ecx
4223f0:	74 26                	je     0x422418
4223f2:	8b 03                	mov    (%ebx),%eax
4223f4:	52                   	push   %edx
4223f5:	6a 50                	push   $0x50
4223f7:	57                   	push   %edi
4223f8:	ff 75 e4             	push   -0x1c(%ebp)
4223fb:	ff 30                	push   (%eax)
4223fd:	ff 15 38 c1 42 00    	call   *0x42c138
422403:	85 c0                	test   %eax,%eax