420174:	85 f6                	test   %esi,%esi
420176:	74 82                	je     0x4200fa
420178:	ff 71 08             	push   0x8(%ecx)
42017b:	ff 15 54 72 4a 00    	call   *0x4a7254
420181:	8b c8                	mov    %eax,%ecx
420183:	85 c9                	test   %ecx,%ecx
420185:	75 0c                	jne    0x420193
420187:	e8 fc 00 00 00       	call   0x420288
42018c:	eb 3b                	jmp    0x4201c9
42018e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
420191:	eb e1                	jmp    0x420174
420193:	56                   	push   %esi
420194:	53                   	push   %ebx
420195:	8b 5d 08             	mov    0x8(%ebp),%ebx
420198:	8b 43 10             	mov    0x10(%ebx),%eax
42019b:	83 c0 f2             	add    $0xfffffff2,%eax
42019e:	03 c1                	add    %ecx,%eax
4201a0:	50                   	push   %eax
4201a1:	e8 87 0e 07 00       	call   0x49102d
4201a6:	83 c4 0c             	add    $0xc,%esp
4201a9:	ff 73 08             	push   0x8(%ebx)
4201ac:	ff 15 50 72 4a 00    	call   *0x4a7250
4201b2:	01 73 10             	add    %esi,0x10(%ebx)
4201b5:	85 ff                	test   %edi,%edi
4201b7:	0f 84 3d ff ff ff    	je     0x4200fa
4201bd:	01 37                	add    %esi,(%edi)
4201bf:	e9 36 ff ff ff       	jmp    0x4200fa
4201c4:	b8 05 40 00 80       	mov    $0x80004005,%eax
4201c9:	5f                   	pop    %edi
4201ca:	5e                   	pop    %esi
4201cb:	5b                   	pop    %ebx
4201cc:	c9                   	leave
4201cd:	c2 10 00             	ret    $0x10
4201d0:	8b ff                	mov    %edi,%edi
4201d2:	55                   	push   %ebp
4201d3:	8b ec                	mov    %esp,%ebp
4201d5:	8b 45 14             	mov    0x14(%ebp),%eax
4201d8:	83 e8 00             	sub    $0x0,%eax
4201db:	74 2c                	je     0x420209
4201dd:	83 e8 01             	sub    $0x1,%eax
4201e0:	74 1a                	je     0x4201fc
4201e2:	83 e8 01             	sub    $0x1,%eax
4201e5:	74 07                	je     0x4201ee
4201e7:	b8 57 00 07 80       	mov    $0x80070057,%eax
4201ec:	eb 37                	jmp    0x420225
4201ee:	8b 45 08             	mov    0x8(%ebp),%eax
4201f1:	8d 48 10             	lea    0x10(%eax),%ecx
4201f4:	8b 40 0c             	mov    0xc(%eax),%eax
4201f7:	2b 45 0c             	sub    0xc(%ebp),%eax
4201fa:	eb 16                	jmp    0x420212
4201fc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4201ff:	8b 45 0c             	mov    0xc(%ebp),%eax
420202:	83 c1 10             	add    $0x10,%ecx
420205:	01 01                	add    %eax,(%ecx)
420207:	eb 0b                	jmp    0x420214
420209:	8b 4d 08             	mov    0x8(%ebp),%ecx
42020c:	8b 45 0c             	mov    0xc(%ebp),%eax
42020f:	83 c1 10             	add    $0x10,%ecx
420212:	89 01                	mov    %eax,(%ecx)
420214:	8b 55 18             	mov    0x18(%ebp),%edx
420217:	85 d2                	test   %edx,%edx
420219:	74 08                	je     0x420223
42021b:	8b 01                	mov    (%ecx),%eax
42021d:	83 62 04 00          	andl   $0x0,0x4(%edx)
420221:	89 02                	mov    %eax,(%edx)
420223:	33 c0                	xor    %eax,%eax
420225:	5d                   	pop    %ebp
420226:	c2 14 00             	ret    $0x14
420229:	cc                   	int3
42022a:	cc                   	int3
42022b:	cc                   	int3
42022c:	cc                   	int3
42022d:	cc                   	int3
42022e:	cc                   	int3
42022f:	cc                   	int3
420230:	8b ff                	mov    %edi,%edi
420232:	55                   	push   %ebp
420233:	8b ec                	mov    %esp,%ebp
420235:	ff 75 0c             	push   0xc(%ebp)
420238:	8b 4d 08             	mov    0x8(%ebp),%ecx
42023b:	e8 c9 fc ff ff       	call   0x41ff09
420240:	5d                   	pop    %ebp
420241:	c2 0c 00             	ret    $0xc
420244:	cc                   	int3
420245:	cc                   	int3
420246:	cc                   	int3
420247:	cc                   	int3
420248:	cc                   	int3
420249:	cc                   	int3
42024a:	cc                   	int3
42024b:	cc                   	int3
42024c:	cc                   	int3
42024d:	cc                   	int3
42024e:	cc                   	int3
42024f:	cc                   	int3
420250:	b8 01 40 00 80       	mov    $0x80004001,%eax
420255:	c2 18 00             	ret    $0x18
420258:	cc                   	int3
420259:	cc                   	int3
42025a:	cc                   	int3
42025b:	cc                   	int3
42025c:	cc                   	int3
42025d:	cc                   	int3
42025e:	cc                   	int3
42025f:	cc                   	int3
420260:	b8 01 40 00 80       	mov    $0x80004001,%eax
420265:	c2 08 00             	ret    $0x8
420268:	cc                   	int3
420269:	cc                   	int3
42026a:	cc                   	int3
42026b:	cc                   	int3
42026c:	cc                   	int3
42026d:	cc                   	int3
42026e:	cc                   	int3
42026f:	cc                   	int3
420270:	b8 01 40 00 80       	mov    $0x80004001,%eax
420275:	c2 04 00             	ret    $0x4
420278:	cc                   	int3
420279:	cc                   	int3
42027a:	cc                   	int3
42027b:	cc                   	int3
42027c:	cc                   	int3
42027d:	cc                   	int3
42027e:	cc                   	int3
42027f:	cc                   	int3
420280:	b8 01 40 00 80       	mov    $0x80004001,%eax
420285:	c2 0c 00             	ret    $0xc
420288:	ff 15 b8 72 4a 00    	call   *0x4a72b8
42028e:	85 c0                	test   %eax,%eax
420290:	7e 0a                	jle    0x42029c
420292:	0f b7 c0             	movzwl %ax,%eax
420295:	0d 00 00 07 80       	or     $0x80070000,%eax
42029a:	85 c0                	test   %eax,%eax
42029c:	78 05                	js     0x4202a3
42029e:	b8 05 40 00 80       	mov    $0x80004005,%eax
4202a3:	c3                   	ret
4202a4:	6a 08                	push   $0x8
4202a6:	b8 86 18 49 00       	mov    $0x491886,%eax
4202ab:	e8 23 02 07 00       	call   0x4904d3
4202b0:	66 8b f2             	mov    %dx,%si
4202b3:	66 8b f9             	mov    %cx,%di
4202b6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4202b9:	ff 15 20 74 4a 00    	call   *0x4a7420
4202bf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4202c3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4202c6:	ff 15 20 74 4a 00    	call   *0x4a7420
4202cc:	0f b7 c6             	movzwl %si,%eax
4202cf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4202d2:	50                   	push   %eax
4202d3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4202d7:	ff 15 40 74 4a 00    	call   *0x4a7440
4202dd:	8b 75 f0             	mov    -0x10(%ebp),%esi
4202e0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4202e3:	0f b7 c7             	movzwl %di,%eax
4202e6:	50                   	push   %eax
4202e7:	ff 15 40 74 4a 00    	call   *0x4a7440
4202ed:	8b 7d ec             	mov    -0x14(%ebp),%edi
4202f0:	e8 40 00 00 00       	call   0x420335
4202f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4202f8:	81 c9 00 20 00 00    	or     $0x2000,%ecx
4202fe:	51                   	push   %ecx
4202ff:	56                   	push   %esi
420300:	57                   	push   %edi
420301:	85 c0                	test   %eax,%eax
420303:	74 0a                	je     0x42030f
420305:	8b c8                	mov    %eax,%ecx
420307:	ff 15 ac 75 4a 00    	call   *0x4a75ac
42030d:	eb 08                	jmp    0x420317
42030f:	6a 00                	push   $0x0
420311:	ff 15 90 7d 4a 00    	call   *0x4a7d90
420317:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42031a:	8b f0                	mov    %eax,%esi
42031c:	ff 15 1c 74 4a 00    	call   *0x4a741c
420322:	8d 4d ec             	lea    -0x14(%ebp),%ecx
420325:	ff 15 1c 74 4a 00    	call   *0x4a741c
42032b:	8b c6                	mov    %esi,%eax
42032d:	e8 6f 01 07 00       	call   0x4904a1
420332:	c2 04 00             	ret    $0x4
420335:	8b ff                	mov    %edi,%edi
420337:	57                   	push   %edi
420338:	ff 15 a8 75 4a 00    	call   *0x4a75a8
42033e:	8b f8                	mov    %eax,%edi
420340:	85 ff                	test   %edi,%edi
420342:	74 15                	je     0x420359
420344:	8b 0f                	mov    (%edi),%ecx
420346:	56                   	push   %esi
420347:	8b 71 7c             	mov    0x7c(%ecx),%esi
42034a:	8b ce                	mov    %esi,%ecx
42034c:	ff 15 2c 81 4a 00    	call   *0x4a812c
420352:	8b cf                	mov    %edi,%ecx
420354:	ff d6                	call   *%esi
420356:	5e                   	pop    %esi
420357:	5f                   	pop    %edi
420358:	c3                   	ret
420359:	33 c0                	xor    %eax,%eax
42035b:	5f                   	pop    %edi
42035c:	c3                   	ret
42035d:	6a 08                	push   $0x8
42035f:	b8 b1 18 49 00       	mov    $0x4918b1,%eax
420364:	e8 6a 01 07 00       	call   0x4904d3
420369:	8b da                	mov    %edx,%ebx
42036b:	8b f9                	mov    %ecx,%edi
42036d:	89 7d ec             	mov    %edi,-0x14(%ebp)
420370:	be 03 40 00 80       	mov    $0x80004003,%esi
420375:	85 ff                	test   %edi,%edi
420377:	75 07                	jne    0x420380
420379:	56                   	push   %esi
42037a:	ff 15 b0 75 4a 00    	call   *0x4a75b0
420380:	85 db                	test   %ebx,%ebx
420382:	75 07                	jne    0x42038b
420384:	56                   	push   %esi
420385:	ff 15 b0 75 4a 00    	call   *0x4a75b0
42038b:	33 f6                	xor    %esi,%esi
42038d:	8b c6                	mov    %esi,%eax
42038f:	89 45 f0             	mov    %eax,-0x10(%ebp)
420392:	85 ff                	test   %edi,%edi
420394:	74 1b                	je     0x4203b1
420396:	8b 3f                	mov    (%edi),%edi
420398:	8d 45 f0             	lea    -0x10(%ebp),%eax
42039b:	50                   	push   %eax
42039c:	68 0c fb 40 00       	push   $0x40fb0c
4203a1:	ff 75 ec             	push   -0x14(%ebp)
4203a4:	8b 0f                	mov    (%edi),%ecx
4203a6:	ff 15 2c 81 4a 00    	call   *0x4a812c
4203ac:	ff 17                	call   *(%edi)
4203ae:	8b 45 f0             	mov    -0x10(%ebp),%eax
4203b1:	89 75 fc             	mov    %esi,-0x4(%ebp)
4203b4:	85 c0                	test   %eax,%eax
4203b6:	0f 84 8c 00 00 00    	je     0x420448
4203bc:	89 75 ec             	mov    %esi,-0x14(%ebp)
4203bf:	85 db                	test   %ebx,%ebx
4203c1:	74 1c                	je     0x4203df
4203c3:	8b 33                	mov    (%ebx),%esi
4203c5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4203c8:	50                   	push   %eax
4203c9:	68 1c fb 40 00       	push   $0x40fb1c
4203ce:	53                   	push   %ebx
4203cf:	8b 0e                	mov    (%esi),%ecx
4203d1:	ff 15 2c 81 4a 00    	call   *0x4a812c
4203d7:	ff 16                	call   *(%esi)
4203d9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4203dc:	8b 75 ec             	mov    -0x14(%ebp),%esi
4203df:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4203e3:	85 f6                	test   %esi,%esi
4203e5:	75 11                	jne    0x4203f8
4203e7:	68 02 40 00 80       	push   $0x80004002
4203ec:	ff 15 b0 75 4a 00    	call   *0x4a75b0
4203f2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4203f5:	8b 75 ec             	mov    -0x14(%ebp),%esi
4203f8:	8b 0e                	mov    (%esi),%ecx
4203fa:	50                   	push   %eax
4203fb:	56                   	push   %esi
4203fc:	8b 71 1c             	mov    0x1c(%ecx),%esi
4203ff:	8b ce                	mov    %esi,%ecx
420401:	ff 15 2c 81 4a 00    	call   *0x4a812c
420407:	ff d6                	call   *%esi
420409:	85 c0                	test   %eax,%eax
42040b:	79 1d                	jns    0x42042a
42040d:	8b 45 ec             	mov    -0x14(%ebp),%eax
420410:	ff 75 f0             	push   -0x10(%ebp)
420413:	50                   	push   %eax
420414:	8b 08                	mov    (%eax),%ecx
420416:	8b 71 1c             	mov    0x1c(%ecx),%esi
420419:	8b ce                	mov    %esi,%ecx
42041b:	ff 15 2c 81 4a 00    	call   *0x4a812c
420421:	ff d6                	call   *%esi
420423:	50                   	push   %eax
420424:	ff 15 b0 75 4a 00    	call   *0x4a75b0
42042a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42042e:	8b 45 ec             	mov    -0x14(%ebp),%eax
420431:	85 c0                	test   %eax,%eax
420433:	74 10                	je     0x420445
420435:	8b 08                	mov    (%eax),%ecx
420437:	50                   	push   %eax
420438:	8b 71 08             	mov    0x8(%ecx),%esi
42043b:	8b ce                	mov    %esi,%ecx
42043d:	ff 15 2c 81 4a 00    	call   *0x4a812c
420443:	ff d6                	call   *%esi
420445:	8b 45 f0             	mov    -0x10(%ebp),%eax
420448:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
42044f:	85 c0                	test   %eax,%eax
420451:	74 10                	je     0x420463
420453:	8b 08                	mov    (%eax),%ecx
420455:	50                   	push   %eax
420456:	8b 71 08             	mov    0x8(%ecx),%esi
420459:	8b ce                	mov    %esi,%ecx
42045b:	ff 15 2c 81 4a 00    	call   *0x4a812c
420461:	ff d6                	call   *%esi
420463:	e8 39 00 07 00       	call   0x4904a1
420468:	c3                   	ret
420469:	8b ff                	mov    %edi,%edi
42046b:	55                   	push   %ebp
42046c:	8b ec                	mov    %esp,%ebp
42046e:	6a ff                	push   $0xffffffff
420470:	68 fc 18 49 00       	push   $0x4918fc
420475:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
42047b:	50                   	push   %eax
42047c:	51                   	push   %ecx
42047d:	b8 90 12 00 00       	mov    $0x1290,%eax
420482:	e8 69 0b 07 00       	call   0x490ff0
420487:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
42048c:	33 c5                	xor    %ebp,%eax
42048e:	89 45 ec             	mov    %eax,-0x14(%ebp)
420491:	53                   	push   %ebx
420492:	56                   	push   %esi
420493:	57                   	push   %edi
420494:	50                   	push   %eax
420495:	8d 45 f4             	lea    -0xc(%ebp),%eax
420498:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
42049e:	89 65 f0             	mov    %esp,-0x10(%ebp)
4204a1:	89 95 6c ed ff ff    	mov    %edx,-0x1294(%ebp)
4204a7:	8b d9                	mov    %ecx,%ebx
4204a9:	89 9d 68 ed ff ff    	mov    %ebx,-0x1298(%ebp)
4204af:	68 58 02 00 00       	push   $0x258
4204b4:	8d 85 94 ed ff ff    	lea    -0x126c(%ebp),%eax
4204ba:	6a 00                	push   $0x0
4204bc:	50                   	push   %eax
4204bd:	e8 77 0b 07 00       	call   0x491039
4204c2:	83 c4 0c             	add    $0xc,%esp
4204c5:	8d 85 94 ed ff ff    	lea    -0x126c(%ebp),%eax
4204cb:	33 c9                	xor    %ecx,%ecx
4204cd:	83 ce ff             	or     $0xffffffff,%esi
4204d0:	89 b5 8c ed ff ff    	mov    %esi,-0x1274(%ebp)
4204d6:	89 b5 84 ed ff ff    	mov    %esi,-0x127c(%ebp)
4204dc:	51                   	push   %ecx
4204dd:	50                   	push   %eax
4204de:	51                   	push   %ecx
4204df:	53                   	push   %ebx
4204e0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4204e3:	ff 15 48 72 4a 00    	call   *0x4a7248
4204e9:	8b f8                	mov    %eax,%edi
4204eb:	89 bd 74 ed ff ff    	mov    %edi,-0x128c(%ebp)
4204f1:	3b fe                	cmp    %esi,%edi
4204f3:	0f 84 65 02 00 00    	je     0x42075e
4204f9:	8d 85 94 ed ff ff    	lea    -0x126c(%ebp),%eax
4204ff:	50                   	push   %eax
420500:	57                   	push   %edi
420501:	ff 15 44 72 4a 00    	call   *0x4a7244
420507:	85 c0                	test   %eax,%eax
420509:	0f 84 48 02 00 00    	je     0x420757
42050f:	8d 85 9c ed ff ff    	lea    -0x1264(%ebp),%eax
420515:	50                   	push   %eax
420516:	8d 8d 90 ed ff ff    	lea    -0x1270(%ebp),%ecx
42051c:	ff 15 48 74 4a 00    	call   *0x4a7448
420522:	6a 3a                	push   $0x3a
420524:	8d 8d 90 ed ff ff    	lea    -0x1270(%ebp),%ecx
42052a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42052e:	ff 15 b4 75 4a 00    	call   *0x4a75b4
420534:	83 f8 02             	cmp    $0x2,%eax
420537:	0f 8c 05 02 00 00    	jl     0x420742