42626a:	8b d0                	mov    %eax,%edx
42626c:	83 c0 14             	add    $0x14,%eax
42626f:	eb 06                	jmp    0x426277
426271:	66 33 0a             	xor    (%edx),%cx
426274:	83 c2 02             	add    $0x2,%edx
426277:	3b d0                	cmp    %eax,%edx
426279:	7c f6                	jl     0x426271
42627b:	8b c1                	mov    %ecx,%eax
42627d:	c3                   	ret
42627e:	8b c0                	mov    %eax,%eax
426280:	53                   	push   %ebx
426281:	56                   	push   %esi
426282:	57                   	push   %edi
426283:	83 c4 ac             	add    $0xffffffac,%esp
426286:	8b f1                	mov    %ecx,%esi
426288:	8b da                	mov    %edx,%ebx
42628a:	33 d2                	xor    %edx,%edx
42628c:	89 54 24 18          	mov    %edx,0x18(%esp)
426290:	54                   	push   %esp
426291:	6a 54                	push   $0x54
426293:	50                   	push   %eax
426294:	e8 ef 09 fe ff       	call   0x406c88
426299:	85 c0                	test   %eax,%eax
42629b:	75 07                	jne    0x4262a4
42629d:	e8 4e f1 ff ff       	call   0x4253f0
4262a2:	eb 3f                	jmp    0x4262e3
4262a4:	83 f8 40             	cmp    $0x40,%eax
4262a7:	7c 18                	jl     0x4262c1
4262a9:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
4262ae:	72 11                	jb     0x4262c1
4262b0:	56                   	push   %esi
4262b1:	8b fb                	mov    %ebx,%edi
4262b3:	8d 74 24 1c          	lea    0x1c(%esp),%esi
4262b7:	b9 0a 00 00 00       	mov    $0xa,%ecx
4262bc:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4262be:	5e                   	pop    %esi
4262bf:	eb 22                	jmp    0x4262e3
4262c1:	8b c3                	mov    %ebx,%eax
4262c3:	33 c9                	xor    %ecx,%ecx
4262c5:	ba 28 00 00 00       	mov    $0x28,%edx
4262ca:	e8 89 cf fd ff       	call   0x403258
4262cf:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
4262d5:	8b 44 24 04          	mov    0x4(%esp),%eax
4262d9:	89 43 04             	mov    %eax,0x4(%ebx)
4262dc:	8b 44 24 08          	mov    0x8(%esp),%eax
4262e0:	89 43 08             	mov    %eax,0x8(%ebx)
4262e3:	8b c6                	mov    %esi,%eax
4262e5:	83 e8 02             	sub    $0x2,%eax
4262e8:	74 0f                	je     0x4262f9
4262ea:	48                   	dec    %eax
4262eb:	83 e8 0e             	sub    $0xe,%eax
4262ee:	72 11                	jb     0x426301
4262f0:	2d f0 00 00 00       	sub    $0xf0,%eax
4262f5:	72 15                	jb     0x42630c
4262f7:	eb 1e                	jmp    0x426317
4262f9:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
4262ff:	eb 24                	jmp    0x426325
426301:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
426307:	89 73 20             	mov    %esi,0x20(%ebx)
42630a:	eb 19                	jmp    0x426325
42630c:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
426312:	89 73 20             	mov    %esi,0x20(%ebx)
426315:	eb 0e                	jmp    0x426325
426317:	0f b7 44 24 12       	movzwl 0x12(%esp),%eax
42631c:	66 f7 6c 24 10       	imulw  0x10(%esp)
426321:	66 89 43 0e          	mov    %ax,0xe(%ebx)
426325:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
42632b:	8b 43 20             	mov    0x20(%ebx),%eax
42632e:	3b 43 24             	cmp    0x24(%ebx),%eax
426331:	73 03                	jae    0x426336
426333:	89 43 24             	mov    %eax,0x24(%ebx)
426336:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
42633a:	75 21                	jne    0x42635d
42633c:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
426340:	8b 43 04             	mov    0x4(%ebx),%eax
426343:	b9 20 00 00 00       	mov    $0x20,%ecx
426348:	e8 53 f3 ff ff       	call   0x4256a0
42634d:	8b c8                	mov    %eax,%ecx
42634f:	8b 43 08             	mov    0x8(%ebx),%eax
426352:	99                   	cltd
426353:	33 c2                	xor    %edx,%eax
426355:	2b c2                	sub    %edx,%eax
426357:	0f af c8             	imul   %eax,%ecx
42635a:	89 4b 14             	mov    %ecx,0x14(%ebx)
42635d:	83 c4 54             	add    $0x54,%esp
426360:	5f                   	pop    %edi
426361:	5e                   	pop    %esi
426362:	5b                   	pop    %ebx
426363:	c3                   	ret
426364:	55                   	push   %ebp
426365:	8b ec                	mov    %esp,%ebp
426367:	83 c4 d8             	add    $0xffffffd8,%esp
42636a:	53                   	push   %ebx
42636b:	56                   	push   %esi
42636c:	8b f1                	mov    %ecx,%esi
42636e:	8b da                	mov    %edx,%ebx
426370:	8d 55 d8             	lea    -0x28(%ebp),%edx
426373:	8b 4d 08             	mov    0x8(%ebp),%ecx
426376:	e8 05 ff ff ff       	call   0x426280
42637b:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
42637f:	66 83 f8 08          	cmp    $0x8,%ax
426383:	76 11                	jbe    0x426396
426385:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
42638b:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
42638f:	74 2b                	je     0x4263bc
426391:	83 03 0c             	addl   $0xc,(%ebx)
426394:	eb 26                	jmp    0x4263bc
426396:	8b 55 f8             	mov    -0x8(%ebp),%edx
426399:	85 d2                	test   %edx,%edx
42639b:	75 14                	jne    0x4263b1
42639d:	8b c8                	mov    %eax,%ecx
42639f:	b8 01 00 00 00       	mov    $0x1,%eax
4263a4:	d3 e0                	shl    %cl,%eax
4263a6:	03 c0                	add    %eax,%eax
4263a8:	03 c0                	add    %eax,%eax
4263aa:	83 c0 28             	add    $0x28,%eax
4263ad:	89 03                	mov    %eax,(%ebx)
4263af:	eb 0b                	jmp    0x4263bc
4263b1:	8b c2                	mov    %edx,%eax
4263b3:	03 c0                	add    %eax,%eax
4263b5:	03 c0                	add    %eax,%eax
4263b7:	83 c0 28             	add    $0x28,%eax
4263ba:	89 03                	mov    %eax,(%ebx)
4263bc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4263bf:	89 06                	mov    %eax,(%esi)
4263c1:	5e                   	pop    %esi
4263c2:	5b                   	pop    %ebx
4263c3:	8b e5                	mov    %ebp,%esp
4263c5:	5d                   	pop    %ebp
4263c6:	c2 04 00             	ret    $0x4
4263c9:	8d 40 00             	lea    0x0(%eax),%eax
4263cc:	6a 00                	push   $0x0
4263ce:	e8 91 ff ff ff       	call   0x426364
4263d3:	c3                   	ret
4263d4:	55                   	push   %ebp
4263d5:	8b ec                	mov    %esp,%ebp
4263d7:	83 c4 f4             	add    $0xfffffff4,%esp
4263da:	53                   	push   %ebx
4263db:	56                   	push   %esi
4263dc:	57                   	push   %edi
4263dd:	8b d9                	mov    %ecx,%ebx
4263df:	8b fa                	mov    %edx,%edi
4263e1:	8b f0                	mov    %eax,%esi
4263e3:	8b d3                	mov    %ebx,%edx
4263e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4263e8:	8b c6                	mov    %esi,%eax
4263ea:	e8 91 fe ff ff       	call   0x426280
4263ef:	33 c0                	xor    %eax,%eax
4263f1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4263f4:	6a 00                	push   $0x0
4263f6:	e8 bd 07 fe ff       	call   0x406bb8
4263fb:	89 45 f4             	mov    %eax,-0xc(%ebp)
4263fe:	33 c0                	xor    %eax,%eax
426400:	55                   	push   %ebp
426401:	68 71 64 42 00       	push   $0x426471
426406:	64 ff 30             	push   %fs:(%eax)
426409:	64 89 20             	mov    %esp,%fs:(%eax)
42640c:	85 ff                	test   %edi,%edi
42640e:	74 18                	je     0x426428
426410:	6a 00                	push   $0x0
426412:	57                   	push   %edi
426413:	8b 45 f4             	mov    -0xc(%ebp),%eax
426416:	50                   	push   %eax
426417:	e8 34 09 fe ff       	call   0x406d50
42641c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42641f:	8b 45 f4             	mov    -0xc(%ebp),%eax
426422:	50                   	push   %eax
426423:	e8 f8 08 fe ff       	call   0x406d20
426428:	6a 00                	push   $0x0
42642a:	53                   	push   %ebx
42642b:	8b 45 0c             	mov    0xc(%ebp),%eax
42642e:	50                   	push   %eax
42642f:	8b 43 08             	mov    0x8(%ebx),%eax
426432:	50                   	push   %eax
426433:	6a 00                	push   $0x0
426435:	56                   	push   %esi
426436:	8b 45 f4             	mov    -0xc(%ebp),%eax
426439:	50                   	push   %eax
42643a:	e8 19 08 fe ff       	call   0x406c58
42643f:	85 c0                	test   %eax,%eax
426441:	0f 95 45 ff          	setne  -0x1(%ebp)
426445:	33 c0                	xor    %eax,%eax
426447:	5a                   	pop    %edx
426448:	59                   	pop    %ecx
426449:	59                   	pop    %ecx
42644a:	64 89 10             	mov    %edx,%fs:(%eax)
42644d:	68 78 64 42 00       	push   $0x426478
426452:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
426456:	74 0f                	je     0x426467
426458:	6a 00                	push   $0x0
42645a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42645d:	50                   	push   %eax
42645e:	8b 45 f4             	mov    -0xc(%ebp),%eax
426461:	50                   	push   %eax
426462:	e8 e9 08 fe ff       	call   0x406d50
426467:	8b 45 f4             	mov    -0xc(%ebp),%eax
42646a:	50                   	push   %eax
42646b:	e8 90 07 fe ff       	call   0x406c00
426470:	c3                   	ret
426471:	e9 3a dc fd ff       	jmp    0x4040b0
426476:	eb da                	jmp    0x426452
426478:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
42647c:	5f                   	pop    %edi
42647d:	5e                   	pop    %esi
42647e:	5b                   	pop    %ebx
42647f:	8b e5                	mov    %ebp,%esp
426481:	5d                   	pop    %ebp
426482:	c2 08 00             	ret    $0x8
426485:	8d 40 00             	lea    0x0(%eax),%eax
426488:	55                   	push   %ebp
426489:	8b ec                	mov    %esp,%ebp
42648b:	53                   	push   %ebx
42648c:	8b 5d 08             	mov    0x8(%ebp),%ebx
42648f:	53                   	push   %ebx
426490:	6a 00                	push   $0x0
426492:	e8 3d ff ff ff       	call   0x4263d4
426497:	5b                   	pop    %ebx
426498:	5d                   	pop    %ebp
426499:	c2 04 00             	ret    $0x4
42649c:	c3                   	ret
42649d:	8d 40 00             	lea    0x0(%eax),%eax
4264a0:	85 c0                	test   %eax,%eax
4264a2:	75 05                	jne    0x4264a9
4264a4:	e8 f3 ff ff ff       	call   0x42649c
4264a9:	c3                   	ret
4264aa:	8b c0                	mov    %eax,%eax
4264ac:	55                   	push   %ebp
4264ad:	8b ec                	mov    %esp,%ebp
4264af:	83 c4 ac             	add    $0xffffffac,%esp
4264b2:	53                   	push   %ebx
4264b3:	56                   	push   %esi
4264b4:	57                   	push   %edi
4264b5:	88 4d ff             	mov    %cl,-0x1(%ebp)
4264b8:	8b f2                	mov    %edx,%esi
4264ba:	8b d8                	mov    %eax,%ebx
4264bc:	8d 45 d6             	lea    -0x2a(%ebp),%eax
4264bf:	33 c9                	xor    %ecx,%ecx
4264c1:	ba 06 00 00 00       	mov    $0x6,%edx
4264c6:	e8 8d cd fd ff       	call   0x403258
4264cb:	8d 45 ac             	lea    -0x54(%ebp),%eax
4264ce:	33 c9                	xor    %ecx,%ecx
4264d0:	ba 10 00 00 00       	mov    $0x10,%edx
4264d5:	e8 7e cd fd ff       	call   0x403258
4264da:	8d 45 bc             	lea    -0x44(%ebp),%eax
4264dd:	50                   	push   %eax
4264de:	56                   	push   %esi
4264df:	e8 cc 0a fe ff       	call   0x406fb0
4264e4:	e8 b7 ff ff ff       	call   0x4264a0
4264e9:	33 d2                	xor    %edx,%edx
4264eb:	55                   	push   %ebp
4264ec:	68 9c 66 42 00       	push   $0x42669c
4264f1:	64 ff 32             	push   %fs:(%edx)
4264f4:	64 89 22             	mov    %esp,%fs:(%edx)
4264f7:	6a 02                	push   $0x2
4264f9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4264fc:	8d 55 f8             	lea    -0x8(%ebp),%edx
4264ff:	8b 45 c8             	mov    -0x38(%ebp),%eax
426502:	e8 5d fe ff ff       	call   0x426364
426507:	6a ff                	push   $0xffffffff
426509:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42650c:	8d 55 f4             	lea    -0xc(%ebp),%edx
42650f:	8b 45 cc             	mov    -0x34(%ebp),%eax
426512:	e8 4d fe ff ff       	call   0x426364
426517:	33 c0                	xor    %eax,%eax
426519:	89 45 e8             	mov    %eax,-0x18(%ebp)
42651c:	33 c0                	xor    %eax,%eax
42651e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
426521:	33 c0                	xor    %eax,%eax
426523:	89 45 e0             	mov    %eax,-0x20(%ebp)
426526:	33 c0                	xor    %eax,%eax
426528:	89 45 dc             	mov    %eax,-0x24(%ebp)
42652b:	33 d2                	xor    %edx,%edx
42652d:	55                   	push   %ebp
42652e:	68 75 66 42 00       	push   $0x426675
426533:	64 ff 32             	push   %fs:(%edx)
426536:	64 89 22             	mov    %esp,%fs:(%edx)
426539:	8b 45 f8             	mov    -0x8(%ebp),%eax
42653c:	e8 a3 c7 fd ff       	call   0x402ce4
426541:	89 45 e8             	mov    %eax,-0x18(%ebp)
426544:	8b 45 f0             	mov    -0x10(%ebp),%eax
426547:	e8 98 c7 fd ff       	call   0x402ce4
42654c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42654f:	8b 45 f4             	mov    -0xc(%ebp),%eax
426552:	e8 8d c7 fd ff       	call   0x402ce4
426557:	89 45 e0             	mov    %eax,-0x20(%ebp)
42655a:	8b 45 ec             	mov    -0x14(%ebp),%eax
42655d:	e8 82 c7 fd ff       	call   0x402ce4
426562:	89 45 dc             	mov    %eax,-0x24(%ebp)
426565:	8b 45 e4             	mov    -0x1c(%ebp),%eax
426568:	50                   	push   %eax
426569:	6a 02                	push   $0x2
42656b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42656e:	33 d2                	xor    %edx,%edx
426570:	8b 45 c8             	mov    -0x38(%ebp),%eax
426573:	e8 5c fe ff ff       	call   0x4263d4
426578:	8b 45 dc             	mov    -0x24(%ebp),%eax
42657b:	50                   	push   %eax
42657c:	6a ff                	push   $0xffffffff
42657e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
426581:	33 d2                	xor    %edx,%edx
426583:	8b 45 cc             	mov    -0x34(%ebp),%eax
426586:	e8 49 fe ff ff       	call   0x4263d4
42658b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42658f:	74 1e                	je     0x4265af
426591:	8b 45 f4             	mov    -0xc(%ebp),%eax
426594:	83 c0 16             	add    $0x16,%eax
426597:	03 45 ec             	add    -0x14(%ebp),%eax
42659a:	03 45 f0             	add    -0x10(%ebp),%eax
42659d:	89 45 d0             	mov    %eax,-0x30(%ebp)
4265a0:	8d 55 d0             	lea    -0x30(%ebp),%edx
4265a3:	b9 04 00 00 00       	mov    $0x4,%ecx
4265a8:	8b c3                	mov    %ebx,%eax
4265aa:	8b 30                	mov    (%eax),%esi
4265ac:	ff 56 10             	call   *0x10(%esi)
4265af:	66 c7 45 d8 01 00    	movw   $0x1,-0x28(%ebp)
4265b5:	66 c7 45 da 01 00    	movw   $0x1,-0x26(%ebp)
4265bb:	8d 55 d6             	lea    -0x2a(%ebp),%edx
4265be:	b9 06 00 00 00       	mov    $0x6,%ecx
4265c3:	8b c3                	mov    %ebx,%eax
4265c5:	8b 30                	mov    (%eax),%esi
4265c7:	ff 56 10             	call   *0x10(%esi)
4265ca:	8b 75 e0             	mov    -0x20(%ebp),%esi
4265cd:	8b c6                	mov    %esi,%eax
4265cf:	0f b6 50 04          	movzbl 0x4(%eax),%edx
4265d3:	88 55 ac             	mov    %dl,-0x54(%ebp)
4265d6:	0f b6 50 08          	movzbl 0x8(%eax),%edx
4265da:	88 55 ad             	mov    %dl,-0x53(%ebp)
4265dd:	0f b7 50 0c          	movzwl 0xc(%eax),%edx
4265e1:	66 0f af 50 0e       	imul   0xe(%eax),%dx
4265e6:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
4265ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
4265ed:	03 45 ec             	add    -0x14(%ebp),%eax
4265f0:	03 45 f0             	add    -0x10(%ebp),%eax
4265f3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4265f6:	c7 45 b8 16 00 00 00 	movl   $0x16,-0x48(%ebp)
4265fd:	8d 55 ac             	lea    -0x54(%ebp),%edx
426600:	b9 10 00 00 00       	mov    $0x10,%ecx
426605:	8b c3                	mov    %ebx,%eax
426607:	8b 38                	mov    (%eax),%edi
426609:	ff 57 10             	call   *0x10(%edi)
42660c:	8b c6                	mov    %esi,%eax
42660e:	8b 50 08             	mov    0x8(%eax),%edx
426611:	01 50 08             	add    %edx,0x8(%eax)
426614:	8b 55 e0             	mov    -0x20(%ebp),%edx
426617:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42661a:	8b c3                	mov    %ebx,%eax
42661c:	8b 30                	mov    (%eax),%esi
42661e:	ff 56 10             	call   *0x10(%esi)
426621:	8b 55 dc             	mov    -0x24(%ebp),%edx
426624:	8b 4d ec             	mov    -0x14(%ebp),%ecx