425104:	55                   	push   %ebp
425105:	8b ec                	mov    %esp,%ebp
425107:	83 c4 d8             	add    $0xffffffd8,%esp
42510a:	53                   	push   %ebx
42510b:	56                   	push   %esi
42510c:	8b f1                	mov    %ecx,%esi
42510e:	8b da                	mov    %edx,%ebx
425110:	8d 55 d8             	lea    -0x28(%ebp),%edx
425113:	8b 4d 08             	mov    0x8(%ebp),%ecx
425116:	e8 05 ff ff ff       	call   0x425020
42511b:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
42511f:	66 83 f8 08          	cmp    $0x8,%ax
425123:	76 11                	jbe    0x425136
425125:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
42512b:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
42512f:	74 2b                	je     0x42515c
425131:	83 03 0c             	addl   $0xc,(%ebx)
425134:	eb 26                	jmp    0x42515c
425136:	8b 55 f8             	mov    -0x8(%ebp),%edx
425139:	85 d2                	test   %edx,%edx
42513b:	75 14                	jne    0x425151
42513d:	8b c8                	mov    %eax,%ecx
42513f:	b8 01 00 00 00       	mov    $0x1,%eax
425144:	d3 e0                	shl    %cl,%eax
425146:	03 c0                	add    %eax,%eax
425148:	03 c0                	add    %eax,%eax
42514a:	83 c0 28             	add    $0x28,%eax
42514d:	89 03                	mov    %eax,(%ebx)
42514f:	eb 0b                	jmp    0x42515c
425151:	8b c2                	mov    %edx,%eax
425153:	03 c0                	add    %eax,%eax
425155:	03 c0                	add    %eax,%eax
425157:	83 c0 28             	add    $0x28,%eax
42515a:	89 03                	mov    %eax,(%ebx)
42515c:	8b 45 ec             	mov    -0x14(%ebp),%eax
42515f:	89 06                	mov    %eax,(%esi)
425161:	5e                   	pop    %esi
425162:	5b                   	pop    %ebx
425163:	8b e5                	mov    %ebp,%esp
425165:	5d                   	pop    %ebp
425166:	c2 04 00             	ret    $0x4
425169:	8d 40 00             	lea    0x0(%eax),%eax
42516c:	6a 00                	push   $0x0
42516e:	e8 91 ff ff ff       	call   0x425104
425173:	c3                   	ret
425174:	55                   	push   %ebp
425175:	8b ec                	mov    %esp,%ebp
425177:	83 c4 f4             	add    $0xfffffff4,%esp
42517a:	53                   	push   %ebx
42517b:	56                   	push   %esi
42517c:	57                   	push   %edi
42517d:	8b d9                	mov    %ecx,%ebx
42517f:	8b fa                	mov    %edx,%edi
425181:	8b f0                	mov    %eax,%esi
425183:	8b d3                	mov    %ebx,%edx
425185:	8b 4d 08             	mov    0x8(%ebp),%ecx
425188:	8b c6                	mov    %esi,%eax
42518a:	e8 91 fe ff ff       	call   0x425020
42518f:	33 c0                	xor    %eax,%eax
425191:	89 45 f8             	mov    %eax,-0x8(%ebp)
425194:	6a 00                	push   $0x0
425196:	e8 9d 19 fe ff       	call   0x406b38
42519b:	89 45 f4             	mov    %eax,-0xc(%ebp)
42519e:	33 c0                	xor    %eax,%eax
4251a0:	55                   	push   %ebp
4251a1:	68 11 52 42 00       	push   $0x425211
4251a6:	64 ff 30             	push   %fs:(%eax)
4251a9:	64 89 20             	mov    %esp,%fs:(%eax)
4251ac:	85 ff                	test   %edi,%edi
4251ae:	74 18                	je     0x4251c8
4251b0:	6a 00                	push   $0x0
4251b2:	57                   	push   %edi
4251b3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4251b6:	50                   	push   %eax
4251b7:	e8 f4 1a fe ff       	call   0x406cb0
4251bc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4251bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4251c2:	50                   	push   %eax
4251c3:	e8 c0 1a fe ff       	call   0x406c88
4251c8:	6a 00                	push   $0x0
4251ca:	53                   	push   %ebx
4251cb:	8b 45 0c             	mov    0xc(%ebp),%eax
4251ce:	50                   	push   %eax
4251cf:	8b 43 08             	mov    0x8(%ebx),%eax
4251d2:	50                   	push   %eax
4251d3:	6a 00                	push   $0x0
4251d5:	56                   	push   %esi
4251d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
4251d9:	50                   	push   %eax
4251da:	e8 f1 19 fe ff       	call   0x406bd0
4251df:	85 c0                	test   %eax,%eax
4251e1:	0f 95 45 ff          	setne  -0x1(%ebp)
4251e5:	33 c0                	xor    %eax,%eax
4251e7:	5a                   	pop    %edx
4251e8:	59                   	pop    %ecx
4251e9:	59                   	pop    %ecx
4251ea:	64 89 10             	mov    %edx,%fs:(%eax)
4251ed:	68 18 52 42 00       	push   $0x425218
4251f2:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4251f6:	74 0f                	je     0x425207
4251f8:	6a 00                	push   $0x0
4251fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4251fd:	50                   	push   %eax
4251fe:	8b 45 f4             	mov    -0xc(%ebp),%eax
425201:	50                   	push   %eax
425202:	e8 a9 1a fe ff       	call   0x406cb0
425207:	8b 45 f4             	mov    -0xc(%ebp),%eax
42520a:	50                   	push   %eax
42520b:	e8 70 19 fe ff       	call   0x406b80
425210:	c3                   	ret
425211:	e9 72 ee fd ff       	jmp    0x404088
425216:	eb da                	jmp    0x4251f2
425218:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
42521c:	5f                   	pop    %edi
42521d:	5e                   	pop    %esi
42521e:	5b                   	pop    %ebx
42521f:	8b e5                	mov    %ebp,%esp
425221:	5d                   	pop    %ebp
425222:	c2 08 00             	ret    $0x8
425225:	8d 40 00             	lea    0x0(%eax),%eax
425228:	55                   	push   %ebp
425229:	8b ec                	mov    %esp,%ebp
42522b:	53                   	push   %ebx
42522c:	8b 5d 08             	mov    0x8(%ebp),%ebx
42522f:	53                   	push   %ebx
425230:	6a 00                	push   $0x0
425232:	e8 3d ff ff ff       	call   0x425174
425237:	5b                   	pop    %ebx
425238:	5d                   	pop    %ebp
425239:	c2 04 00             	ret    $0x4
42523c:	c3                   	ret
42523d:	8d 40 00             	lea    0x0(%eax),%eax
425240:	85 c0                	test   %eax,%eax
425242:	75 05                	jne    0x425249
425244:	e8 f3 ff ff ff       	call   0x42523c
425249:	c3                   	ret
42524a:	8b c0                	mov    %eax,%eax
42524c:	55                   	push   %ebp
42524d:	8b ec                	mov    %esp,%ebp
42524f:	83 c4 ac             	add    $0xffffffac,%esp
425252:	53                   	push   %ebx
425253:	56                   	push   %esi
425254:	57                   	push   %edi
425255:	88 4d ff             	mov    %cl,-0x1(%ebp)
425258:	8b f2                	mov    %edx,%esi
42525a:	8b d8                	mov    %eax,%ebx
42525c:	8d 45 d6             	lea    -0x2a(%ebp),%eax
42525f:	33 c9                	xor    %ecx,%ecx
425261:	ba 06 00 00 00       	mov    $0x6,%edx
425266:	e8 c5 df fd ff       	call   0x403230
42526b:	8d 45 ac             	lea    -0x54(%ebp),%eax
42526e:	33 c9                	xor    %ecx,%ecx
425270:	ba 10 00 00 00       	mov    $0x10,%edx
425275:	e8 b6 df fd ff       	call   0x403230
42527a:	8d 45 bc             	lea    -0x44(%ebp),%eax
42527d:	50                   	push   %eax
42527e:	56                   	push   %esi
42527f:	e8 5c 1c fe ff       	call   0x406ee0
425284:	e8 b7 ff ff ff       	call   0x425240
425289:	33 d2                	xor    %edx,%edx
42528b:	55                   	push   %ebp
42528c:	68 3c 54 42 00       	push   $0x42543c
425291:	64 ff 32             	push   %fs:(%edx)
425294:	64 89 22             	mov    %esp,%fs:(%edx)
425297:	6a 02                	push   $0x2
425299:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42529c:	8d 55 f8             	lea    -0x8(%ebp),%edx
42529f:	8b 45 c8             	mov    -0x38(%ebp),%eax
4252a2:	e8 5d fe ff ff       	call   0x425104
4252a7:	6a ff                	push   $0xffffffff
4252a9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4252ac:	8d 55 f4             	lea    -0xc(%ebp),%edx
4252af:	8b 45 cc             	mov    -0x34(%ebp),%eax
4252b2:	e8 4d fe ff ff       	call   0x425104
4252b7:	33 c0                	xor    %eax,%eax
4252b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4252bc:	33 c0                	xor    %eax,%eax
4252be:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4252c1:	33 c0                	xor    %eax,%eax
4252c3:	89 45 e0             	mov    %eax,-0x20(%ebp)
4252c6:	33 c0                	xor    %eax,%eax
4252c8:	89 45 dc             	mov    %eax,-0x24(%ebp)
4252cb:	33 d2                	xor    %edx,%edx
4252cd:	55                   	push   %ebp
4252ce:	68 15 54 42 00       	push   $0x425415
4252d3:	64 ff 32             	push   %fs:(%edx)
4252d6:	64 89 22             	mov    %esp,%fs:(%edx)
4252d9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4252dc:	e8 f3 d9 fd ff       	call   0x402cd4
4252e1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4252e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
4252e7:	e8 e8 d9 fd ff       	call   0x402cd4
4252ec:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4252ef:	8b 45 f4             	mov    -0xc(%ebp),%eax
4252f2:	e8 dd d9 fd ff       	call   0x402cd4
4252f7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4252fa:	8b 45 ec             	mov    -0x14(%ebp),%eax
4252fd:	e8 d2 d9 fd ff       	call   0x402cd4
425302:	89 45 dc             	mov    %eax,-0x24(%ebp)
425305:	8b 45 e4             	mov    -0x1c(%ebp),%eax
425308:	50                   	push   %eax
425309:	6a 02                	push   $0x2
42530b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42530e:	33 d2                	xor    %edx,%edx
425310:	8b 45 c8             	mov    -0x38(%ebp),%eax
425313:	e8 5c fe ff ff       	call   0x425174
425318:	8b 45 dc             	mov    -0x24(%ebp),%eax
42531b:	50                   	push   %eax
42531c:	6a ff                	push   $0xffffffff
42531e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
425321:	33 d2                	xor    %edx,%edx
425323:	8b 45 cc             	mov    -0x34(%ebp),%eax
425326:	e8 49 fe ff ff       	call   0x425174
42532b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42532f:	74 1e                	je     0x42534f
425331:	8b 45 f4             	mov    -0xc(%ebp),%eax
425334:	83 c0 16             	add    $0x16,%eax
425337:	03 45 ec             	add    -0x14(%ebp),%eax
42533a:	03 45 f0             	add    -0x10(%ebp),%eax
42533d:	89 45 d0             	mov    %eax,-0x30(%ebp)
425340:	8d 55 d0             	lea    -0x30(%ebp),%edx
425343:	b9 04 00 00 00       	mov    $0x4,%ecx
425348:	8b c3                	mov    %ebx,%eax
42534a:	8b 30                	mov    (%eax),%esi
42534c:	ff 56 10             	call   *0x10(%esi)
42534f:	66 c7 45 d8 01 00    	movw   $0x1,-0x28(%ebp)
425355:	66 c7 45 da 01 00    	movw   $0x1,-0x26(%ebp)
42535b:	8d 55 d6             	lea    -0x2a(%ebp),%edx
42535e:	b9 06 00 00 00       	mov    $0x6,%ecx
425363:	8b c3                	mov    %ebx,%eax
425365:	8b 30                	mov    (%eax),%esi
425367:	ff 56 10             	call   *0x10(%esi)
42536a:	8b 75 e0             	mov    -0x20(%ebp),%esi
42536d:	8b c6                	mov    %esi,%eax
42536f:	0f b6 50 04          	movzbl 0x4(%eax),%edx
425373:	88 55 ac             	mov    %dl,-0x54(%ebp)
425376:	0f b6 50 08          	movzbl 0x8(%eax),%edx
42537a:	88 55 ad             	mov    %dl,-0x53(%ebp)
42537d:	0f b7 50 0c          	movzwl 0xc(%eax),%edx
425381:	66 0f af 50 0e       	imul   0xe(%eax),%dx
425386:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
42538a:	8b 45 f4             	mov    -0xc(%ebp),%eax
42538d:	03 45 ec             	add    -0x14(%ebp),%eax
425390:	03 45 f0             	add    -0x10(%ebp),%eax
425393:	89 45 b4             	mov    %eax,-0x4c(%ebp)
425396:	c7 45 b8 16 00 00 00 	movl   $0x16,-0x48(%ebp)
42539d:	8d 55 ac             	lea    -0x54(%ebp),%edx
4253a0:	b9 10 00 00 00       	mov    $0x10,%ecx
4253a5:	8b c3                	mov    %ebx,%eax
4253a7:	8b 38                	mov    (%eax),%edi
4253a9:	ff 57 10             	call   *0x10(%edi)
4253ac:	8b c6                	mov    %esi,%eax
4253ae:	8b 50 08             	mov    0x8(%eax),%edx
4253b1:	01 50 08             	add    %edx,0x8(%eax)
4253b4:	8b 55 e0             	mov    -0x20(%ebp),%edx
4253b7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4253ba:	8b c3                	mov    %ebx,%eax
4253bc:	8b 30                	mov    (%eax),%esi
4253be:	ff 56 10             	call   *0x10(%esi)
4253c1:	8b 55 dc             	mov    -0x24(%ebp),%edx
4253c4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4253c7:	8b c3                	mov    %ebx,%eax
4253c9:	8b 30                	mov    (%eax),%esi
4253cb:	ff 56 10             	call   *0x10(%esi)
4253ce:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4253d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4253d4:	8b c3                	mov    %ebx,%eax
4253d6:	8b 18                	mov    (%eax),%ebx
4253d8:	ff 53 10             	call   *0x10(%ebx)
4253db:	33 c0                	xor    %eax,%eax
4253dd:	5a                   	pop    %edx
4253de:	59                   	pop    %ecx
4253df:	59                   	pop    %ecx
4253e0:	64 89 10             	mov    %edx,%fs:(%eax)
4253e3:	68 1c 54 42 00       	push   $0x42541c
4253e8:	8b 55 f4             	mov    -0xc(%ebp),%edx
4253eb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4253ee:	e8 15 d9 fd ff       	call   0x402d08
4253f3:	8b 55 ec             	mov    -0x14(%ebp),%edx
4253f6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4253f9:	e8 0a d9 fd ff       	call   0x402d08
4253fe:	8b 55 f8             	mov    -0x8(%ebp),%edx
425401:	8b 45 e8             	mov    -0x18(%ebp),%eax
425404:	e8 ff d8 fd ff       	call   0x402d08
425409:	8b 55 f0             	mov    -0x10(%ebp),%edx
42540c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42540f:	e8 f4 d8 fd ff       	call   0x402d08
425414:	c3                   	ret
425415:	e9 6e ec fd ff       	jmp    0x404088
42541a:	eb cc                	jmp    0x4253e8
42541c:	33 c0                	xor    %eax,%eax
42541e:	5a                   	pop    %edx
42541f:	59                   	pop    %ecx
425420:	59                   	pop    %ecx
425421:	64 89 10             	mov    %edx,%fs:(%eax)
425424:	68 43 54 42 00       	push   $0x425443
425429:	8b 45 cc             	mov    -0x34(%ebp),%eax
42542c:	50                   	push   %eax
42542d:	e8 5e 17 fe ff       	call   0x406b90
425432:	8b 45 c8             	mov    -0x38(%ebp),%eax
425435:	50                   	push   %eax
425436:	e8 55 17 fe ff       	call   0x406b90
42543b:	c3                   	ret
42543c:	e9 47 ec fd ff       	jmp    0x404088
425441:	eb e6                	jmp    0x425429
425443:	5f                   	pop    %edi
425444:	5e                   	pop    %esi
425445:	5b                   	pop    %ebx
425446:	8b e5                	mov    %ebp,%esp
425448:	5d                   	pop    %ebp
425449:	c3                   	ret
42544a:	8b c0                	mov    %eax,%eax
42544c:	53                   	push   %ebx
42544d:	56                   	push   %esi
42544e:	84 d2                	test   %dl,%dl
425450:	74 08                	je     0x42545a
425452:	83 c4 f0             	add    $0xfffffff0,%esp
425455:	e8 be e7 fd ff       	call   0x403c18
42545a:	8b da                	mov    %edx,%ebx
42545c:	8b f0                	mov    %eax,%esi
42545e:	33 d2                	xor    %edx,%edx
425460:	8b c6                	mov    %esi,%eax
425462:	e8 5d e4 fd ff       	call   0x4038c4
425467:	8b c6                	mov    %esi,%eax
425469:	84 db                	test   %bl,%bl
42546b:	74 0f                	je     0x42547c
42546d:	e8 fe e7 fd ff       	call   0x403c70
425472:	64 8f 05 00 00 00 00 	pop    %fs:0x0
425479:	83 c4 0c             	add    $0xc,%esp
42547c:	8b c6                	mov    %esi,%eax
42547e:	5e                   	pop    %esi
42547f:	5b                   	pop    %ebx
425480:	c3                   	ret
425481:	8d 40 00             	lea    0x0(%eax),%eax
425484:	53                   	push   %ebx
425485:	c6 40 20 01          	movb   $0x1,0x20(%eax)
425489:	66 83 78 12 00       	cmpw   $0x0,0x12(%eax)
42548e:	74 0a                	je     0x42549a
425490:	8b d8                	mov    %eax,%ebx
425492:	8b d0                	mov    %eax,%edx
425494:	8b 43 14             	mov    0x14(%ebx),%eax
425497:	ff 53 10             	call   *0x10(%ebx)
42549a:	5b                   	pop    %ebx
42549b:	c3                   	ret
42549c:	55                   	push   %ebp
42549d:	8b ec                	mov    %esp,%ebp
42549f:	53                   	push   %ebx
4254a0:	8b 45 08             	mov    0x8(%ebp),%eax
4254a3:	8b 40 fc             	mov    -0x4(%eax),%eax
4254a6:	83 78 20 00          	cmpl   $0x0,0x20(%eax)