402026:	74 12                	je     0x40203a
402028:	8b 01                	mov    (%ecx),%eax
40202a:	51                   	push   %ecx
40202b:	8b 70 08             	mov    0x8(%eax),%esi
40202e:	8b ce                	mov    %esi,%ecx
402030:	ff 15 20 23 41 00    	call   *0x412320
402036:	ff d6                	call   *%esi
402038:	89 1f                	mov    %ebx,(%edi)
40203a:	8b 4f 04             	mov    0x4(%edi),%ecx
40203d:	85 c9                	test   %ecx,%ecx
40203f:	74 13                	je     0x402054
402041:	8b 01                	mov    (%ecx),%eax
402043:	51                   	push   %ecx
402044:	8b 70 08             	mov    0x8(%eax),%esi
402047:	8b ce                	mov    %esi,%ecx
402049:	ff 15 20 23 41 00    	call   *0x412320
40204f:	ff d6                	call   *%esi
402051:	89 5f 04             	mov    %ebx,0x4(%edi)
402054:	8b 4f 08             	mov    0x8(%edi),%ecx
402057:	85 c9                	test   %ecx,%ecx
402059:	74 13                	je     0x40206e
40205b:	8b 01                	mov    (%ecx),%eax
40205d:	51                   	push   %ecx
40205e:	8b 70 08             	mov    0x8(%eax),%esi
402061:	8b ce                	mov    %esi,%ecx
402063:	ff 15 20 23 41 00    	call   *0x412320
402069:	ff d6                	call   *%esi
40206b:	89 5f 08             	mov    %ebx,0x8(%edi)
40206e:	8d 4f 0c             	lea    0xc(%edi),%ecx
402071:	e8 3d 58 00 00       	call   0x4078b3
402076:	83 bf 90 00 00 00 01 	cmpl   $0x1,0x90(%edi)
40207d:	75 0c                	jne    0x40208b
40207f:	51                   	push   %ecx
402080:	8b 8f 8c 00 00 00    	mov    0x8c(%edi),%ecx
402086:	e8 f7 95 00 00       	call   0x40b682
40208b:	8d 8f ac 00 00 00    	lea    0xac(%edi),%ecx
402091:	e8 30 8b 00 00       	call   0x40abc6
402096:	8d 8f b4 00 00 00    	lea    0xb4(%edi),%ecx
40209c:	e8 25 8b 00 00       	call   0x40abc6
4020a1:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
4020a7:	85 c0                	test   %eax,%eax
4020a9:	75 28                	jne    0x4020d3
4020ab:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4020b1:	85 c0                	test   %eax,%eax
4020b3:	74 48                	je     0x4020fd
4020b5:	8b b7 c4 00 00 00    	mov    0xc4(%edi),%esi
4020bb:	85 f6                	test   %esi,%esi
4020bd:	74 38                	je     0x4020f7
4020bf:	ff b7 a4 00 00 00    	push   0xa4(%edi)
4020c5:	8b ce                	mov    %esi,%ecx
4020c7:	50                   	push   %eax
4020c8:	53                   	push   %ebx
4020c9:	ff 15 20 23 41 00    	call   *0x412320
4020cf:	ff d6                	call   *%esi
4020d1:	eb 24                	jmp    0x4020f7
4020d3:	83 f8 01             	cmp    $0x1,%eax
4020d6:	75 25                	jne    0x4020fd
4020d8:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4020de:	85 c0                	test   %eax,%eax
4020e0:	74 1b                	je     0x4020fd
4020e2:	8b b7 b8 00 00 00    	mov    0xb8(%edi),%esi
4020e8:	85 f6                	test   %esi,%esi
4020ea:	74 0b                	je     0x4020f7
4020ec:	50                   	push   %eax
4020ed:	8b ce                	mov    %esi,%ecx
4020ef:	ff 15 20 23 41 00    	call   *0x412320
4020f5:	ff d6                	call   *%esi
4020f7:	89 9f a0 00 00 00    	mov    %ebx,0xa0(%edi)
4020fd:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
402103:	85 c0                	test   %eax,%eax
402105:	74 15                	je     0x40211c
402107:	8b b7 c0 00 00 00    	mov    0xc0(%edi),%esi
40210d:	85 f6                	test   %esi,%esi
40210f:	74 0b                	je     0x40211c
402111:	50                   	push   %eax
402112:	8b ce                	mov    %esi,%ecx
402114:	ff 15 20 23 41 00    	call   *0x412320
40211a:	ff d6                	call   *%esi
40211c:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
402122:	85 c0                	test   %eax,%eax
402124:	74 31                	je     0x402157
402126:	50                   	push   %eax
402127:	ff 15 dc 20 41 00    	call   *0x4120dc
40212d:	89 9f 9c 00 00 00    	mov    %ebx,0x9c(%edi)
402133:	89 9f b8 00 00 00    	mov    %ebx,0xb8(%edi)
402139:	89 9f bc 00 00 00    	mov    %ebx,0xbc(%edi)
40213f:	89 9f c0 00 00 00    	mov    %ebx,0xc0(%edi)
402145:	89 9f c4 00 00 00    	mov    %ebx,0xc4(%edi)
40214b:	89 9f c8 00 00 00    	mov    %ebx,0xc8(%edi)
402151:	89 9f d0 00 00 00    	mov    %ebx,0xd0(%edi)
402157:	ff 15 e8 21 41 00    	call   *0x4121e8
40215d:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
402161:	8d 8f 8c 00 00 00    	lea    0x8c(%edi),%ecx
402167:	ff 15 30 22 41 00    	call   *0x412230
40216d:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
402171:	8d 8f 88 00 00 00    	lea    0x88(%edi),%ecx
402177:	ff 15 30 22 41 00    	call   *0x412230
40217d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
402181:	8d 4f 7c             	lea    0x7c(%edi),%ecx
402184:	ff 15 30 22 41 00    	call   *0x412230
40218a:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40218e:	8d 4f 78             	lea    0x78(%edi),%ecx
402191:	ff 15 30 22 41 00    	call   *0x412230
402197:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40219b:	8d 4f 6c             	lea    0x6c(%edi),%ecx
40219e:	ff 15 30 22 41 00    	call   *0x412230
4021a4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4021a8:	8d 4f 68             	lea    0x68(%edi),%ecx
4021ab:	ff 15 30 22 41 00    	call   *0x412230
4021b1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4021b5:	8d 4f 60             	lea    0x60(%edi),%ecx
4021b8:	ff 15 30 22 41 00    	call   *0x412230
4021be:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4021c2:	8d 4f 34             	lea    0x34(%edi),%ecx
4021c5:	ff 15 30 22 41 00    	call   *0x412230
4021cb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4021cf:	8d 4f 30             	lea    0x30(%edi),%ecx
4021d2:	ff 15 30 22 41 00    	call   *0x412230
4021d8:	88 5d fc             	mov    %bl,-0x4(%ebp)
4021db:	8d 4f 2c             	lea    0x2c(%edi),%ecx
4021de:	ff 15 30 22 41 00    	call   *0x412230
4021e4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4021e8:	8d 4f 28             	lea    0x28(%edi),%ecx
4021eb:	ff 15 30 22 41 00    	call   *0x412230
4021f1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4021f4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4021fb:	59                   	pop    %ecx
4021fc:	5f                   	pop    %edi
4021fd:	5e                   	pop    %esi
4021fe:	5b                   	pop    %ebx
4021ff:	c9                   	leave
402200:	c3                   	ret
402201:	6a 50                	push   $0x50
402203:	b8 35 f5 40 00       	mov    $0x40f535,%eax
402208:	e8 42 d1 00 00       	call   0x40f34f
40220d:	8b f9                	mov    %ecx,%edi
40220f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
402212:	ff 15 f8 21 41 00    	call   *0x4121f8
402218:	33 db                	xor    %ebx,%ebx
40221a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40221d:	68 0e 00 07 80       	push   $0x8007000e
402222:	ff 15 74 20 41 00    	call   *0x412074
402228:	e8 c7 75 00 00       	call   0x4097f4
40222d:	39 5f 24             	cmp    %ebx,0x24(%edi)
402230:	75 10                	jne    0x402242
402232:	e8 43 68 00 00       	call   0x408a7a
402237:	89 47 24             	mov    %eax,0x24(%edi)
40223a:	85 c0                	test   %eax,%eax
40223c:	0f 84 63 04 00 00    	je     0x4026a5
402242:	39 5f 54             	cmp    %ebx,0x54(%edi)
402245:	75 10                	jne    0x402257
402247:	e8 2e 68 00 00       	call   0x408a7a
40224c:	89 47 54             	mov    %eax,0x54(%edi)
40224f:	85 c0                	test   %eax,%eax
402251:	0f 84 4e 04 00 00    	je     0x4026a5
402257:	39 5f 50             	cmp    %ebx,0x50(%edi)
40225a:	75 1f                	jne    0x40227b
40225c:	be 84 21 00 00       	mov    $0x2184,%esi
402261:	8b ce                	mov    %esi,%ecx
402263:	e8 02 8a 00 00       	call   0x40ac6a
402268:	89 47 50             	mov    %eax,0x50(%edi)
40226b:	85 c0                	test   %eax,%eax
40226d:	0f 84 32 04 00 00    	je     0x4026a5
402273:	88 18                	mov    %bl,(%eax)
402275:	40                   	inc    %eax
402276:	83 ee 01             	sub    $0x1,%esi
402279:	75 f8                	jne    0x402273
40227b:	39 5f 5c             	cmp    %ebx,0x5c(%edi)
40227e:	75 1f                	jne    0x40229f
402280:	be 74 35 00 00       	mov    $0x3574,%esi
402285:	8b ce                	mov    %esi,%ecx
402287:	e8 de 89 00 00       	call   0x40ac6a
40228c:	89 47 5c             	mov    %eax,0x5c(%edi)
40228f:	85 c0                	test   %eax,%eax
402291:	0f 84 0e 04 00 00    	je     0x4026a5
402297:	88 18                	mov    %bl,(%eax)
402299:	40                   	inc    %eax
40229a:	83 ee 01             	sub    $0x1,%esi
40229d:	75 f8                	jne    0x402297
40229f:	39 5f 58             	cmp    %ebx,0x58(%edi)
4022a2:	75 10                	jne    0x4022b4
4022a4:	e8 d1 67 00 00       	call   0x408a7a
4022a9:	89 47 58             	mov    %eax,0x58(%edi)
4022ac:	85 c0                	test   %eax,%eax
4022ae:	0f 84 f1 03 00 00    	je     0x4026a5
4022b4:	39 9f 80 00 00 00    	cmp    %ebx,0x80(%edi)
4022ba:	75 13                	jne    0x4022cf
4022bc:	e8 b9 67 00 00       	call   0x408a7a
4022c1:	89 87 80 00 00 00    	mov    %eax,0x80(%edi)
4022c7:	85 c0                	test   %eax,%eax
4022c9:	0f 84 d6 03 00 00    	je     0x4026a5
4022cf:	8b cf                	mov    %edi,%ecx
4022d1:	e8 6d 48 00 00       	call   0x406b43
4022d6:	85 c0                	test   %eax,%eax
4022d8:	0f 84 c7 03 00 00    	je     0x4026a5
4022de:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4022e2:	53                   	push   %ebx
4022e3:	53                   	push   %ebx
4022e4:	6a 1e                	push   $0x1e
4022e6:	68 00 04 00 00       	push   $0x400
4022eb:	ff 15 e0 20 41 00    	call   *0x4120e0
4022f1:	8b d8                	mov    %eax,%ebx
4022f3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4022f6:	8d 4f 68             	lea    0x68(%edi),%ecx
4022f9:	85 db                	test   %ebx,%ebx
4022fb:	75 37                	jne    0x402334
4022fd:	6a 02                	push   $0x2
4022ff:	ff 15 34 22 41 00    	call   *0x412234
402305:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402308:	6a 04                	push   $0x4
40230a:	59                   	pop    %ecx
40230b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40230e:	8b d0                	mov    %eax,%edx
402310:	89 55 e0             	mov    %edx,-0x20(%ebp)
402313:	85 c9                	test   %ecx,%ecx
402315:	74 0d                	je     0x402324
402317:	c6 02 00             	movb   $0x0,(%edx)
40231a:	42                   	inc    %edx
40231b:	89 55 e0             	mov    %edx,-0x20(%ebp)
40231e:	49                   	dec    %ecx
40231f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
402322:	eb ef                	jmp    0x402313
402324:	6a 02                	push   $0x2
402326:	ba 58 11 40 00       	mov    $0x401158,%edx
40232b:	8b c8                	mov    %eax,%ecx
40232d:	e8 c4 80 00 00       	call   0x40a3f6
402332:	eb 42                	jmp    0x402376
402334:	8d 73 02             	lea    0x2(%ebx),%esi
402337:	56                   	push   %esi
402338:	ff 15 34 22 41 00    	call   *0x412234
40233e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402341:	03 f6                	add    %esi,%esi
402343:	89 75 d4             	mov    %esi,-0x2c(%ebp)
402346:	8b c8                	mov    %eax,%ecx
402348:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40234b:	85 f6                	test   %esi,%esi
40234d:	74 0d                	je     0x40235c
40234f:	c6 01 00             	movb   $0x0,(%ecx)
402352:	41                   	inc    %ecx
402353:	89 4d d8             	mov    %ecx,-0x28(%ebp)
402356:	4e                   	dec    %esi
402357:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40235a:	eb ef                	jmp    0x40234b
40235c:	53                   	push   %ebx
40235d:	50                   	push   %eax
40235e:	6a 1e                	push   $0x1e
402360:	68 00 04 00 00       	push   $0x400
402365:	ff 15 e0 20 41 00    	call   *0x4120e0
40236b:	89 45 e8             	mov    %eax,-0x18(%ebp)
40236e:	85 c0                	test   %eax,%eax
402370:	0f 84 2f 03 00 00    	je     0x4026a5
402376:	6a 00                	push   $0x0
402378:	6a 00                	push   $0x0
40237a:	6a 10                	push   $0x10
40237c:	68 00 04 00 00       	push   $0x400
402381:	ff 15 e0 20 41 00    	call   *0x4120e0
402387:	8b d8                	mov    %eax,%ebx
402389:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40238c:	85 db                	test   %ebx,%ebx
40238e:	0f 84 11 03 00 00    	je     0x4026a5
402394:	8d 73 02             	lea    0x2(%ebx),%esi
402397:	56                   	push   %esi
402398:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40239b:	ff 15 34 22 41 00    	call   *0x412234
4023a1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4023a4:	03 f6                	add    %esi,%esi
4023a6:	89 75 cc             	mov    %esi,-0x34(%ebp)
4023a9:	8b c8                	mov    %eax,%ecx
4023ab:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4023ae:	85 f6                	test   %esi,%esi
4023b0:	74 0d                	je     0x4023bf
4023b2:	c6 01 00             	movb   $0x0,(%ecx)
4023b5:	41                   	inc    %ecx
4023b6:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4023b9:	4e                   	dec    %esi
4023ba:	89 75 cc             	mov    %esi,-0x34(%ebp)
4023bd:	eb ef                	jmp    0x4023ae
4023bf:	53                   	push   %ebx
4023c0:	50                   	push   %eax
4023c1:	6a 10                	push   $0x10
4023c3:	68 00 04 00 00       	push   $0x400
4023c8:	ff 15 e0 20 41 00    	call   *0x4120e0
4023ce:	89 45 e8             	mov    %eax,-0x18(%ebp)
4023d1:	85 c0                	test   %eax,%eax
4023d3:	0f 84 cc 02 00 00    	je     0x4026a5
4023d9:	33 db                	xor    %ebx,%ebx
4023db:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4023de:	21 5f 64             	and    %ebx,0x64(%edi)
4023e1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4023e4:	ff 15 38 22 41 00    	call   *0x412238
4023ea:	8b 40 04             	mov    0x4(%eax),%eax
4023ed:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4023f0:	3b d8                	cmp    %eax,%ebx
4023f2:	7d 76                	jge    0x40246a
4023f4:	6a 01                	push   $0x1
4023f6:	53                   	push   %ebx
4023f7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4023fa:	50                   	push   %eax
4023fb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4023fe:	ff 15 3c 22 41 00    	call   *0x41223c
402404:	89 45 b0             	mov    %eax,-0x50(%ebp)
402407:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40240b:	8b 08                	mov    (%eax),%ecx
40240d:	89 4d ac             	mov    %ecx,-0x54(%ebp)
402410:	e8 20 78 00 00       	call   0x409c35
402415:	8b f0                	mov    %eax,%esi
402417:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40241b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40241e:	ff 15 30 22 41 00    	call   *0x412230
402424:	85 f6                	test   %esi,%esi
402426:	74 37                	je     0x40245f
402428:	6a 01                	push   $0x1
40242a:	53                   	push   %ebx
40242b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40242e:	50                   	push   %eax
40242f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
402432:	ff 15 3c 22 41 00    	call   *0x41223c
402438:	89 45 a8             	mov    %eax,-0x58(%ebp)
40243b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40243f:	8b 08                	mov    (%eax),%ecx
402441:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
402444:	e8 ec 77 00 00       	call   0x409c35
402449:	6b 4f 64 0a          	imul   $0xa,0x64(%edi),%ecx
40244d:	03 c1                	add    %ecx,%eax
40244f:	89 47 64             	mov    %eax,0x64(%edi)
402452:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402456:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
402459:	ff 15 30 22 41 00    	call   *0x412230
40245f:	83 c3 02             	add    $0x2,%ebx
402462:	89 5d e8             	mov    %ebx,-0x18(%ebp)
402465:	e9 77 ff ff ff       	jmp    0x4023e1
40246a:	6a 00                	push   $0x0
40246c:	6a 00                	push   $0x0
40246e:	6a 0f                	push   $0xf
402470:	68 00 04 00 00       	push   $0x400
402475:	ff 15 e0 20 41 00    	call   *0x4120e0
40247b:	8b d8                	mov    %eax,%ebx
40247d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
402480:	85 db                	test   %ebx,%ebx
402482:	0f 84 1d 02 00 00    	je     0x4026a5
402488:	8d 73 02             	lea    0x2(%ebx),%esi
40248b:	8d 4f 6c             	lea    0x6c(%edi),%ecx
40248e:	56                   	push   %esi
40248f:	ff 15 34 22 41 00    	call   *0x412234
402495:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402498:	03 f6                	add    %esi,%esi
40249a:	89 75 bc             	mov    %esi,-0x44(%ebp)
40249d:	8b c8                	mov    %eax,%ecx
40249f:	89 4d c0             	mov    %ecx,-0x40(%ebp)
4024a2:	85 f6                	test   %esi,%esi