413f1a:	8b d8                	mov    %eax,%ebx
413f1c:	8b c3                	mov    %ebx,%eax
413f1e:	e8 b5 fe ff ff       	call   0x413dd8
413f23:	8b f0                	mov    %eax,%esi
413f25:	85 f6                	test   %esi,%esi
413f27:	7c 09                	jl     0x413f32
413f29:	8b d6                	mov    %esi,%edx
413f2b:	8b c3                	mov    %ebx,%eax
413f2d:	e8 3a fd ff ff       	call   0x413c6c
413f32:	8b c6                	mov    %esi,%eax
413f34:	5e                   	pop    %esi
413f35:	5b                   	pop    %ebx
413f36:	c3                   	ret
413f37:	90                   	nop
413f38:	53                   	push   %ebx
413f39:	56                   	push   %esi
413f3a:	8b f2                	mov    %edx,%esi
413f3c:	8b d8                	mov    %eax,%ebx
413f3e:	3b 73 08             	cmp    0x8(%ebx),%esi
413f41:	7c 08                	jl     0x413f4b
413f43:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
413f49:	7e 0f                	jle    0x413f5a
413f4b:	8b 15 40 dc 46 00    	mov    0x46dc40,%edx
413f51:	8b ce                	mov    %esi,%ecx
413f53:	8b 03                	mov    (%ebx),%eax
413f55:	e8 ae fd ff ff       	call   0x413d08
413f5a:	3b 73 0c             	cmp    0xc(%ebx),%esi
413f5d:	74 10                	je     0x413f6f
413f5f:	8b d6                	mov    %esi,%edx
413f61:	c1 e2 02             	shl    $0x2,%edx
413f64:	8d 43 04             	lea    0x4(%ebx),%eax
413f67:	e8 90 e7 fe ff       	call   0x4026fc
413f6c:	89 73 0c             	mov    %esi,0xc(%ebx)
413f6f:	5e                   	pop    %esi
413f70:	5b                   	pop    %ebx
413f71:	c3                   	ret
413f72:	8b c0                	mov    %eax,%eax
413f74:	53                   	push   %ebx
413f75:	56                   	push   %esi
413f76:	57                   	push   %edi
413f77:	55                   	push   %ebp
413f78:	8b f2                	mov    %edx,%esi
413f7a:	8b d8                	mov    %eax,%ebx
413f7c:	85 f6                	test   %esi,%esi
413f7e:	7c 08                	jl     0x413f88
413f80:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
413f86:	7e 0f                	jle    0x413f97
413f88:	8b 15 ac db 46 00    	mov    0x46dbac,%edx
413f8e:	8b ce                	mov    %esi,%ecx
413f90:	8b 03                	mov    (%ebx),%eax
413f92:	e8 71 fd ff ff       	call   0x413d08
413f97:	3b 73 0c             	cmp    0xc(%ebx),%esi
413f9a:	7e 09                	jle    0x413fa5
413f9c:	8b d6                	mov    %esi,%edx
413f9e:	8b c3                	mov    %ebx,%eax
413fa0:	e8 93 ff ff ff       	call   0x413f38
413fa5:	8b 43 08             	mov    0x8(%ebx),%eax
413fa8:	3b f0                	cmp    %eax,%esi
413faa:	7e 19                	jle    0x413fc5
413fac:	8b 53 04             	mov    0x4(%ebx),%edx
413faf:	8d 14 82             	lea    (%edx,%eax,4),%edx
413fb2:	8b ce                	mov    %esi,%ecx
413fb4:	2b c8                	sub    %eax,%ecx
413fb6:	8b c1                	mov    %ecx,%eax
413fb8:	c1 e0 02             	shl    $0x2,%eax
413fbb:	33 c9                	xor    %ecx,%ecx
413fbd:	92                   	xchg   %eax,%edx
413fbe:	e8 a1 ec fe ff       	call   0x402c64
413fc3:	eb 17                	jmp    0x413fdc
413fc5:	8b e8                	mov    %eax,%ebp
413fc7:	4d                   	dec    %ebp
413fc8:	8b fe                	mov    %esi,%edi
413fca:	2b fd                	sub    %ebp,%edi
413fcc:	7f 0e                	jg     0x413fdc
413fce:	4f                   	dec    %edi
413fcf:	8b d5                	mov    %ebp,%edx
413fd1:	8b c3                	mov    %ebx,%eax
413fd3:	e8 94 fc ff ff       	call   0x413c6c
413fd8:	4d                   	dec    %ebp
413fd9:	47                   	inc    %edi
413fda:	75 f3                	jne    0x413fcf
413fdc:	89 73 08             	mov    %esi,0x8(%ebx)
413fdf:	5d                   	pop    %ebp
413fe0:	5f                   	pop    %edi
413fe1:	5e                   	pop    %esi
413fe2:	5b                   	pop    %ebx
413fe3:	c3                   	ret
413fe4:	c3                   	ret
413fe5:	8d 40 00             	lea    0x0(%eax),%eax
413fe8:	53                   	push   %ebx
413fe9:	56                   	push   %esi
413fea:	84 d2                	test   %dl,%dl
413fec:	74 08                	je     0x413ff6
413fee:	83 c4 f0             	add    $0xfffffff0,%esp
413ff1:	e8 76 f5 fe ff       	call   0x40356c
413ff6:	8b da                	mov    %edx,%ebx
413ff8:	8b f0                	mov    %eax,%esi
413ffa:	33 d2                	xor    %edx,%edx
413ffc:	8b c6                	mov    %esi,%eax
413ffe:	e8 15 f2 fe ff       	call   0x403218
414003:	8d 46 08             	lea    0x8(%esi),%eax
414006:	50                   	push   %eax
414007:	e8 10 21 ff ff       	call   0x40611c
41400c:	b2 01                	mov    $0x1,%dl
41400e:	a1 88 18 41 00       	mov    0x411888,%eax
414013:	e8 00 f2 fe ff       	call   0x403218
414018:	89 46 04             	mov    %eax,0x4(%esi)
41401b:	c6 46 20 00          	movb   $0x0,0x20(%esi)
41401f:	8b c6                	mov    %esi,%eax
414021:	84 db                	test   %bl,%bl
414023:	74 0f                	je     0x414034
414025:	e8 9a f5 fe ff       	call   0x4035c4
41402a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
414031:	83 c4 0c             	add    $0xc,%esp
414034:	8b c6                	mov    %esi,%eax
414036:	5e                   	pop    %esi
414037:	5b                   	pop    %ebx
414038:	c3                   	ret
414039:	8d 40 00             	lea    0x0(%eax),%eax
41403c:	55                   	push   %ebp
41403d:	8b ec                	mov    %esp,%ebp
41403f:	83 c4 f8             	add    $0xfffffff8,%esp
414042:	e8 8d f5 fe ff       	call   0x4035d4
414047:	88 55 fb             	mov    %dl,-0x5(%ebp)
41404a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41404d:	8b 45 fc             	mov    -0x4(%ebp),%eax
414050:	e8 eb 00 00 00       	call   0x414140
414055:	33 c0                	xor    %eax,%eax
414057:	55                   	push   %ebp
414058:	68 9e 40 41 00       	push   $0x41409e
41405d:	64 ff 30             	push   %fs:(%eax)
414060:	64 89 20             	mov    %esp,%fs:(%eax)
414063:	8b 45 fc             	mov    -0x4(%ebp),%eax
414066:	8b 40 04             	mov    0x4(%eax),%eax
414069:	e8 da f1 fe ff       	call   0x403248
41406e:	8a 55 fb             	mov    -0x5(%ebp),%dl
414071:	80 e2 fc             	and    $0xfc,%dl
414074:	8b 45 fc             	mov    -0x4(%ebp),%eax
414077:	e8 bc f1 fe ff       	call   0x403238
41407c:	33 c0                	xor    %eax,%eax
41407e:	5a                   	pop    %edx
41407f:	59                   	pop    %ecx
414080:	59                   	pop    %ecx
414081:	64 89 10             	mov    %edx,%fs:(%eax)
414084:	68 a5 40 41 00       	push   $0x4140a5
414089:	8b 45 fc             	mov    -0x4(%ebp),%eax
41408c:	e8 13 01 00 00       	call   0x4141a4
414091:	8b 45 fc             	mov    -0x4(%ebp),%eax
414094:	83 c0 08             	add    $0x8,%eax
414097:	50                   	push   %eax
414098:	e8 17 1f ff ff       	call   0x405fb4
41409d:	c3                   	ret
41409e:	e9 f9 f8 fe ff       	jmp    0x40399c
4140a3:	eb e4                	jmp    0x414089
4140a5:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
4140a9:	7e 08                	jle    0x4140b3
4140ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
4140ae:	e8 09 f5 fe ff       	call   0x4035bc
4140b3:	59                   	pop    %ecx
4140b4:	59                   	pop    %ecx
4140b5:	5d                   	pop    %ebp
4140b6:	c3                   	ret
4140b7:	90                   	nop
4140b8:	55                   	push   %ebp
4140b9:	8b ec                	mov    %esp,%ebp
4140bb:	51                   	push   %ecx
4140bc:	53                   	push   %ebx
4140bd:	8b da                	mov    %edx,%ebx
4140bf:	89 45 fc             	mov    %eax,-0x4(%ebp)
4140c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4140c5:	e8 76 00 00 00       	call   0x414140
4140ca:	33 c0                	xor    %eax,%eax
4140cc:	55                   	push   %ebp
4140cd:	68 34 41 41 00       	push   $0x414134
4140d2:	64 ff 30             	push   %fs:(%eax)
4140d5:	64 89 20             	mov    %esp,%fs:(%eax)
4140d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4140db:	80 78 20 01          	cmpb   $0x1,0x20(%eax)
4140df:	74 10                	je     0x4140f1
4140e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4140e4:	8b 40 04             	mov    0x4(%eax),%eax
4140e7:	8b d3                	mov    %ebx,%edx
4140e9:	e8 ea fc ff ff       	call   0x413dd8
4140ee:	40                   	inc    %eax
4140ef:	75 0f                	jne    0x414100
4140f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4140f4:	8b 40 04             	mov    0x4(%eax),%eax
4140f7:	8b d3                	mov    %ebx,%edx
4140f9:	e8 22 fb ff ff       	call   0x413c20
4140fe:	eb 1e                	jmp    0x41411e
414100:	8b 45 fc             	mov    -0x4(%ebp),%eax
414103:	80 78 20 02          	cmpb   $0x2,0x20(%eax)
414107:	75 15                	jne    0x41411e
414109:	8b 15 94 db 46 00    	mov    0x46db94,%edx
41410f:	8b 45 fc             	mov    -0x4(%ebp),%eax
414112:	8b 40 04             	mov    0x4(%eax),%eax
414115:	8b 00                	mov    (%eax),%eax
414117:	8b cb                	mov    %ebx,%ecx
414119:	e8 ea fb ff ff       	call   0x413d08
41411e:	33 c0                	xor    %eax,%eax
414120:	5a                   	pop    %edx
414121:	59                   	pop    %ecx
414122:	59                   	pop    %ecx
414123:	64 89 10             	mov    %edx,%fs:(%eax)
414126:	68 3b 41 41 00       	push   $0x41413b
41412b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41412e:	e8 71 00 00 00       	call   0x4141a4
414133:	c3                   	ret
414134:	e9 63 f8 fe ff       	jmp    0x40399c
414139:	eb f0                	jmp    0x41412b
41413b:	5b                   	pop    %ebx
41413c:	59                   	pop    %ecx
41413d:	5d                   	pop    %ebp
41413e:	c3                   	ret
41413f:	90                   	nop
414140:	53                   	push   %ebx
414141:	8b d8                	mov    %eax,%ebx
414143:	8d 43 08             	lea    0x8(%ebx),%eax
414146:	50                   	push   %eax
414147:	e8 70 1e ff ff       	call   0x405fbc
41414c:	8b 43 04             	mov    0x4(%ebx),%eax
41414f:	5b                   	pop    %ebx
414150:	c3                   	ret
414151:	8d 40 00             	lea    0x0(%eax),%eax
414154:	55                   	push   %ebp
414155:	8b ec                	mov    %esp,%ebp
414157:	51                   	push   %ecx
414158:	53                   	push   %ebx
414159:	8b da                	mov    %edx,%ebx
41415b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41415e:	8b 45 fc             	mov    -0x4(%ebp),%eax
414161:	e8 da ff ff ff       	call   0x414140
414166:	33 c0                	xor    %eax,%eax
414168:	55                   	push   %ebp
414169:	68 97 41 41 00       	push   $0x414197
41416e:	64 ff 30             	push   %fs:(%eax)
414171:	64 89 20             	mov    %esp,%fs:(%eax)
414174:	8b 45 fc             	mov    -0x4(%ebp),%eax
414177:	8b 40 04             	mov    0x4(%eax),%eax
41417a:	8b d3                	mov    %ebx,%edx
41417c:	e8 97 fd ff ff       	call   0x413f18
414181:	33 c0                	xor    %eax,%eax
414183:	5a                   	pop    %edx
414184:	59                   	pop    %ecx
414185:	59                   	pop    %ecx
414186:	64 89 10             	mov    %edx,%fs:(%eax)
414189:	68 9e 41 41 00       	push   $0x41419e
41418e:	8b 45 fc             	mov    -0x4(%ebp),%eax
414191:	e8 0e 00 00 00       	call   0x4141a4
414196:	c3                   	ret
414197:	e9 00 f8 fe ff       	jmp    0x40399c
41419c:	eb f0                	jmp    0x41418e
41419e:	5b                   	pop    %ebx
41419f:	59                   	pop    %ecx
4141a0:	5d                   	pop    %ebp
4141a1:	c3                   	ret
4141a2:	8b c0                	mov    %eax,%eax
4141a4:	83 c0 08             	add    $0x8,%eax
4141a7:	50                   	push   %eax
4141a8:	e8 77 1f ff ff       	call   0x406124
4141ad:	c3                   	ret
4141ae:	8b c0                	mov    %eax,%eax
4141b0:	53                   	push   %ebx
4141b1:	56                   	push   %esi
4141b2:	e8 1d f4 fe ff       	call   0x4035d4
4141b7:	8b da                	mov    %edx,%ebx
4141b9:	8b f0                	mov    %eax,%esi
4141bb:	33 d2                	xor    %edx,%edx
4141bd:	8b c6                	mov    %esi,%eax
4141bf:	e8 40 00 00 00       	call   0x414204
4141c4:	8b d3                	mov    %ebx,%edx
4141c6:	80 e2 fc             	and    $0xfc,%dl
4141c9:	8b c6                	mov    %esi,%eax
4141cb:	e8 68 f0 fe ff       	call   0x403238
4141d0:	84 db                	test   %bl,%bl
4141d2:	7e 07                	jle    0x4141db
4141d4:	8b c6                	mov    %esi,%eax
4141d6:	e8 e1 f3 fe ff       	call   0x4035bc
4141db:	5e                   	pop    %esi
4141dc:	5b                   	pop    %ebx
4141dd:	c3                   	ret
4141de:	8b c0                	mov    %eax,%eax
4141e0:	8b 0d 4c dd 46 00    	mov    0x46dd4c,%ecx
4141e6:	b2 01                	mov    $0x1,%dl
4141e8:	a1 b8 16 41 00       	mov    0x4116b8,%eax
4141ed:	e8 32 74 ff ff       	call   0x40b624
4141f2:	e8 dd f7 fe ff       	call   0x4039d4
4141f7:	c3                   	ret
4141f8:	8b c8                	mov    %eax,%ecx
4141fa:	3b d0                	cmp    %eax,%edx
4141fc:	7d 02                	jge    0x414200
4141fe:	8b ca                	mov    %edx,%ecx
414200:	8b c1                	mov    %ecx,%eax
414202:	c3                   	ret
414203:	90                   	nop
414204:	53                   	push   %ebx
414205:	56                   	push   %esi
414206:	57                   	push   %edi
414207:	55                   	push   %ebp
414208:	51                   	push   %ecx
414209:	8b f2                	mov    %edx,%esi
41420b:	8b d8                	mov    %eax,%ebx
41420d:	3b 73 04             	cmp    0x4(%ebx),%esi
414210:	0f 84 8a 00 00 00    	je     0x4142a0
414216:	85 f6                	test   %esi,%esi
414218:	7d 07                	jge    0x414221
41421a:	8b c3                	mov    %ebx,%eax
41421c:	e8 bf ff ff ff       	call   0x4141e0
414221:	8d 46 20             	lea    0x20(%esi),%eax
414224:	48                   	dec    %eax
414225:	85 c0                	test   %eax,%eax
414227:	79 03                	jns    0x41422c
414229:	83 c0 1f             	add    $0x1f,%eax
41422c:	c1 f8 05             	sar    $0x5,%eax
41422f:	8b f8                	mov    %eax,%edi
414231:	c1 e7 02             	shl    $0x2,%edi
414234:	8b 43 04             	mov    0x4(%ebx),%eax
414237:	83 c0 20             	add    $0x20,%eax
41423a:	48                   	dec    %eax
41423b:	85 c0                	test   %eax,%eax
41423d:	79 03                	jns    0x414242
41423f:	83 c0 1f             	add    $0x1f,%eax
414242:	c1 f8 05             	sar    $0x5,%eax
414245:	8b e8                	mov    %eax,%ebp
414247:	c1 e5 02             	shl    $0x2,%ebp
41424a:	3b ef                	cmp    %edi,%ebp
41424c:	74 4f                	je     0x41429d
41424e:	33 c0                	xor    %eax,%eax
414250:	89 04 24             	mov    %eax,(%esp)
414253:	85 ff                	test   %edi,%edi
414255:	74 16                	je     0x41426d
414257:	8b c7                	mov    %edi,%eax
414259:	e8 5e e4 fe ff       	call   0x4026bc
41425e:	89 04 24             	mov    %eax,(%esp)
414261:	8b 04 24             	mov    (%esp),%eax
414264:	33 c9                	xor    %ecx,%ecx
414266:	8b d7                	mov    %edi,%edx
414268:	e8 f7 e9 fe ff       	call   0x402c64
41426d:	85 ed                	test   %ebp,%ebp
41426f:	74 26                	je     0x414297
414271:	83 3c 24 00          	cmpl   $0x0,(%esp)
414275:	74 16                	je     0x41428d
414277:	8b d7                	mov    %edi,%edx
414279:	8b c5                	mov    %ebp,%eax
41427b:	e8 78 ff ff ff       	call   0x4141f8
414280:	8b c8                	mov    %eax,%ecx
414282:	8b 14 24             	mov    (%esp),%edx
414285:	8b 43 08             	mov    0x8(%ebx),%eax
414288:	e8 2b e6 fe ff       	call   0x4028b8
41428d:	8b d5                	mov    %ebp,%edx