42e01d:	8b ca                	mov    %edx,%ecx
42e01f:	99                   	cltd
42e020:	f7 f9                	idiv   %ecx
42e022:	85 d2                	test   %edx,%edx
42e024:	75 29                	jne    0x42e04f
42e026:	8b c3                	mov    %ebx,%eax
42e028:	8b 10                	mov    (%eax),%edx
42e02a:	ff 52 2c             	call   *0x2c(%edx)
42e02d:	50                   	push   %eax
42e02e:	8b c3                	mov    %ebx,%eax
42e030:	8b 10                	mov    (%eax),%edx
42e032:	ff 52 20             	call   *0x20(%edx)
42e035:	5a                   	pop    %edx
42e036:	92                   	xchg   %eax,%edx
42e037:	8b ca                	mov    %edx,%ecx
42e039:	99                   	cltd
42e03a:	f7 f9                	idiv   %ecx
42e03c:	83 f8 04             	cmp    $0x4,%eax
42e03f:	7e 05                	jle    0x42e046
42e041:	b8 01 00 00 00       	mov    $0x1,%eax
42e046:	8b d0                	mov    %eax,%edx
42e048:	8b c6                	mov    %esi,%eax
42e04a:	e8 05 00 00 00       	call   0x42e054
42e04f:	5e                   	pop    %esi
42e050:	5b                   	pop    %ebx
42e051:	c3                   	ret
42e052:	8b c0                	mov    %eax,%eax
42e054:	53                   	push   %ebx
42e055:	56                   	push   %esi
42e056:	8b da                	mov    %edx,%ebx
42e058:	8b f0                	mov    %eax,%esi
42e05a:	3a 5e 20             	cmp    0x20(%esi),%bl
42e05d:	74 18                	je     0x42e077
42e05f:	84 db                	test   %bl,%bl
42e061:	76 14                	jbe    0x42e077
42e063:	8b c6                	mov    %esi,%eax
42e065:	e8 fe fe ff ff       	call   0x42df68
42e06a:	88 5e 20             	mov    %bl,0x20(%esi)
42e06d:	8b 56 04             	mov    0x4(%esi),%edx
42e070:	8b c6                	mov    %esi,%eax
42e072:	e8 35 ff ff ff       	call   0x42dfac
42e077:	5e                   	pop    %esi
42e078:	5b                   	pop    %ebx
42e079:	c3                   	ret
42e07a:	8b c0                	mov    %eax,%eax
42e07c:	55                   	push   %ebp
42e07d:	8b ec                	mov    %esp,%ebp
42e07f:	83 c4 c8             	add    $0xffffffc8,%esp
42e082:	53                   	push   %ebx
42e083:	56                   	push   %esi
42e084:	57                   	push   %edi
42e085:	88 55 fb             	mov    %dl,-0x5(%ebp)
42e088:	89 45 fc             	mov    %eax,-0x4(%ebp)
42e08b:	80 7d fb 02          	cmpb   $0x2,-0x5(%ebp)
42e08f:	75 0d                	jne    0x42e09e
42e091:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e094:	80 78 20 03          	cmpb   $0x3,0x20(%eax)
42e098:	73 04                	jae    0x42e09e
42e09a:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
42e09e:	33 c0                	xor    %eax,%eax
42e0a0:	8a 45 fb             	mov    -0x5(%ebp),%al
42e0a3:	8b 55 fc             	mov    -0x4(%ebp),%edx
42e0a6:	8b 5c 82 0c          	mov    0xc(%edx,%eax,4),%ebx
42e0aa:	83 fb ff             	cmp    $0xffffffff,%ebx
42e0ad:	0f 85 96 05 00 00    	jne    0x42e649
42e0b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e0b6:	8b 40 04             	mov    0x4(%eax),%eax
42e0b9:	8b 10                	mov    (%eax),%edx
42e0bb:	ff 52 2c             	call   *0x2c(%edx)
42e0be:	8b f0                	mov    %eax,%esi
42e0c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e0c3:	8b 40 04             	mov    0x4(%eax),%eax
42e0c6:	8b 10                	mov    (%eax),%edx
42e0c8:	ff 52 20             	call   *0x20(%edx)
42e0cb:	0b f0                	or     %eax,%esi
42e0cd:	0f 84 76 05 00 00    	je     0x42e649
42e0d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e0d6:	8b 40 04             	mov    0x4(%eax),%eax
42e0d9:	8b 10                	mov    (%eax),%edx
42e0db:	ff 52 2c             	call   *0x2c(%edx)
42e0de:	8b 55 fc             	mov    -0x4(%ebp),%edx
42e0e1:	0f b6 52 20          	movzbl 0x20(%edx),%edx
42e0e5:	8b ca                	mov    %edx,%ecx
42e0e7:	99                   	cltd
42e0e8:	f7 f9                	idiv   %ecx
42e0ea:	8b f8                	mov    %eax,%edi
42e0ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e0ef:	8b 40 04             	mov    0x4(%eax),%eax
42e0f2:	8b 10                	mov    (%eax),%edx
42e0f4:	ff 52 20             	call   *0x20(%edx)
42e0f7:	8b f0                	mov    %eax,%esi
42e0f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e0fc:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42e100:	75 2e                	jne    0x42e130
42e102:	83 3d cc 39 46 00 00 	cmpl   $0x0,0x4639cc
42e109:	75 11                	jne    0x42e11c
42e10b:	b2 01                	mov    $0x1,%dl
42e10d:	a1 94 db 42 00       	mov    0x42db94,%eax
42e112:	e8 5d fc ff ff       	call   0x42dd74
42e117:	a3 cc 39 46 00       	mov    %eax,0x4639cc
42e11c:	8b ce                	mov    %esi,%ecx
42e11e:	8b d7                	mov    %edi,%edx
42e120:	a1 cc 39 46 00       	mov    0x4639cc,%eax
42e125:	e8 be fc ff ff       	call   0x42dde8
42e12a:	8b 55 fc             	mov    -0x4(%ebp),%edx
42e12d:	89 42 08             	mov    %eax,0x8(%edx)
42e130:	b2 01                	mov    $0x1,%dl
42e132:	a1 1c c3 41 00       	mov    0x41c31c,%eax
42e137:	e8 20 42 ff ff       	call   0x42235c
42e13c:	89 45 f4             	mov    %eax,-0xc(%ebp)
42e13f:	33 c0                	xor    %eax,%eax
42e141:	55                   	push   %ebp
42e142:	68 2b e6 42 00       	push   $0x42e62b
42e147:	64 ff 30             	push   %fs:(%eax)
42e14a:	64 89 20             	mov    %esp,%fs:(%eax)
42e14d:	8b d7                	mov    %edi,%edx
42e14f:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e152:	8b 08                	mov    (%eax),%ecx
42e154:	ff 51 40             	call   *0x40(%ecx)
42e157:	8b d6                	mov    %esi,%edx
42e159:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e15c:	8b 08                	mov    (%eax),%ecx
42e15e:	ff 51 34             	call   *0x34(%ecx)
42e161:	56                   	push   %esi
42e162:	8d 45 d8             	lea    -0x28(%ebp),%eax
42e165:	50                   	push   %eax
42e166:	8b cf                	mov    %edi,%ecx
42e168:	33 d2                	xor    %edx,%edx
42e16a:	33 c0                	xor    %eax,%eax
42e16c:	e8 d7 47 fe ff       	call   0x412948
42e171:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e174:	e8 ab 47 ff ff       	call   0x422924
42e179:	8b 40 14             	mov    0x14(%eax),%eax
42e17c:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
42e181:	e8 0e f9 fe ff       	call   0x41da94
42e186:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e189:	8b 40 04             	mov    0x4(%eax),%eax
42e18c:	8b 10                	mov    (%eax),%edx
42e18e:	ff 52 24             	call   *0x24(%edx)
42e191:	e8 56 3f ff ff       	call   0x4220ec
42e196:	8b d0                	mov    %eax,%edx
42e198:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e19b:	8b 08                	mov    (%eax),%ecx
42e19d:	ff 51 38             	call   *0x38(%ecx)
42e1a0:	8a 5d fb             	mov    -0x5(%ebp),%bl
42e1a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e1a6:	3a 58 20             	cmp    0x20(%eax),%bl
42e1a9:	7c 02                	jl     0x42e1ad
42e1ab:	33 db                	xor    %ebx,%ebx
42e1ad:	56                   	push   %esi
42e1ae:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e1b1:	50                   	push   %eax
42e1b2:	33 c9                	xor    %ecx,%ecx
42e1b4:	8a cb                	mov    %bl,%cl
42e1b6:	41                   	inc    %ecx
42e1b7:	0f af cf             	imul   %edi,%ecx
42e1ba:	33 c0                	xor    %eax,%eax
42e1bc:	8a c3                	mov    %bl,%al
42e1be:	f7 ef                	imul   %edi
42e1c0:	33 d2                	xor    %edx,%edx
42e1c2:	e8 81 47 fe ff       	call   0x412948
42e1c7:	8a 45 fb             	mov    -0x5(%ebp),%al
42e1ca:	2c 01                	sub    $0x1,%al
42e1cc:	72 0b                	jb     0x42e1d9
42e1ce:	74 7f                	je     0x42e24f
42e1d0:	48                   	dec    %eax
42e1d1:	2c 02                	sub    $0x2,%al
42e1d3:	0f 83 3c 04 00 00    	jae    0x42e615
42e1d9:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e1dc:	50                   	push   %eax
42e1dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e1e0:	8b 40 04             	mov    0x4(%eax),%eax
42e1e3:	e8 3c 47 ff ff       	call   0x422924
42e1e8:	50                   	push   %eax
42e1e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e1ec:	e8 33 47 ff ff       	call   0x422924
42e1f1:	8d 55 d8             	lea    -0x28(%ebp),%edx
42e1f4:	59                   	pop    %ecx
42e1f5:	e8 0a fb fe ff       	call   0x41dd04
42e1fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e1fd:	8b 40 04             	mov    0x4(%eax),%eax
42e200:	80 78 38 01          	cmpb   $0x1,0x38(%eax)
42e204:	75 25                	jne    0x42e22b
42e206:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e209:	8b 48 1c             	mov    0x1c(%eax),%ecx
42e20c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e20f:	8b 40 08             	mov    0x8(%eax),%eax
42e212:	8b 55 f4             	mov    -0xc(%ebp),%edx
42e215:	e8 fe fa ff ff       	call   0x42dd18
42e21a:	33 d2                	xor    %edx,%edx
42e21c:	8a 55 fb             	mov    -0x5(%ebp),%dl
42e21f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42e222:	89 44 91 0c          	mov    %eax,0xc(%ecx,%edx,4)
42e226:	e9 ea 03 00 00       	jmp    0x42e615
42e22b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e22e:	8b 40 08             	mov    0x8(%eax),%eax
42e231:	b9 00 00 00 20       	mov    $0x20000000,%ecx
42e236:	8b 55 f4             	mov    -0xc(%ebp),%edx
42e239:	e8 da fa ff ff       	call   0x42dd18
42e23e:	33 d2                	xor    %edx,%edx
42e240:	8a 55 fb             	mov    -0x5(%ebp),%dl
42e243:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42e246:	89 44 91 0c          	mov    %eax,0xc(%ecx,%edx,4)
42e24a:	e9 c6 03 00 00       	jmp    0x42e615
42e24f:	33 c0                	xor    %eax,%eax
42e251:	89 45 ec             	mov    %eax,-0x14(%ebp)
42e254:	33 c0                	xor    %eax,%eax
42e256:	89 45 f0             	mov    %eax,-0x10(%ebp)
42e259:	33 c0                	xor    %eax,%eax
42e25b:	55                   	push   %ebp
42e25c:	68 ef e5 42 00       	push   $0x42e5ef
42e261:	64 ff 30             	push   %fs:(%eax)
42e264:	64 89 20             	mov    %esp,%fs:(%eax)
42e267:	b2 01                	mov    $0x1,%dl
42e269:	a1 1c c3 41 00       	mov    0x41c31c,%eax
42e26e:	e8 e9 40 ff ff       	call   0x42235c
42e273:	89 45 ec             	mov    %eax,-0x14(%ebp)
42e276:	b2 01                	mov    $0x1,%dl
42e278:	a1 1c c3 41 00       	mov    0x41c31c,%eax
42e27d:	e8 da 40 ff ff       	call   0x42235c
42e282:	89 45 f0             	mov    %eax,-0x10(%ebp)
42e285:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e288:	8b 50 04             	mov    0x4(%eax),%edx
42e28b:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e28e:	8b 08                	mov    (%eax),%ecx
42e290:	ff 51 08             	call   *0x8(%ecx)
42e293:	b2 01                	mov    $0x1,%dl
42e295:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e298:	8b 08                	mov    (%eax),%ecx
42e29a:	ff 51 6c             	call   *0x6c(%ecx)
42e29d:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e2a0:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
42e2a4:	0f 86 d8 01 00 00    	jbe    0x42e482
42e2aa:	8b 45 f4             	mov    -0xc(%ebp),%eax
42e2ad:	e8 72 46 ff ff       	call   0x422924
42e2b2:	89 45 e8             	mov    %eax,-0x18(%ebp)
42e2b5:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e2b8:	50                   	push   %eax
42e2b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e2bc:	e8 63 46 ff ff       	call   0x422924
42e2c1:	8b c8                	mov    %eax,%ecx
42e2c3:	8d 55 d8             	lea    -0x28(%ebp),%edx
42e2c6:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e2c9:	e8 36 fa fe ff       	call   0x41dd04
42e2ce:	b2 01                	mov    $0x1,%dl
42e2d0:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e2d3:	e8 1c 54 ff ff       	call   0x4236f4
42e2d8:	8b d7                	mov    %edi,%edx
42e2da:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e2dd:	8b 08                	mov    (%eax),%ecx
42e2df:	ff 51 40             	call   *0x40(%ecx)
42e2e2:	8b d6                	mov    %esi,%edx
42e2e4:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e2e7:	8b 08                	mov    (%eax),%ecx
42e2e9:	ff 51 34             	call   *0x34(%ecx)
42e2ec:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e2ef:	e8 30 46 ff ff       	call   0x422924
42e2f4:	8b 40 14             	mov    0x14(%eax),%eax
42e2f7:	ba ff ff ff 00       	mov    $0xffffff,%edx
42e2fc:	e8 93 f7 fe ff       	call   0x41da94
42e301:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e304:	50                   	push   %eax
42e305:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e308:	e8 17 46 ff ff       	call   0x422924
42e30d:	50                   	push   %eax
42e30e:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e311:	e8 0e 46 ff ff       	call   0x422924
42e316:	8d 55 d8             	lea    -0x28(%ebp),%edx
42e319:	59                   	pop    %ecx
42e31a:	e8 e5 f9 fe ff       	call   0x41dd04
42e31f:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e322:	8b 40 14             	mov    0x14(%eax),%eax
42e325:	ba 14 00 00 ff       	mov    $0xff000014,%edx
42e32a:	e8 65 f7 fe ff       	call   0x41da94
42e32f:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e332:	e8 a5 fe fe ff       	call   0x41e1dc
42e337:	8b d8                	mov    %eax,%ebx
42e339:	6a 00                	push   $0x0
42e33b:	53                   	push   %ebx
42e33c:	e8 93 80 fd ff       	call   0x4063d4
42e341:	68 ff ff ff 00       	push   $0xffffff
42e346:	53                   	push   %ebx
42e347:	e8 48 80 fd ff       	call   0x406394
42e34c:	68 46 07 e2 00       	push   $0xe20746
42e351:	6a 00                	push   $0x0
42e353:	6a 00                	push   $0x0
42e355:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e358:	e8 c7 45 ff ff       	call   0x422924
42e35d:	e8 7a fe fe ff       	call   0x41e1dc
42e362:	50                   	push   %eax
42e363:	56                   	push   %esi
42e364:	57                   	push   %edi
42e365:	6a 00                	push   $0x0
42e367:	6a 00                	push   $0x0
42e369:	53                   	push   %ebx
42e36a:	e8 6d 7e fd ff       	call   0x4061dc
42e36f:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e372:	e8 ad 45 ff ff       	call   0x422924
42e377:	8b 40 14             	mov    0x14(%eax),%eax
42e37a:	ba 80 80 80 00       	mov    $0x808080,%edx
42e37f:	e8 10 f7 fe ff       	call   0x41da94
42e384:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e387:	50                   	push   %eax
42e388:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e38b:	e8 94 45 ff ff       	call   0x422924
42e390:	50                   	push   %eax
42e391:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e394:	e8 8b 45 ff ff       	call   0x422924
42e399:	8d 55 d8             	lea    -0x28(%ebp),%edx
42e39c:	59                   	pop    %ecx
42e39d:	e8 62 f9 fe ff       	call   0x41dd04
42e3a2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e3a5:	8b 40 14             	mov    0x14(%eax),%eax
42e3a8:	ba 10 00 00 ff       	mov    $0xff000010,%edx
42e3ad:	e8 e2 f6 fe ff       	call   0x41da94
42e3b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e3b5:	e8 22 fe fe ff       	call   0x41e1dc
42e3ba:	8b d8                	mov    %eax,%ebx
42e3bc:	6a 00                	push   $0x0
42e3be:	53                   	push   %ebx
42e3bf:	e8 10 80 fd ff       	call   0x4063d4
42e3c4:	68 ff ff ff 00       	push   $0xffffff
42e3c9:	53                   	push   %ebx
42e3ca:	e8 c5 7f fd ff       	call   0x406394
42e3cf:	68 46 07 e2 00       	push   $0xe20746
42e3d4:	6a 00                	push   $0x0
42e3d6:	6a 00                	push   $0x0
42e3d8:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e3db:	e8 44 45 ff ff       	call   0x422924
42e3e0:	e8 f7 fd fe ff       	call   0x41e1dc
42e3e5:	50                   	push   %eax
42e3e6:	56                   	push   %esi
42e3e7:	57                   	push   %edi
42e3e8:	6a 00                	push   $0x0
42e3ea:	6a 00                	push   $0x0
42e3ec:	53                   	push   %ebx
42e3ed:	e8 ea 7d fd ff       	call   0x4061dc
42e3f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e3f5:	8b 40 1c             	mov    0x1c(%eax),%eax
42e3f8:	e8 0b ea fe ff       	call   0x41ce08
42e3fd:	50                   	push   %eax
42e3fe:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e401:	e8 1e 45 ff ff       	call   0x422924
42e406:	8b 40 14             	mov    0x14(%eax),%eax
42e409:	5a                   	pop    %edx
42e40a:	e8 85 f6 fe ff       	call   0x41da94
42e40f:	8d 45 c8             	lea    -0x38(%ebp),%eax
42e412:	50                   	push   %eax
42e413:	8b 45 f0             	mov    -0x10(%ebp),%eax
42e416:	e8 09 45 ff ff       	call   0x422924